掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
デスクトップがうまくキャプチャできない (ID:20756)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
マウスの右クリックをきっかけにして、デスクトップのキャプチャ を行いたいのですが、なぜか、デスクトップ上のいろんなアプリケーション WINDOWはキャプチャできるのですが、その隙間から見えるデスクトップ がFORMの色に塗りつぶされておりうまくいきません。 下記HOOKをつかわず、ただキャプチャを使用した場合問題なく デスクトップ全体がキャプチャされます。 HOOK自体よく理解できていないのですが、 なぜなのでしょう? //hook======================================= function JournalRecordProc(nCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall; var pevent: pEVENTMSG; mstr:string; begin if nCode < 0 then begin Result := CallNextHookEx(JournalHook, nCode, wParam, lParam) end else begin Result := 0; if nCode = HC_ACTION then begin pEvent := pEVENTMSG(lParam); case pEvent.Message of WM_RBUTTONUP: capturedesktop; end; end; end; end; //デスクトップキャプチャ================================= procedure TForm1.capturedesktop; begin UnhookWindowsHookEx(JournalHook); JournalHook := 0; Application.OnMessage := nil; DeskDC:=GetDC(0); form1.Left:=0; form1.Top:=0; form1.Width:=screen.Width; form1.Height:=screen.height; image1.Left:=0; image1.Top:=0; image1.Width:=screen.width; image1.Height:=screen.Height; BitBlt(image1.Canvas.Handle,0,0,screen.Width,screen.Height, DeskDC,0,0,SRCCOPY); ReleaseDC(0,DeskDC); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.