Visual Basic Tips


デスクトップのキャプチャ(API)


デスクトップ画面をキャプチャしてフォームに表示します。デスクトップのウィンドウハンドルの取得にはGetDesktopWindow、そのウィンドウハンドルのデバイスコンテキストの取得にはGetDCを使用します。

Private Sub Form_Load()
  
Dim hWndAll As Long
  Dim
hWndDC
As Long
  
Dim lret
As Long

  Form1.AutoRedraw =
True

 
 '画面のイメージをフォームにコピー
  hWndAll = GetDesktopWindow()
  hWndDC = GetDC(hWndAll)
  lret = BitBlt(Form1.hDC, 0, 0, ScaleWidth, ScaleHeight, hWndDC, 0, 0, vbSrcCopy)
  
Call ReleaseDC(hWndAll, hWndDC)
End Sub

'---------------------------------------------------
' module
'---------------------------------------------------
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
'ウィンドウハンドルを取得する関数
Declare Function GetDesktopWindow Lib "user32" () As Long
'ウィンドウのデバイスコンテキストのハンドルを取得する関数
Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
'デバイスコンテキストの開放
Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long


DownLoad vbtips031.lzh 2KB (VB6,0)