// 功能:得到控制台窗口的句柄
//
HWND GetConsoleHwnd(void)
{
#define MY_BUFSIZE 1024 // Buffer size for console window titles.
HWND hwndFound; // This is what is returned to the caller.
char pszNewWindowTitle[MY_BUFSIZE]; // Contains fabricated
// WindowTitle.
char pszOldWindowTitle[MY_BUFSIZE]; // Contains original
// WindowTitle.
// Fetch current window title.
GetConsoleTitleA(pszOldWindowTitle, MY_BUFSIZE);
// Format a "unique" NewWindowTitle.
wsprintfA(pszNewWindowTitle,("%d/%d"),
GetTickCount(),
GetCurrentProcessId());
// Change current window title.
SetConsoleTitleA(pszNewWindowTitle);
// Ensure window title has been updated.
Sleep(40);
// Look for NewWindowTitle.
hwndFound=FindWindowA(NULL, pszNewWindowTitle);
// Restore original window title.
SetConsoleTitleA(pszOldWindowTitle);
return(hwndFound);
}