C++黑客技术:获取窗口标题

大家学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技术

猜你喜欢

转载自blog.csdn.net/m0_47563648/article/details/107841348