大家学C++的初衷是啥?
不就是想装B吗?
接下来步入正题:咳咳咳
先来认识一个函数:GetWindowTextA()
它在MSDN的定义:int WINAPI GetWindowTextA( _In_ HWND hWnd, _Out_writes_(nMaxCount) LPSTR lpString, _In_ int nMaxCount);
来说一下它的参数:
hWnd:窗口句柄
lpString:窗口标题
nMaxCount:指定缓冲区大小
用GetForegroundWindow()函数声明窗口句柄
HWND hWnd = GetForegroundWindow();
接下来就是获取进程ID
DWORD dwProcess;
LRESULT result = 0;
DWORD dwPID = GetWindowThreadProcessId(hWnd, &dwProcess);
用OpenProcess()函数打开进程
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcess);
下面就是源代码了,喜欢的来一波关注
#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
while (1)
{
HWND hWnd = GetForegroundWindow();
DWORD dwProcess;
LRESULT result = 0;
DWORD dwPID = GetWindowThreadProcessId(hWnd, &dwProcess);
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcess);
WCHAR wszProcessPath[MAX_PATH] = { 0 };
DWORD dwSize = MAX_PATH;
QueryFullProcessImageNameW(hProcess, 0, wszProcessPath, &dwSize);
CHAR wszTitle[MAX_PATH] = { 0 };
result = GetWindowTextA(hWnd, wszTitle, MAX_PATH);
cout << "窗口标题:" << wszTitle << endl;
Sleep(500);
}
SetConsoleTitle(L"QQ盗号");
system("pause");
return 0;
}
好了,下一篇会讲键盘记录器HOOK技术