C++ 从代码问题激活窗口

C++ 从代码问题激活窗口,c++,windows,winapi,autoit,window-handles,C++,Windows,Winapi,Autoit,Window Handles,我的桌面上有一个名为“卡巴斯基防病毒配置向导”的窗口 以下是有关该窗口的一些信息: >>>> Window <<<< Title: Kaspersky Anti-Virus Configuration Wizard Class: AVP.ConfigureWizard Position: 612, 247 Size: 499, 388 Style: 0x94CA0044 ExStyle: 0x00010100 Handle: 0

我的桌面上有一个名为“卡巴斯基防病毒配置向导”的窗口

以下是有关该窗口的一些信息:

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

>>>窗口是否告诉您为什么要通过脚本更改卡巴斯基配置?我制作了一个程序,可以自动配置它。但这并不重要,因为我这样做是为了学习我需要的东西。没有人知道这里发生了什么??我被困住了,我需要你,伙计,任何值得一试的反病毒程序都不会允许第三方以传统方式进行交互,这无疑是你遇到麻烦的部分原因。。。您可以使用卡巴斯基管理工具包,这可能取决于您拥有的版本,并且出于学习目的,可以攻击web浏览器或更简单的目标。请尝试WinList Autoit功能。查看帮助文件示例,并查看它是否检测到卡巴斯基。
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.
}