スクリーンショット(T) <TOP>
画面をキャプチャします。
keybd_event 特殊キーの状態を設定
「Form」をクリックすると左図のフォームが、「Desktop」をクリックすると右図のデスクトップ画面がキャプチャされます。
'================================================================ '= スクリーンショット
'= (ScreenShot.bas) '================================================================ #include "Windows.bi" ' 特殊キーの状態を設定 Declare Sub Api_keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As byte, ByVal bScan As byte, ByVal dwFlags&, ByVal dwExtraInfo&) #define KEYEVENTF_KEYUP &H2 'キーを放す #define VK_MENU &H12 '[Menu] #define VK_SNAPSHOT &H2C '[Snap Shot] '================================================================ '= '================================================================ Declare Sub MakeScreenshot(ByVal ActiveWindow As Integer) Sub MakeScreenshot(ByVal ActiveWindow As Integer) If ActiveWindow Then Api_keybd_event VK_MENU, 0, 0, 0 Api_keybd_event VK_SNAPSHOT, 0, 0, 0 Api_keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0 If ActiveWindow Then Api_keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0 CallEvent End Sub '================================================================ '= フォームをキャプチャ '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() MakeScreenshot True End Sub '================================================================ '= デスクトップをキャプチャ '================================================================ Declare Sub Button2_on edecl () Sub Button2_on() MakeScreenshot False End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End