易截截图软件、单文件、免安装、纯绿色、仅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下载文件

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Sub Command1_Click()
Dim Url As String, Filepath As String
Url = "h ......

VB 单实例运行

VB6
在程序运行时用如下语句:
if   app.PrevInstance=true   then  
            end    
end   if
VB 2005:
1. 在VB2005中,打开"属性"页,启用"应用程序“框架, 选中"
单实例应用程序"前面复选框,就行了。
......

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 程序一次性加上注释符号

VB 注释程序代码的符号是 ',只要在某行程序前面加上该符号就可以注释该行程序。但如果程序代码语句很多的时候,一行一行地注释就非常不方便。其实 VB
本身提供了一次性注释多条语句的功能:在主菜单“视图”选项的“工具栏”下,选中“编辑”,VB
的界面会出现一排工具按钮,其中就有用 ......

VB 编程中如何使窗口右上角的关闭按钮(X)失效

1、Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As
Integer)
        Cancel = True
       End Sub
    2、Private Sub
Form_Unload(Cancel As Integer)
        Cancel = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号