0

WEC 7 (Windows Embedded Compact 7) を使用して WinCE のコンソール ウィンドウを非表示にしようとしています。

私のデスクトップ ウィンドウから、次のコードを使用してこれを実行できることを確認しました。

HWND hWnd = FindWindow(L"ConsoleWindowClass",NULL);
ShowWindow(hWnd, SW_HIDE);

ただし、FindWindowWinCE でこのコードを使用すると、null ポインターが返されます。

おそらく、WinCE のコンソール ウィンドウのクラス名は、デスクトップ ウィンドウとは異なります。

hWndコンソールウィンドウを取得する方法はありますか?

4

2 に答える 2

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たり、 を使用してそのクラスを確認したりできますGetClassNameGetWindowThreadProcessIdおよびを使用して、プロセスの exe ファイル パスを照会することもできますGetModuleFileName

于 2015-08-14T12:30:48.810 に答える
0

Visual Studio 2008 リモート ツールの「Windows CE リモート スパイ」によって、必要なすべての情報を見つけることができます。私の場合 (Windows CE 6)、コンソール ウィンドウには "ConDev_AppCls" クラス名があります。

于 2015-08-20T09:48:38.280 に答える