ScreenCaptureDesktop
2008-02-06 09:23:28| 分类:
VNC
| 标签:
|举报
|字号大中小 订阅
BOOL WINAPI ScreenCaptureDesktop()
{
BOOL IsSucceed = FALSE;
// 保存当前窗口属性
HWINSTA hwinstaLsass = GetProcessWindowStation();
if ( hwinstaLsass != NULL )
{
// 保存当前线程桌面
HDESK hdeskLsass = GetThreadDesktop( GetCurrentThreadId() );
if ( hdeskLsass != NULL )
{
// 获取目标窗口属性
HWINSTA hwinstaUser = OpenWindowStation(DefaultWindowStation, FALSE, MAXIMUM_ALLOWED);
if ( hwinstaUser != NULL )
{
// 设置目标窗口属性
if ( SetProcessWindowStation(hwinstaUser) )
{
// 获取目标桌面
HDESK hdeskUser = OpenDesktop(DefaultDesktop, 0, FALSE, MAXIMUM_ALLOWED);
if ( hdeskUser != NULL )
{
// 设置线程桌面
if ( SetThreadDesktop(hdeskUser) )
{
// to do something // 完成需要与桌面进行交互的功能
IsSucceed = ScreenCapture(); //我在这里完成截屏操作
// 恢复线程原始桌面
SetThreadDesktop( hdeskLsass );
}
// 关闭目标桌面
CloseDesktop( hdeskUser );
}
// 恢复进程原始窗口属性
SetProcessWindowStation( hwinstaLsass );
}
// 关闭目标窗口属性
CloseWindowStation( hwinstaUser );
}
}
}
return IsSucceed;
}
评论这张
转发至微博
转发至微博
评论