1

デスクトップに「Kaspersky Anti-Virus 設定ウィザード」というウィンドウがあります。

ウィンドウに関する情報は次のとおりです。

>>>> Window <<<<
Title:  Kaspersky Anti-Virus Configuration Wizard
Class:  AVP.ConfigureWizard
Position:   612, 247
Size:   499, 388
Style:  0x94CA0044
ExStyle:    0x00010100
Handle: 0x00081308

Windowsタスクマネージャーのタスクリストにウィンドウが表示されません(プロセスリストに「avp.exe」としてプロセスが存在するだけで、私の考えでは、目標を達成するのが難しくなっています。まず第一に、感謝します「Windows タスク マネージャー」の「アプリケーション」タブに存在しない Kaspersky Programmed i ウィンドウを表示する方法を誰かが説明してくれることを願っています。

コード (C++ \ Autoit) からウィンドウをアクティブ化 (ウィンドウにフォーカスを設定) したい。

WinAPI の FindWindow 関数を使用しようとしましたが、このウィンドウのハンドルを取得できませんでした。

GetForegroundWindow 関数でハンドルを取得しましたが、EnumWindows 関数を使用すると、kaspersky 構成ウィンドウへのハンドルがリストにないことがわかりました..

これは私のコードでした:

BOOL CALLBACK EnumWindowsProc(__in  HWND hwnd, __in  LPARAM lParam)
{
    if(g_hWnd == hwnd)
    {
        cout << "Found window";
        return FALSE;
    }
    return TRUE;
}
BOOL CALLBACK EnumDesktopProc(
    __in  LPTSTR lpszDesktop,
    __in  LPARAM lParam
    )
{
    EnumDesktopWindows(OpenDesktop(lpszDesktop,DF_ALLOWOTHERACCOUNTHOOK,FALSE,DESKTOP_ALL),EnumWindowsProc, NULL);
    return true;
}

BOOL CALLBACK EnumWindowStationProc(
    __in  LPTSTR lpszWindowStation,
    __in  LPARAM lParam
    )
{
    EnumDesktops(OpenWindowStation(lpszWindowStation,FALSE, WINSTA_ALL_ACCESS),EnumDesktopProc, NULL );
    return true;
}
int main()
{
    Sleep(3000);
    g_hWnd = GetForegroundWindow(); //Here i switch to kaspersky window to get it's handle
    EnumWindowStations(EnumWindowStationProc, NULL);    //I call EnumDesktopWindows in EnumDesktops in EnumWindowStations to search in all HWND of my Operation System.
}

cout << "Found Window" ステートメントは実行されませんでした。

このウィンドウをアクティブにする機能を教えていただけると助かります。

4

0 に答える 0