易截截图软件、单文件、免安装、纯绿色、仅160KB

vb程序中webbrowser 接受SendMessage 的消息

webbrowser 不能收到SendMessage的消息
主要是因为1webbrowser 的句柄找不到。经过努力搜索,终于解决了。做个记录.
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) 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 FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202
Const MK_LBUTTON = &H1
'获得webbrowser的句柄
Public Function GetBrowserWindow(窗体句柄 As Long) As Long
    Dim hwndPeer As Long
    hwndPeer = FindWindowEx(窗体句柄, 0, "Shell Embedding", vbNullString)'网上很多帮助就找到这里就结束了,那是不能收到消息的。
    hwndPeer = FindWindowEx(hwndPeer, 0, "Shell DocObject View", vbNullString)
    hwndPeer = FindWindowEx(hwndPeer, 0, "Internet Explorer_Server", vbNullString)
    GetBrowserWindow = hwndPeer
End Function
'按钮单击
Private Sub 命令_Click()
    Dim t As String, x As Long, y As Long, w As WebBrowser, wbhwnd As Long, k As Long
    x = 537'从WebBrowser控件左上角起0,0,坐标不是平时left、right、top、height那个坐标,可以直接复制控件到画图里面,看分辨录。
    y = 44 * &H10000'弄成高位
    wbhwnd = GetBrowserWindow(Form1.hwnd)
    k = PostMessage(wbhwnd, WM_LBUTTONDOWN, MK_LBUTTON, ByVal ((y) + x))
    k = PostMessage(wbhwnd, WM_LBUTTONUP, 0, (x + (y)))
End Sub
'测试通过。


相关文档:

VB模拟按键

键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作 总会让人疲惫,于是就有了用程序来代替人们按键的方法,这样可以把很多重复性的键盘操作交给程序来模拟,省了很多精力,按键精灵就是这样的一个软件。那么 我们怎样才 ......

VB六个数取最大值和最小数

mxl=1                          && 最大的文本框编号
mnl=1                  &n ......

VB窗口全屏与置顶

全屏
Private Sub Form_Load()
    Me.Width = Screen.Width
    Me.Height = Screen.Height
    Me.WindowState = 2
End Sub
置顶
1.在VB的通用代码里写入API声明
Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, _
  &n ......

VB获取网卡MAC地址代码

Option Explicit
Private Const NCBASTAT = &H33
Private Const NCBNAMSZ = 16
Private Const HEAP_ZERO_MEMORY = &H8
Private Const HEAP_GENERATE_EXCEPTIONS = &H4
Private Const NCBRESET = &H32
Private Type NCB
ncb_command As Byte
ncb_retcode As Byte
ncb_lsn As Byte
ncb_num As Byte ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号