#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
#include <string>
using namespace std;
DWORD GetProcessList( );
BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
DWORD proID = (DWORD)lParam;
char buf[500] = {0};
GetWindowText(hWnd, buf, 499);
DWORD proID2;
GetWindowThreadProcessId(hWnd, &proID2);
if(proID2 == proID)
{
printf("\n%s\n", buf);
}
return TRUE;
}
void main( )
{
DWORD proID = GetProcessList( );
EnumWindows(EnumWindowsProc, proID);
}
DWORD GetProcessList( )
{
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( hProcessSnap == INVALID_HANDLE_VALUE )
{
return( FALSE );
}
pe32.dwSize = sizeof( PROCESSENTRY32 );
if( !Process32First( hProcessSnap, &pe32 ) )
{
CloseHandle( hProcessSnap );
return( FALSE );
}
do
{
if( (string)pe32.szExeFile == "notepad.exe")
{
return pe32.th32ProcessID;
}
} while( Process32Next( hProcessSnap, &pe32 ) );
CloseHandle( hProcessSnap );
return( TRUE );
}
根据进程名获取窗体名
最新推荐文章于 2024-03-02 11:31:33 发布