Using Objective-C and Cocoa, does anyone know how to get the icon for a user's computer (the one that shows under "Devices" and "Network" in Finder)? Not the harddisk icon, the actual one for a user's device. It ranges from a MacBook icon to the Mac Pro icon to a Windows blue screen of death monitor icon.
I've tried stuff along the following lines:
NSImage *icon = [[NSWorkspace sharedWorkspace]
iconForFileType: NSFileTypeForHFSTypeCode(kComputerIcon)];
But that just returns the same icon all the time, obviously. I've also tried the iconForFile:
method but I don't know of a file path to use as the parameter. Can anybody point me in the right direction?
[NSImage imageNamed: NSImageNameComputer]
This will return the icon of the current computer
Another place to look for icons:
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources
You can create NSImage objects with the files in there like this:
[[NSImage alloc] initWithContentsOfFile:@"/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.macbook-unibody.icns"];
It's probably not recommended to hard-code the value like that, however, since Apple may change the icons' locations. There is a file called IconsCore.h that contains many other constant values such as 'kToolbarDesktopFolderIcon' which can be used as follows:
[[NSWorkspace sharedWorkspace] iconForFileType: NSFileTypeForHFSTypeCode(kToolbarDesktopFolderIcon)];
I believe these constants only work in Snow Leopard, though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With