function GetFileIcon(const Filename:String; SmallIcon:Boolean):HICON;
var info:TSHFILEINFO;
Flag: Integer;
begin
if SmallIcon then Flag:=(SHGFI_SMALLICON or SHGFI_ICON)
else Flag:=(SHGFI_LARGEICON or SHGFI_ICON);
SHGetFileInfo(Pchar(Filename),0,info,Sizeof(info),Flag);
Result:=info.hIcon;
end;
解决方案 »
- TreeView的二级科目如何按排序来显示?
- delphi2007中,写OCX控件的问题,在线等待....
- 今天高兴呢!散分....
- 为一个程序员的母亲申冤
- 请问怎样改变当前目录到指定的目录?谢谢~
- 请问如何文本中的数据存入多维数组中??急!!!
- DataSource的问题?
- 求助﹕哪位大哥能提供非试用版的activeskin或与activeskin功能相近的控件下载站点!(美化控件)﹗﹗
- 在delphi程序中删除dbf数据表中的内容,然后打开dbf,发现数据并没有真正删除 ……
- 简单的sql语句
- 假设我做了一部分窗口,然后将它作成Dll文件,在别的应用程序里如何调用?
- 在QUERY.SQL.ADD(…………中,用一个字符变量的话,怎么加那些' " +啊?
var
i:integer;
icon:hicon;
ll:ticon;
begin
with listbox1.items do
for i:=0 to count-1 do ticon(objects[i]).free;
listbox1.clear;
i:=0;
repeat
icon:=ExtractIcon(hinstance,pchar(filelistbox1.filename),i);
if icon<>0 then
begin
ll:=ticon.create;
ll.handle:=icon;
listbox1.Items.Addobject('',ll);
end;
inc(i);
until icon=0;
end;procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
icon:ticon;
begin
with (control as tlistbox).canvas do
begin
fillrect(rect);
icon:=ticon(listbox1.items.objects[index]);
if icon<>nil then
begin
draw(rect.left+(39-icon.width)div 2,rect.top+(39-icon.height)div 2,icon);
end;
end;
end;
TheIcon: TIcon;
begin
TheIcon := TIcon.Create;
TheIcon.Handle := ExtractIcon(hInstance,
'C:\SOMEPATH\SOMEPROG.EXE',
0);
{对icon进行一些操作}
TheIcon.Free;
end;
帮你找资料,累S我了~~~呵呵呵,不用那么麻烦吧楼上的~~
有一个api函数GetClassLong可以返回自身窗口类的图标句柄
如下:
HICON hIcon=GetClassLong(hwnd,GCL_HICON);
试试吧 当然,在这之间,你必须知道"外部已经运行的程序"的句柄了~~
千万别再问我这个了(FindWindow)!!!!!!
风过西窗客渡舟船无觅处
年年一川新草遥看却似旧