以下是通过 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 函数获取窗口类名。如果窗口类名为 CabinetWClassExploreWClass,则说明当前活动窗口为资源管理器窗口。接着通过 SendMessage 函数发送 WM_GETTEXT 消息获取窗口文本,即资源管理器的路径。最后将路径输出到控制台。

C++ 获取资源管理器当前路径:Win API 实现

原文地址: https://www.cveoy.top/t/topic/oD6b 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录