一个activex的.dll功能是获得一个指定名称的IE窗口将图像从缓冲区发送

翻译|其它|编辑:郝浩|2004-08-03 09:12:00.000|阅读 1843 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>


做了一个activex的.dll功能是获得一个指定名称的IE窗口将图像从缓冲区发送到被获得句柄的IE窗口但是用asp调用失败

ASP代码:
<%set a=CreateObject("CGC.MQ")
a.DrawGdi()
set a=nothing
%>
//--------------------------------------------------------------//

VB代码:
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) 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
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function LoadBitmap Lib "user32" Alias "LoadBitmapA" (ByVal hInstance As Long, ByVal lpBitmapName As String) As Long
Private Declare Function LoadModule Lib "kernel32" (ByVal lpModuleName As String, lpParameterBlock As Any) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long


Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Dim Fdc As Long
Dim Bufdc As Long
Dim hbitmap As Long
Dim handle2 As Long
Dim hbitmap2 As Long

Public Function DrawGdi()
  Dim handle1 As Long

handle1 = FindWindow("IEFrame", "TTM - Microsoft Internet Explorer")
If handle1 Then
handle2 = FindWindowEx(handle1, 0, "Shell DocObject View", "")
  Else
    MsgBox "获得句柄失败!"
    Exit Function
End If

  hbitmap = LoadImage(0, App.Path & "\Zhuj.bmp", 0, 40, 40, 400)
  If hbitmap Then
    Else

      MsgBox "加载图象失败!"
     Exit Function

  End If
  Fdc = GetDC(handle2)
  Bufdc = CreateCompatibleDC(Fdc)
  
  hbitmap2 = CreateCompatibleBitmap(Fdc, 400, 400)
  SelectObject Bufdc, hbitmap
For cnt = 1 To 50
  Sleep 500
BitBlt Fdc, 1, 1, 400, 400, Bufdc, 0, 0, vbSrcCopy
Next cnt
  DeleteDC Fdc
  DeleteDC Bufdc
  DeleteObject hbitmap
  DeleteObject hbitmap2
End Function


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP