开发者

Activate Window from code problem

开发者 https://www.devze.com 2023-03-25 05:27 出处:网络
I have a window on my desktop called: \"Kaspersky Anti-Virus Configuration Wizard\" Here is some info about the window:

I have a window on my desktop called: "Kaspersky Anti-Virus Configuration Wizard"

Here is some info about the window:

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

The window does not appear in the Windows Task Manager Tasks list (only it's process exists in processes list as "avp.exe" what, as far as i think, making it hard for me to acheive my goal. First of all i would appriciate that someone will explain how can Kaspersky Programmed i window that does not exists in "Application" Tab in "Windows Task Manager". Secondly I would be very thankful if you can help me solve my problem which is detailed here:

I want to make the window activeate (Set Focus on the window) from code (C++ \ Autoit).

I tried to use the FindWindow function of WinAPI but couldn't get the handle to this window.

I got the handle with GetForegroundWindow function and I've found out that when i use EnumWindows function the handle to kaspersky configuration window was not in the list..

this was my code:

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.
}

the cout << "Found Window" statement never executed.

I would be very grateful if you could help me slove this and show me the ability to make this window active.

0

精彩评论

暂无评论...
验证码 换一张
取 消