本文整理自网络,侵删。
桌面图标太多的时候总是显示不开,但是在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 applicationevents1 webbrowser1屏蔽右键菜单
ttreeview的两个事件ondragdrop、ondragover 实现自动拖放功能
更多相关阅读请进入《Delphi》频道 >>