关于系统图标问题:请进(100分)

  • 主题发起人 主题发起人 凤冠坡
  • 开始时间 开始时间

凤冠坡

Unregistered / Unconfirmed
GUEST, unregistred user!
注册表键:
HKEY_CLASSES_ROOT/batfile/DefaultIcon
默认值是:
C:/WINDOWS/SYSTEM/shell32.dll,-153
如何根据这些得到 bat 类型文件图标?
关键是这个 -153 如何理解??
 
已经解决,来者送分
 
怎么解决的。给大家说个所以然啊.^&^有分拿
 
嗯,听课拿分
 
呵呵:)接分!
 
我也接几个分
 
多人接受答案了。
 
-153 表示读取的是图标资源序号
 
procedure TForm1.Button3Click(Sender: TObject);
var
LibHandle: HINST;
Icon: HICon;
begin
LibHandle := LoadLibrary('C:/windows/system/shell32.dll');
// 需要取图标的文件名
if LibHandle = 0 then
begin
MessageBox(0, PChar(SysErrorMessage(GetLastError)), 'Error', MB_OK);
FreeLibrary(LibHandle);
exit;
end;
ICON := HICON(LoadImage(LibHandle, MakeIntResource(151), IMAGE_ICON, 0, 0, 0));
Image1.Picture.Icon.Handle := ICON;
// 放到一个 Image 控件中
Image1.Picture.Icon.SaveToFile('1001.ico');
FreeLibrary(LibHandle);
end;
 
后退
顶部