|
发表于 2007-9-13 18:43:00
|
显示全部楼层
Re:我想做一个后台程序,将屏幕翻转180度
如果像屏保一样,把当前屏幕截下来,然后输出haha镜效果,没有用户对桌面的操作,很简单,调用api就行了。 下面是一个截屏得代码
//暂时不允许其他程序更新整个屏幕
if ( LockWindowUpdate(hwnd=GetDesktopWindow()))
{
hdcScr=GetDCEx(hwnd,NULL,DCX_CACHE | DCX_LOCKWINDOWUPDATE);
hdcMem=CreateCompatibleDC(hdcScr);
cx=GetSystemMetrics(SM_CXSCREEN);
cy=GetSystemMetrics(SM_CYSCREEN);
hBitmap=CreateCompatibleBitmap(hdcScr,cx,cy);
SelectObject(hdcMem,hBitmap);
//把整个屏幕的图像拷贝到内存设备的位图中.
BitBlt(hdcMem,0,0,cx,cy,hdcScr,0,0,SRCCOPY);
//把图片转化为设备无关位图,并且存在指定文件中
DDB2DIB(hBitmap,hdcMem,lpCmdLine);
DeleteDC(hdcMem);
ReleaseDC(hwnd,hdcScr);
DeleteObject(hBitmap);
LockWindowUpdate(NULL);
}
|
|