好吧,我只有C个学期,所以我对HWND
以及如何使用它一点都不困惑。我只想打印活动窗口。
我发现-GetActiveWindow
,GetForegroundWindow
。
但是我只是不明白如何使用此功能来打印活动窗口。
我正在尝试做类似的事情。
HWND GetActiveWindow();
printf("%s", GetActiveWindow);
但这可能是不好的用法,无法正常工作。
如果有人可以给我一个可行的例子,我将非常感激。
答案 0 :(得分:3)
TCHAR buf[256];
GetWindowText( GetActiveWindow(), buf, sizeof buf / sizeof *buf );
wsprintf( TEXT( "Window text: %s\n" ), buf );
答案 1 :(得分:3)
HWND
是handle。它具有整数值,而不是字符串值。如果您打算打印出窗口标题,则可以使用GetWindowText
函数从HWND
获取标题:
void printWindow(HWND hWnd)
{
DWORD dwLen = GetWindowTextLengthW(hWnd);
WCHAR *wszTitle = HeapAlloc(GetProcessHeap(), 0, (dwLen + 1) * sizeof(WCHAR));
if(wszTitle == NULL)
{
return;
}
GetWindowTextW(hWnd, wszTitle, dwLen + 1);
wprintf(L"%s\n", wszTitle);
HeapFree(GetProcessHeap(), 0, wszTitle);
}