注册 登录
编程论坛 VB6论坛

我的命令为什么返回值为 0,错在哪里了?

pipiqi1975 发布于 2014-10-13 11:30, 566 次点击
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command1_Click()
'Dim hwnd2 As Long
hwnd2 = FindWindow(Notepad, "新建文本文档.txt - 记事本")
MsgBox hwnd2
'SendMessage hwnd2, &H10, 0, 0
'postmessage hwnd2, &H10, 0, 0
'vbNullString
End Sub
6 回复
#2
wp2319572014-10-13 13:05
这样子呢
hwnd2 = FindWindow("", "新建文本文档.txt - 记事本")
#3
pipiqi19752014-10-13 13:39
回复 2 楼 wp231957
还是为0啊,郁闷呢。
#4
穿梭的粒子2014-10-13 14:32
关于 Findwidow()函数
第一个参数 ,类名, 如果不想写 ,就应该写上 vbNullString ,而不是"" ;
            也可以 byval 0&  但声明要改下 ByVal lpClassName As Long
第二个参数,窗口标题,是你程序运行时,所显示的窗体标题。 一个新建的txt文档,貌似 标题是"无标题 - 记事本"。

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command1_Click()
Dim hwnd2 As Long
hwnd2 = FindWindow(vbNullString, "无标题 - 记事本")
MsgBox hwnd2
End Sub


记得程序运行前,先打开个空白文档程序


只有本站会员才能查看附件,请 登录


[ 本帖最后由 穿梭的粒子 于 2014-10-13 14:36 编辑 ]
#5
pipiqi19752014-10-13 17:58
回复 4 楼 穿梭的粒子
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command1_Click()
Dim hwnd2 As Long
hwnd2 = FindWindow(vbNullString, "新建文本文档.txt - 记事本")
MsgBox hwnd2
'SendMessage hwnd2, &H10, 0, 0
'postmessage hwnd2, &H10, 0, 0
'vbNullString
End Sub

楼上正解,谢谢。
我以前也用过vbnullstring 不知道以前错哪了 唉,还是没找到原因。
#6
pipiqi19752014-10-13 17:58
回复 5 楼 pipiqi1975
我win7 新建记事本 的确是 新建文本文档.txt - 记事本
#7
pipiqi19752014-10-13 18:43
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Command1_Click()
Web1.Document.getelementbyid("name").Value = Text1.Text
Web1.Document.getelementbyid("password").Value = Text2.Text
Dim js As String
js = "javascript:submitt()"
Web1.Navigate js
End Sub

Private Sub Form_Load()
Web1.Navigate ("http://shgdyxx.)
DoEvents
  While Web1.Busy
    DoEvents
  Wend
End Sub

请问:
Dim hwnd2 As Long
While hWnd2 = 0
  hwnd2 = FindWindow(vbNullString, "来自网页的消息")
Wend
MsgBox hwnd2

语句应该放在哪里?因为是用vb的WebBrowser做的,弹出来“来自网页的消息”影响到程序的运行了,我该怎么做?
1