我需要通过窗口句柄(HWND)获取文件,我该怎么办?



我需要制作一个安全软件来限制用户在Windows中的复制和粘贴。 所以我使用 C++API HOOK 来 HOOK 剪贴板。 当某个进程想要获取剪贴板数据时,我可以获取设置剪贴板数据的窗口句柄 最近。 但是现在我需要获取文件信息,就像在设置剪贴板数据的窗口中的文件路径一样。我该怎么办? 例如,记事本进程打开文件"C:\1.txt"并绘制一个窗口以显示 TXT数据。我可以获取窗口句柄,如何获取 txt 文件路径。

使用类似这样的东西:

DWORD proc_id;
TCHAR path[MAX_PATH];
GetWindowThreadProcessId(wnd, &proc_id);
HANDLE proc_handle = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, proc_id);
GetProcessImageFileName(proc_handle, path, MAX_PATH);
CloseHandle(proc_handle);

最新更新