本文整理自网络,侵删。
桌面图标太多的时候总是显示不开,但是在Windows里面查看很多文件的时候可以列表形式查看,但是桌面不行了,所以我自己研究了一下,写了一个桌面图标列表查看的工具
这个工具运行第一次是列表查看,再运行就是正常查看,非常简单程序运行后便结束,不会占用内存,加载在启动里面这样每次进入桌面图标便会是列表方式查看了

两种查看方式的对比
program Project1;
//作者:孙占伟//sun_catboy@sohu.com
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.
来源:https://www.cnblogs.com/sun_catboy/archive/2009/04/03/1429131.html
相关阅读 >>
Delphi文件 fileopen 、fileseek等的用法(看红色字体)
Delphi tfinddialog treplacedialog对话框在memo中的使用
Delphi 几个dataset数据导出到xml word excel txt html的函数
Delphi 创建win桌面快捷方式,实现360桌面图标数字提示 或 类似安卓的右上角的数字提示
更多相关阅读请进入《Delphi》频道 >>