Mar*_*o29 5 c++ windows winapi
所以我试图制作应用程序来获取我的资源管理器列表视图的内容并从中获取项目文本等,但这里有问题......
如果我使用列表视图检查 Windows 资源管理器文件夹(使用间谍++),仅出于测试目的,我将使用随机文件夹。
它显示窗口的标题是“FolderView”,类为“SysListView32”,嵌套此列表视图的顶层窗口称为“reference”,这也是所有文件所在的 Windows 资源管理器文件夹的标题。
所以我所做的是..
HWND hWndLV = FindWindow(NULL, TEXT("reference")); // first i get hwnd of the main window, this is where listview window is also nested according to spy++, thats why i do this first.
HWND child = FindWindowEx(hWndLV, NULL,NULL,TEXT("FolderView")); // trying to get hwnd of the listview here but it fails, same happens if i also put the class name along as
HWND child = FindWindowEx(hWndLV, NULL,TEXT("SysListView32"),TEXT("FolderView"));
Run Code Online (Sandbox Code Playgroud)
我用来bool test = IsWindow(child);测试失败,VS 调试器0x0000000000每次都会显示,所以我确信我读得很好。
所以我坚持这个对大多数人来说可能很简单的事情:(
PS我在vista64上(如果这很重要的话)
编辑:看来只有当我搜索我正在搜索的父窗口的第一个嵌套级别时,此功能才有效。所以我认为我需要的是一种处理某种深层嵌套级别搜索的方法。
我还尝试一步步定义每个父级的 hwnd,然后我在上面使用 findwindowex,但是天哪,然后我发现有 5 个嵌套窗口都具有相同的名称,并且其中只有一个包含我的列表视图,所以不错啊?
如果您有主窗口的句柄(FindWindow例如使用),则可以使用EnumChildWindows枚举其子窗口。
| 归档时间: |
|
| 查看次数: |
2397 次 |
| 最近记录: |