C++ 获取资源管理器当前路径 - Win API 实现
C++ 通过 Win API 获取资源管理器当前路径
可以使用以下方法来实现:
- 获取当前鼠标点击的窗口句柄
可以使用 GetForegroundWindow() 函数获取当前活动窗口的句柄。
- 获取窗口类名
可以使用 GetClassName() 函数获取窗口的类名,如果类名为'CabinetWClass',则表示当前窗口为资源管理器窗口。
- 获取资源管理器路径
可以使用 SendMessage() 函数向资源管理器窗口发送 WM_GETTEXT 消息,以获取资源管理器的路径。
下面是一个示例代码:
#include <Windows.h>
#include <iostream>
int main()
{
// 获取当前鼠标点击的窗口句柄
HWND hwnd = GetForegroundWindow();
// 获取窗口类名
char classname[256];
GetClassName(hwnd, classname, 256);
// 判断是否为资源管理器窗口
if (strcmp(classname, "CabinetWClass") == 0)
{
// 获取资源管理器路径
char path[MAX_PATH];
SendMessage(hwnd, WM_GETTEXT, MAX_PATH, (LPARAM)path);
// 输出路径
std::cout << "Resource manager path: " << path << std::endl;
}
else
{
std::cout << "Not a resource manager window." << std::endl;
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/oD6L 著作权归作者所有。请勿转载和采集!