递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4618|回复: 5
打印 上一主题 下一主题

[视窗] 怎样激活第三方程序窗口

[复制链接]

3

主题

30

帖子

125

积分

注册会员

Rank: 2

积分
125
跳转到指定楼层
楼主
发表于 2023-4-9 19:24:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样激活第三方程序窗口

回复

使用道具 举报

410

主题

2511

帖子

8283

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8283
沙发
发表于 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将该窗口激活到前台。

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

使用道具 举报

40

主题

227

帖子

2485

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2485
板凳
发表于 2023-4-9 20:38:04 | 只看该作者
先获取窗口句柄
回复

使用道具 举报

346

主题

1600

帖子

6537

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6537
QQ
地板
发表于 2023-4-9 22:32:08 | 只看该作者
至少4种办法。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

31

主题

211

帖子

1950

积分

金牌会员

Rank: 6Rank: 6

积分
1950
5#
发表于 2023-4-10 12:51:09 | 只看该作者
api给窗口发送消息,发激活、焦点事件应该都可以
回复

使用道具 举报

3

主题

30

帖子

125

积分

注册会员

Rank: 2

积分
125
6#
 楼主| 发表于 2023-4-10 16:54:12 | 只看该作者
谢谢,解决了,特别感谢 shuimiao 的提示!!!


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

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


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

    }
    返回 (0)
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 11:28 , Processed in 0.083819 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表