VB 获取指定窗口标题和句柄 20

用FindWindow时要使用到窗口的标题,但是因为每次要获取的窗口不一样,标题肯定也不一样,所以想知道,用VB能写一个获取指定窗口的标题么?本人的想法是用VB的comm... 用FindWindow 时要使用到窗口的标题,但是因为每次要获取的窗口不一样,标题肯定也不一样,所以想知道,用VB能写一个获取指定窗口的标题么?

本人的想法是用VB的command1_click 利用shell打开一个文件,如何能自动获得这个文件的句柄??
请教。
谢谢了!!!
答案追+30
展开
 我来答
卑煦藤白竹
2019-09-19 · TA获得超过1211个赞
知道小有建树答主
回答量:2580
采纳率:94%
帮助的人:13.5万
展开全部
'创建一个列表框和一个按钮
'api函数定义
private
declare
function
getwindowtext
lib
"user32"
alias
"getwindowtexta"
(byval
hwnd
as
long,
byval
lpstring
as
string,
byval
cch
as
long)
as
long
private
declare
function
showwindow
lib
"user32"
(byval
hwnd
as
long,
byval
ncmdshow
as
long)
as
long
private
declare
function
getwindow
lib
"user32"
(byval
hwnd
as
long,
byval
wcmd
as
long)
as
long
private
declare
function
getclassname
lib
"user32"
alias
"getclassnamea"
(byval
hwnd
as
long,
byval
lpclassname
as
string,
byval
nmaxcount
as
long)
as
long
const
gw_hwndfirst
=
0
const
gw_hwndnext
=
2
private
sub
command1_click()
dim
s
as
long
dim
a
as
string
a
=
space(255)
s
=
getwindow(me.hwnd,
gw_hwndfirst)
'获得句柄
getwindowtext
s,
a,
255
'获得标题
dim
ab
as
string
*
255
getclassname
s,
ab,
255
'获得类名
dim
classname
as
string
classname
=
stripterflag(ab)
'stripterflag是一个自定义函数,后面有代码,用于去处结束符
if
ucase(classname)
=
"notepad"
then
list1.additem
a
list1.itemdata(list1.listcount
-
1)
=
s
end
if
do
while
s
doevents
s
=
getwindow(s,
gw_hwndnext)
'获得句柄
getwindowtext
s,
a,
255
'获得标题
getclassname
s,
ab,
255
'获得类名
classname
=
stripterflag(ab)
if
ucase(classname)
=
"notepad"
then
list1.additem
a
list1.itemdata(list1.listcount
-
1)
=
s
end
if
loop
end
sub
private
sub
list1_click()
msgbox
list1.itemdata(list1.listindex)
'单击列表框获得句柄
end
sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjwheremeng
2008-10-23
知道答主
回答量:9
采纳率:0%
帮助的人:4.5万
展开全部
shell()这是调用函数可调用DOS
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ljl88900
2008-10-23 · TA获得超过2661个赞
知道大有可为答主
回答量:2197
采纳率:100%
帮助的人:2686万
展开全部
较难。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q36193899
2008-10-23 · 超过21用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
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参数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式