12

Objective-C と Cocoa を使用して、ユーザーのコンピュータのアイコン (Finder の「デバイス」と「ネットワーク」の下に表示されるアイコン) を取得する方法を知っている人はいますか? ハードディスクのアイコンではなく、ユーザーのデバイスの実際のアイコンです。MacBook のアイコンから Mac Pro のアイコン、Windows のブルー スクリーン オブ デス モニターのアイコンまでさまざまです。

私は次の行に沿って試してみました:

NSImage *icon = [[NSWorkspace sharedWorkspace] 
                  iconForFileType: NSFileTypeForHFSTypeCode(kComputerIcon)];

しかし、それは常に同じアイコンを返すだけです。私もこのiconForFile:方法を試しましたが、パラメータとして使用するファイル パスがわかりません。誰かが私を正しい方向に向けることができますか?

4

3 に答える 3

28
[NSImage imageNamed: NSImageNameComputer]

これにより、現在のコンピューターのアイコンが返されます

于 2009-09-04T23:19:55.633 に答える
5

他のシステム アイコンを探している場合は、「IconCollection」と呼ばれる Apple のサンプル プロジェクトをチェックしてください。http://developer.apple.com/mac/library/samplecode/IconCollection/listing5.html

サンプルには、次を使用してアクセスできるかなりの数のシステム アイコンの名前とコードを含む plist ファイルが付属しています。

OSType code = UTGetOSTypeFromString((CFStringRef)codeStr);
NSImage *picture = [[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(code)];

ここで、codeStr は、icons.plist で提供されるアイコンの文字列コードです。

于 2009-09-05T15:52:39.483 に答える