yfs80 发表于 2023-4-9 19:24:19

怎样激活第三方程序窗口

怎样激活第三方程序窗口

shuimiao 发表于 2023-4-9 20:02:59

这是用chatgpt4生成的:


要激活第三方程序窗口,需要使用Windows API中的SetForegroundWindow函数。以下是一个基本的C++示例代码:

```cpp
#include <windows.h>

int main()
{
    const char* windowTitle = "MyApp - Notepad";
    HWND hwnd = FindWindow(NULL, windowTitle);
   
    if (hwnd != NULL)
    {
      SetForegroundWindow(hwnd);
    }
   
    return 0;
}
```

在这个示例中,我们首先定义了目标窗口的标题,并使用Windows API中的FindWindow函数搜索窗口句柄。如果我们找到了句柄,则可以使用SetForegroundWindow将该窗口激活到前台。

请注意,您需要确保以管理员身份运行您的应用程序,否则可能无法操纵其他进程的窗口。此外,请注意不要滥用此功能。

步天有术22 发表于 2023-4-9 20:38:04

先获取窗口句柄

urenai 发表于 2023-4-9 22:32:08

至少4种办法。

howill2021 发表于 2023-4-10 12:51:09

api给窗口发送消息,发激活、焦点事件应该都可以

yfs80 发表于 2023-4-10 16:54:12

谢谢,解决了,特别感谢 shuimiao 的提示!!!

<火山程序 类型 = "通常" 版本 = 1 />

方法 激活指定窗口_ <公开 静态 类型 = 整数 @输出名 = "SetForegroundWindow" @视窗.输入 = "user32.dll">
参数 hWnd <类型 = 变整数>


<火山程序 类型 = "通常" 版本 = 1 />
方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "当按钮被单击后发送此事件">
参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
{
    变量 程序句柄 <类型 = 变整数>
    程序句柄 = 窗口_模糊查找_单一 ("图片查看", )
    如果 (来源对象 == 按钮2)
    {
      激活指定窗口_ (程序句柄)

    }
    返回 (0)
}

页: [1]
查看完整版本: 怎样激活第三方程序窗口