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


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

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

     

    两种查看方式的对比

    program Project1;

    //作者:孙占伟
    //sun_catboy@sohu.com

    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.

  • 相关阅读:
    select中添加、修改、删除option元素
    asp之ajax技术:responstext中文乱码
    JAVA中的AJAX技术
    asp之IIS服务器:Windows2003 IIS6服务器上传文件不能超过200k解决方案
    ghost系统安装盘与普通安装盘有何区别?
    简单破解忘记Windows密码的解决方法
    删除用户账户密码
    asp数据库 rs.open语句详解
    asp函数 生成随机数
    microsoft Report view项目部署出错
  • 原文地址:https://www.cnblogs.com/sun_catboy/p/1429131.html
Copyright © 2020-2023  润新知