请教!
解决方案 »
- 求助,rtf读取字符串问题
- 点解我的程序无法在其它机上运行?
- 关于在sql数据库里存储图片路径,客户机有可能看不到图片的问题
- 關於crystal report9.0,在線等待。
- 如何把一副图片分成若干个图片?(如:联众拼图游戏)
- 如何在asp中调用用com组件中地函数(此函数有返回值)
- 我想在PC上安装WindowsCE,要模拟器吗?
- 打开access数据库时提示“不能识别地数据库格式”
- 如何在vb中打开frontpage,并自动生成一个新的文档供编辑
- ********如何在窗体中动态的创建组建?********来者有分
- 急!如何让您的应用程序既不在任务管理器的应用程序内出现,也不在进程中出现,也就是防止用户中断程序(Windows2000 Windows XP)。在Win
- 怎么判断oracle数据库里一个视图存在不存在
Declare Function GetParent Lib "user32" Alias "GetParent" (ByVal hwnd As Long) As Long
说明
判断指定窗口的父窗口
返回值
Long,父窗口的句柄。如窗口没有父,或遇到错误,则返回零。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,欲测试的窗口的句柄
2.findwindow
3.EnumWindows(比较pid从而找到hwnd)
不过上面的方法都各有缺点,不太完美凑合着用吧。。
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private 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 LongOption Explicit
Private Const WM_SETTEXT = &HC
Private Const BM_CLICK = &HF5Private Sub Command1_Click()
ShellExecute Me.hwnd, "open", "D:\Tencent\QQ\QQ.exe", vbNullString, vbNullString, vbNormalFocus
Dim QQHwnd As Long, QHwnd As Long, PHwnd As Long, RHwnd As Long
Do While RHwnd = 0
QQHwnd = FindWindow("#32770", vbNullString)
QHwnd = FindWindowEx(QQHwnd, 0, "ComboBox", vbNullString)
PHwnd = FindWindowEx(QQHwnd, 0, "Edit", vbNullString)
RHwnd = FindWindowEx(QQHwnd, 0, "Button", "登录")
DoEvents
Loop
SendMessage QHwnd, WM_SETTEXT, 0, ByVal Text1.Text 'text1内为QQ号码.
SendMessage PHwnd, WM_SETTEXT, 0, ByVal Text2.Text 'Text2内为密码.
SendMessage RHwnd, BM_CLICK, 0, 0 '点击登录按钮
End
End Sub
会有问题马
但是我试验时,这一句不起作用:
SendMessage PHwnd, WM_SETTEXT, 0, ByVal Text2.Text 'Text2内为密码.但是改成下面的代码时:
SendKeys "123456"(密码)
就可以.不知为什么?请教!
Down下来看看吧。