HICON ExtractIcon(
HINSTANCE hInst, // instance handle
LPCTSTR lpszExeFileName, // filename of file with icon
UINT nIconIndex // index of icon to extract
); 以上这个只是提取exe或者dll 等的图标我用下面的这个
uses ShellApi;
procedure TForm1.Button1Click(Sender: TObject);
var
FileInfo: TSHFileInfo;
begin
if OpenDialog1.Execute then
begin
FileInfo.iIcon := 0;
SHGetFileInfo(PChar(OpenDialog1.FileName), 0, FileInfo, SizeOf(TSHFileInfo),SHGFI_ICON or SHGFI_LARGEICON);
Image1.picture.Icon.Handle := FileInfo.hIcon;
end;
end; 但是提取出来的图标比较小,我看了一下,最大只有32*32的
我用别人写好的程序提取出来的图标可以有50*50的,同样一个文件,为什么提取出来的图标大小不一样呢,是不是别人的程序用的别的方法?
非常感谢!
解决方案 »
- delphi dbgrid 跳转行
- 退出程序很难吗?为什么我这么做是不行的,应该怎么做呢?
- 谁有控件报表源程序,任何数据库的都行,ACCESSS或MS SQL最好,200分相送
- 用MapiSendMail是否可以发送html邮件,如何处理?
- 出现一个很奇怪的问题,高手请进!
- 有没有不用连接数据库就能直接在代码中插入多条记录的TDATASET
- 如何让显示器打个吨儿--进入休眠状态?
- InstallShield专题论坛,诚邀您的加盟!!!
- @@@@@@@@@@@@@@@@关于报表线的问题@@@@@@@@@@@@@@@
- 特简单的问题:怎么只产生单元(一个函数单元),不要form?只知道添加form才能添加单元.
- 谁有自动回帖机
- 将数据表字段内容显示至combobox中的问题
也很可能是直接操作resource读出来的,不过这种方法对加壳的文件很可能会出问题
你找的应该是48x48
......
If this value is -1, the function returns the total number of icons in the specified file. If the file is an executable file or DLL, the return value is the number of RT_GROUP_ICON resources. If the file is an .ICO file, the return value is 1.
......