我正在尝试使用WEC 7(Windows Embedded Compact 7)隐藏WinCE的控制台窗口。
从我的桌面窗口,我已经确认可以使用以下代码完成此操作:
HWND hWnd = FindWindow(L"ConsoleWindowClass",NULL);
ShowWindow(hWnd, SW_HIDE);
但是,如果我在WinCE上使用此代码,FindWindow
将返回空指针。
可能是WinCE控制台窗口的类名与桌面窗口不同。
有没有办法获得控制台窗口的hWnd
?
答案 0 :(得分:0)
使用EnumWindows API查找窗口HWND,例如:
BOOL CALLBACK FindWindowByEnumProc(HWND hwnd, LPARAM lParam) {
if ( IsConsole(hwnd) ) {
// use hwnd.
return FALSE;
}
return TRUE;
}
::EnumWindows(FindWindowByEnumProc, NULL);
在IsConsole
内添加你的逻辑来判断它是否是一个控制台。您可以使用GetWindowText
获取窗口文本,或使用GetClassName
检查其类。您还可以使用GetWindowThreadProcessId
和GetModuleFileName
查询流程文件路径。
答案 1 :(得分:0)
您可以从Visual Studio 2008远程工具中找到“Windows CE远程间谍”所需的所有信息。在我的情况下(Windows CE 6),控制台窗口具有“ConDev_AppCls”类名。