
这个命令不需要参数;如果取得是_启动窗口[自身]句柄的话,也不需要前缀;
如果是取程序自身组件句柄,则需要前缀: 你的组件名称取窗口句柄()
如果是要取外部窗口句柄,就需要调用api,
易语言也提供了一个取外部窗口句柄的方法[比较繁琐,占资源]:
取所有窗口列表 ()
解释: 取当前打开的所有窗口列表。成功返回 窗口句柄数组 ,失败返回空。
注意是文本数组,你需要把它转换成整数
如果窗口是现有程序的,使用vs自带的spy++获取窗口的相关信息,然後使用winapi获取句柄,具体参考spy++的使用方法和winapi的使用
findwindow(
lpclassname,
{窗口的类名}
lpwindowname:
pchar
{窗口的标题}
):
hwnd;
{返回窗口的句柄;
失败返回
0}
//findwindowex
比
findwindow
多出两个句柄参数:
findwindowex(
parent:
hwnd;
{要查找子窗口的父窗口句柄}
child:
hwnd;
{子窗口句柄}
classname:
pchar;
{}
windowname:
pchar
{}
):
hwnd;
如果窗口是你的程序动态生成的,使用如下语句
form
_form=new
form();
intptr
_p
=
_formhandle;
_p就是你实例化的窗口句柄
解决方法:控制面板---管理工具----服务,将“Terminal Services”改成“自动”,并启动服务,即可解决
转自:>
以上就是关于各位高手为什么我用易语言错误(30 : 窗口句柄=取窗口句柄(窗口模式.exe)全部的内容,包括:各位高手为什么我用易语言错误(30 : 窗口句柄=取窗口句柄(窗口模式.exe)、怎样获得其它程序子窗口的句柄、C#调试时出现获取窗口句柄无效是什么原因等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)