HICON ExtractAssociatedIcon( > HINSTANCE hInst, // application instance handle > LPTSTR lpIconPath, // name of file > LPWORD lpiIcon // pointer to icon index >); DECLARE INTEGER ExtractAssociatedIcon IN SHELL32 ; INTEGER hInst, ; STRING @ lpIconpath, ; SHORT @ lpiIcon SHORT is not officially supported. You can use INTEGER @ instead, and use positive values of 0 - 32K or a -1 for the third argument. Under VFP6, DECLARE...DLL accepts the SHORT declaration in spite of it not being documented as accepting such. The return from the function is an Icon Handle, used by other Icon-related API calls. The string passed as the second argument is the full path of the icon source. The third parameter indicates which icon to return, a value 0-32K is the icon index, a -1 returns the number of embedded icons from the function for the IconPath file, for use in referencing in a second call.