有时候对于流氓软件乱弹框,干扰别人的工作非常反感。通常流氓软件的安装路径和进程都显得比较隐蔽,这里给出如何查到其路径,清除掉它的办法。
查看弹出的窗口的句柄值,使用spy++工具。
根据窗口句柄找到程序路径:
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <psapi.h>
#pragma comment(lib, "psapi")
int main()
{
HWND hWnd = reinterpret_cast<HWND>(0x001102EA);//这里的窗口句柄值,通过spy++获得。这里的窗口句柄值也可以通过FindWindow获得,第一个参数传NULL,第二个即窗口标题。
DWORD dwProcessId;
DWORD dwThreadId = GetWindowThreadProcessId(hWnd, &dwProcessId);
printf("pid=%0x tid=%0x\n", dwProcessId, dwThreadId);
TCHAR path[MAX_PATH] = { 0 };
HANDLE hProcess = 0;
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);
GetModuleFileNameEx(hProcess, NULL, path, MAX_PATH);
_tprintf(TEXT("path=%s\n"), path);
CloseHandle(hProcess);
return 0;
}