• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi开发桌面图标列表查看程序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

桌面图标太多的时候总是显示不开,但是在Windows里面查看很多文件的时候可以列表形式查看,但是桌面不行了,所以我自己研究了一下,写了一个桌面图标列表查看的工具

这个工具运行第一次是列表查看,再运行就是正常查看,非常简单程序运行后便结束,不会占用内存,加载在启动里面这样每次进入桌面图标便会是列表方式查看了

 

 

两种查看方式的对比

program Project1;

//作者:孙占伟
//[email protected]

uses
  Windows,
  SysUtils;

function GetDesktopHwnd(): HWND;
var
  hWin: HWND;
  bufClassName: 
array[0..255of 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.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB中的常用函数发布时间:2022-07-18
下一篇:
MATLAB学习1之画图函数发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap