易截截图软件、单文件、免安装、纯绿色、仅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学的用的都不精,编个程序用了很长时间了,现在这个通讯部分还没做好,求助大家一下:
  ctrMSComm.Output = "@01R"    '读命令
   instar = ctrMSComm.Input         '读通讯
wy_I = val(HEX_to_DEC(Mid(instar, 29, 4))) * (20 / 4095#)
&n ......

VB模拟按键

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

VB MSHFLEXGRID MSHFLEXGRID 同时选中不连续的多行

  在工程中添加一个类模块,名为   Selection  
  然后加入以下代码:  
   
  Dim   colRows   As   Collection  
  Dim   ControlKey   As   Boolean  
  Public   WithEvents   flx   As   M ......

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 ......

如何让一个VB窗口总是处于各窗口的最上层

代码如下:
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As
Long, ByVal hWndInsertAfter As Long,& _ 
         ByVal X As Long, ByVal Y As
Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long & _
 &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号