易语言怎么实现 按键F1 自动切换至指定句柄的窗口

易语言怎么实现 按键F1 自动切换至指定句柄的窗口,第1张

添加一个标签组件,定义一个整型变量,程序集或者全局变量用于接收热键ID,在_启动窗口创建完毕事件下,加入一条语句,变量=注册热键(注册热键的窗口句柄,标签句柄,功能键状态,主功能键),然后来到那个标签组件,反馈事件
事件下,加入一条流程控制语句,如果真(参数一=变量)下面定义按下热键之后要执行的语句,如果有地方没有看懂,请追问。

用注册热键吧`- -
F1开始,停止

版本 2
支持库 shellEx
支持库 eAPI
子程序 __启动窗口_创建完毕
注册热键 (_启动窗口取窗口句柄 (), 标签1取窗口句柄 (), 0, #F1键)
子程序 _标签1_反馈事件, 整数
参数 参数一, 整数型
参数 参数二, 整数型
判断开始 (时钟1时钟周期 = 100)
时钟1时钟周期 = 0
默认
时钟1时钟周期 = 100
判断结束
子程序 _时钟1_周期事件
标签1标题 = “当前句柄:” + 到文本 (取鼠标所在窗口句柄 ())

取自己程序里的句柄的话可以使用 组件名取窗口句柄() 如果要取外部的句柄的话可以使用API函数: WindowFromPoint 返回值:整数型 包含在user32dll里 两个参数: xPoint 整数型 yPoint 整数型 然后注册一个热键,命令写:窗口句柄=WindowFromPoint(取鼠标水平位置(),取鼠标垂直位置()) 可以取出鼠标处一个窗口的句柄

版本 2
子程序 窗口_关闭, , 公开, 将指定窗口销毁(无返回值)
参数 窗口句柄, 整数型, , 欲销毁窗口的句柄
投递消息整数 (窗口句柄, 16, 0, 0)
版本 2
子程序 投递消息整数, , 公开
参数 窗口句柄, 整数型
参数 消息号, 整数型
参数 消息参数1, 整数型
参数 消息参数2, 整数型
PostMessageA (窗口句柄, 消息号, 消息参数1, 消息参数2)
刚才代码发错了,真实代码是这个

下是代码首先用窗口标题取被改变标题窗口的句柄,然后通过dll命令改变标题。
(被改变窗口标题是“要改变的标题”)
版本
2
程序集
窗口程序集1
程序集变量
句柄,
整数型
子程序
__启动窗口_创建完毕
子程序
窗口_置标题,
逻辑型,
公开,
改指定窗口句柄的窗口标题(非"0"表示成功,返回"0"表示失败)
参数
窗口句柄,
整数型,
,
欲更改窗口标题的句柄
参数
新标题,
文本型,
,
欲改成的新标题
返回
(SetWindowTextA
(窗口句柄,
新标题))
子程序
取句柄,
整数型,
公开,
成功返回控件的句柄,失败返回0
参数
父窗口句柄,
整数型,
可空,
如果是取顶级的窗口句柄请留空
参数
子窗口句柄,
整数型,
可空,
如果是取顶级的窗口句柄请留空
参数
窗口类名,
文本型,
可空,
窗口的类名
参数
窗口标题,
文本型,
可空,
窗口的标题
返回
(FindWindowExA_文本
(父窗口句柄,
子窗口句柄,
窗口类名,
窗口标题))
子程序
_按钮1_被单击
句柄

取句柄
(,
,
,
“要改变的标题”)
窗口_置标题
(句柄,
“你好!”)
版本
2
DLL命令
FindWindowExA_文本,
整数型,
"user32",
"FindWindowExA",
公开
参数
父窗口句柄,
整数型
参数
子窗口,
整数型
参数
类名,
文本型
参数
标题,
文本型
DLL命令
SetWindowTextA,
逻辑型,
"user32",
"SetWindowTextA",
公开,
窗口_置标题
参数
hwnd,
整数型
参数
窗口标题,
文本型

标准窗口带的功能直接送消息出去就可以。

比如:最大化:SendMessage( 句柄, WM_SYSCOMMAND, SC_MAXIMIZE, 0 )。

最小化:SendMessage( 句柄, WM_SYSCOMMAND, SC_MINIMIZE, 0 )。

关闭:SendMessage( 句柄, WM_SYSCOMMAND, SC_CLOSE, 0 )。

要修改窗口的透明度,需要接管指定窗口的消息处理函数。要拦几个消息。具体是:WM_CTLCOLORxxx, WM_PAINT这几个消息,更详细可以查MSDN的说明。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12613947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存