C++ 获取资源管理器当前路径:Win API 实现
以下是通过 Win API 和 C++ 获取资源管理器路径的示例代码:
#include <iostream>
#include <windows.h>
int main()
{
HWND hwnd = GetForegroundWindow(); // 获取当前活动窗口句柄
char class_name[80];
GetClassName(hwnd, class_name, sizeof(class_name)); // 获取窗口类名
// 判断当前活动窗口是否为资源管理器窗口
if (strcmp(class_name, 'CabinetWClass') == 0 || strcmp(class_name, 'ExploreWClass') == 0)
{
// 获取资源管理器窗口路径
char path[MAX_PATH];
SendMessage(hwnd, WM_GETTEXT, sizeof(path), (LPARAM)path);
// 输出路径
std::cout << 'Explorer Path: ' << path << std::endl;
}
return 0;
}
该程序首先获取当前活动窗口句柄,然后通过 GetClassName 函数获取窗口类名。如果窗口类名为 CabinetWClass 或 ExploreWClass,则说明当前活动窗口为资源管理器窗口。接着通过 SendMessage 函数发送 WM_GETTEXT 消息获取窗口文本,即资源管理器的路径。最后将路径输出到控制台。
原文地址: https://www.cveoy.top/t/topic/oD6b 著作权归作者所有。请勿转载和采集!