色々なソースから考えたけど、最後の詰め?ができません。
助けてください。
gcopy で簡単だとたかをくくってました!
そんなわけで調べて出来たのが以下。
最後まで行ったと思いきや、BMP画像は真っ白。何が原因でしょうか?
ヒントだけでも結構です。
関係あるのかな?>http://do-more51.cocolog-nifty.com/hawo/2010/01/ie-d8a9.html
#include "user32.as"
#uselib "gdi32.dll"
#func BitBlt "BitBlt" int,int,int,int,int,int,int,int,int
#define NULL 0
#define SRCCOPY 0x00CC0020
#define CAPTUREBLT 0x40000000
//screen 0, 150, 50 : gsel 0;, -1
url="https://www.google.co.jp/"
docW=800: docH=600
screen 0,docW,docH
axobj ie, "Shell.Explorer.2",docW,docH//IEコンポ作成
;参考 デスクトップ画面のデバイスコンテキスト取得
//hdcScreen = CreateDC("DISPLAY", NULL, NULL, NULL)
hw=objinfo_hwnd(stat)
GetDC hw
dc=stat
IE("Silent") = 1
ie->"Navigate" url
repeat: wait 10:if( ie("Busy") == 0 ):break:loop
wait 1000 ;以下を実行するとエラーが出るので、その代わりに
/* XYサイズを取得するためだったが、止めてサイズ800*600固定にした
pDoc = ie("Document")
repeat
wait 10
if( pDoc("readyState") == "complete" ):break
loop
*/
;参考 取得したサイズを元にバッファ画面を作成
buffer 2, docW,docH; screen に変えて以下コピーは確認>消える
//GetForegroundWindow
//hwndActive = stat
wait 50
GetDC hwnd
hdc2 = stat;ディバイスコンテキストのハンドル取得(hdc)
; デスクトップ画面の画像をコピー
//BitBlt hdc, 0, 0, sx, sy, hdcScreen, 0, 0, SRCCOPY | CAPTUREBLT
BitBlt hdc2, 0, 0, docW,docH, dc, 0, 0, CAPTUREBLT
; ビットマップファイルとして保存
gsel 2, 1 : dialog "bmp", 17
if stat {
gsel 2 : bmpsave refstr
}
; デバイスコンテキスト削除
//DeleteDC hdcScreen
ReleaseDC hw,dc
ReleaseDC hwnd,hdc2
end