获得桌面图标所在窗口 您所在的位置:网站首页 桌面图标上有个填对号的方块 获得桌面图标所在窗口

获得桌面图标所在窗口

2023-04-19 01:56| 来源: 网络整理| 查看: 265

获得桌面图标所在窗口--兼容Win7 原创

mb643d15e043b20 2015-09-15 19:53:28 博主文章分类:delphi ©著作权

文章标签 Boo 父窗口 High 文章分类 Python 后端开发

©著作权归作者所有:来自51CTO博客作者mb643d15e043b20的原创作品,请联系作者获取转载授权,否则将追究法律责任

Win7父窗口类名是 WorkerW,但是WorkerW有多个

function Find_Window(XParent: HWND; XFromIndex: Integer; const XClassNames: array of string): HWND; var LName: string; LChild: HWND; begin Result := XParent; if (XFromIndex < Low(XClassNames)) or (XFromIndex > High(XClassNames)) then begin Exit; end; LName := XClassNames[XFromIndex]; LChild := 0; while True do begin LChild := FindWindowEx(XParent, LChild, PChar(LName), nil); if LChild = 0 then begin Result := 0; Exit; end; Result := Find_Window(LChild, XFromIndex + 1, XClassNames); if Result 0 then Exit; end; end; function FindDesktopIconWindow(var RetParent, RetChild: HWND): Boolean; var LDesktop: HWND; begin LDesktop := GetDesktopWindow; RetChild := Find_Window(LDesktop, 0, ['Progman', 'SHELLDLL_DefView', 'SysListView32']); if RetChild = 0 then begin RetChild := Find_Window(LDesktop, 0, ['WorkerW', 'SHELLDLL_DefView', 'SysListView32']); end; if RetChild 0 then begin RetParent := GetParent(GetParent(RetChild)); end; Result := (RetChild 0) and (RetParent 0) and (RetParent LDesktop); end; 收藏 评论 分享 举报

上一篇:win8下开发软件的安装

下一篇:不结束进程卸载关键进程中DLL文件的方法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有