Delphi 如何获取桌面图标方法


本文整理自网络,侵删。

 program Project1;


uses
Windows,
SysUtils;

function GetDesktopHwnd(): HWND;
var
hWin: HWND;
bufClassName: array[0..255] of Char;
begin
//取得窗体的HWND
hWin := FindWindow('Progman', nil);
//取得窗体的下一个HWND
hWin := GetWindow(hWin, GW_CHILD);
GetClassName(hWin, bufClassName, 255);
while Trim(bufClassName) <> 'SHELLDLL_DefView' do
begin
if hWin <> 0 then
begin
hWin := GetNextWindow(hWin, GW_HWNDNEXT);
GetClassName(hWin, bufClassName, 255);
end
else
begin
Result := hWin;
Exit;
end;
end;
hWin := GetWindow(hWin, GW_CHILD);
GetClassName(hWin, bufClassName, 255);
while Trim(bufClassName) <> 'SysListView32' do
begin
if hWin <> 0 then
begin
hWin := GetNextWindow(hWin, GW_HWNDNEXT);
GetClassName(hWin, bufClassName, 255);
end
else
begin
Result := hWin;
Exit;
end;
end;
OutputDebugString(PChar(IntToStr(hWin)));
Result := hWin;
end;

procedure SetDesktopSmallIcon();
var
hWin: HWND;
WinStyle: Integer;
begin
hWin := GetDesktopHwnd;
if hWin <> 0 then
begin
WinStyle := GetWindowLong(hWin, GWL_STYLE);
SetWindowLong(hWin, GWL_STYLE, (WinStyle xor $0002));
end;
end;

begin
SetDesktopSmallIcon();
end

相关阅读 >>

Delphi 显示程序占用内存多少

Delphi获取ie路径

Delphi 另类计算程序代码运行耗时

Delphi 的 tstringbuilder 可以完美实现jave ,c#的tstringbuilder功能

Delphi 判断网站文件是否存在

Delphi vclskin 5.40在2010安装方法

Delphi 2009 中的泛型

Delphi shellexecute调用系统命令关闭计算机

Delphi xe可执行文件上启用dep和aslr

Delphi侦测条码枪方式

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...