vb 知道部分标题怎么获取改窗口的句柄,如果能根据进程来判断就更好了。
答案:2 悬赏:0 手机版
解决时间 2021-04-11 05:38
- 提问者网友:你给我的爱
- 2021-04-10 14:51
希望有人能给个函数 根据部分标题 返回改窗口的句柄 如果不存在就返回0
最佳答案
- 五星知识达人网友:不如潦草
- 2021-04-10 15:48
FindWindow()函数就可以了
模块声明
Declare Function FindWindow Lib "user32 " Alias "FindWindowA " (ByVal lpClassName As Any, ByVal lpWindowName As String) As Long
然后,在调用时使用如下语句:
hwndCalc = FindWindow(0&, "计算器 ")
这里的0&就表示忽略类名。需要注意的是FindWindow(0&, "计算器 ")和FindWindow( " ", "计算器 ")有两种完全不同的含义,前者表示忽略窗口的类,而后者表示窗口的类是个空串。类似的,我们也可以忽略标题而搜索指定的类。 如果找到了满足条件的窗口,这个函数返回该窗口的句柄,否则返回0。
模块声明
Declare Function FindWindow Lib "user32 " Alias "FindWindowA " (ByVal lpClassName As Any, ByVal lpWindowName As String) As Long
然后,在调用时使用如下语句:
hwndCalc = FindWindow(0&, "计算器 ")
这里的0&就表示忽略类名。需要注意的是FindWindow(0&, "计算器 ")和FindWindow( " ", "计算器 ")有两种完全不同的含义,前者表示忽略窗口的类,而后者表示窗口的类是个空串。类似的,我们也可以忽略标题而搜索指定的类。 如果找到了满足条件的窗口,这个函数返回该窗口的句柄,否则返回0。
全部回答
- 1楼网友:掌灯师
- 2021-04-10 16:09
declare function shellexecute lib "shell32.dll" alias "shellexecutea" (byval hwnd as long, byval lpoperation as string, byval lpfile as string, byval lpparameters as string, byval lpdirectory as string, byval nshowcmd as long) as long
说明
查找与指定文件关联在一起的程序的文件名
返回值
long,非零表示成功,零表示失败。会设置getlasterror
参数表
参数 类型及说明
hwnd long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
lpoperation string,指定字串“open”来打开lpflie文档,或指定“print”来打印它
lpfile string,想用关联程序打印或打开一个程序名或文件名
lpparameters string,如lpszflie是可执行文件,则这个字串包含传递给执行程序的参数
lpdirectory string,想使用的完整路径
nshowcmd long,定义了如何显示启动程序的常数值。参考showwindow函数的ncmdshow参数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯