2009-11-11 5 views
2

다양한 웹 페이지의 스크린 샷을 주기적으로 캡처하는 .NET 애플리케이션을 작성해야합니다. 응용 프로그램은 사용자 세션이 없거나 워크 스테이션이 잠길 때 무인 모드에서 Windows 서비스로 실행해야합니다. 비슷한 상황 : (Screenshot of process under Windows Service), 나는 프로세스보다는 웹 페이지에서이 작업을 수행해야합니다.무인 모드에서 웹 사이트의 스크린 샷을 캡처하는 방법은 무엇입니까?

PrintWindow API를 사용하려고하면 비활성 창이나 숨겨진 창을 캡처 할 수 있지만 워크 스테이션이 잠길 때 검은 색 이미지가 나타납니다. 이 방법을 시도했지만 (www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic34231.aspx) 작동하지 않습니다.

WebShot (www.websitescreenshots.com)과 같은 응용 프로그램이 있기 때문에 가능합니다. 워크 스테이션이 잠겨 있거나 서비스로 실행되는 경우에도 웹 페이지의 스크린 샷을 캡처합니다.

무엇이 누락 되었습니까? 어떻게 작동 시키나요?

시간 내 주셔서 감사합니다.

편집 : 내 접근 방식에 대한 추가 - 프로그래밍 방식으로 만든 .NET WebBrowser 컨트롤을 사용하고 있습니다. 브라우저 컨트롤에 웹 페이지를로드하고 PrintWindow API를 사용하여 이미지를 캡처합니다. 이 컨트롤을 볼 수 있는지 여부를 수행 할 수 있지만 워크 스테이션이 잠겨있을 때 나를 위로 이동합니다.

답변

1

BrowserShots (http://browsershots.org/ http://browsershots.org/)는 비슷한 목표를 가진 것으로 보이는 오픈 소스 응용 프로그램입니다. 이미 사용자의 문제를 해결했을 수 있습니다. 불행히도 그들의 사이트는 현재 약간 깨진 것 같습니다.

0

웹 사이트 만 렌더링하고 다른 프로그램의 스크린 샷을 얻지 못하기 때문에 WebBrowser.DrawToBitmap을 사용해 볼 수 있습니다.

당신이 로그인 상태에 대해 걱정할 필요하지 않을 것입니다 그런 식으로

http://thepursuitofalife.com/the-missing-drawtobitmap-function-in-the-net-webbrowser-class/

+0

덕분에, 나는 그 시도했지만 진행중인 사용자 세션이있는 경우에만 작동합니다 - 그것은 서비스로 실행하지 않을 때 또는 워크 스테이션이 잠겨있을 때. – Karun

관련 문제