具体描述:
我做了一个抓图程序,是网络版的!其中遇见的问题如下
如果被控制端(也就是要抓的对象)使用应用进程的方式运行,则在被控制端可以生成想要的bmp文件,如果被控制端使用服务进程的方式运行,则在被控制端可以生成的bmp文件始终是黑屏,这是为什么?而且应用进程和服务进程两者的抓图功能的代码完全没有改变,请教高手!
我做了一个抓图程序,是网络版的!其中遇见的问题如下
如果被控制端(也就是要抓的对象)使用应用进程的方式运行,则在被控制端可以生成想要的bmp文件,如果被控制端使用服务进程的方式运行,则在被控制端可以生成的bmp文件始终是黑屏,这是为什么?而且应用进程和服务进程两者的抓图功能的代码完全没有改变,请教高手!
解决方案 »
- 打算一周学完DELPHI 不管你信不信,我是信了
- HRGN的问题.
- 知道3个.wmv文件的路径,如何把这3个文件都加入剪贴板?
- 请问一个关于tooltip的问题
- 有没有rational rose 2003?
- 纯C++里能用CString吗?怎么用?
- VC程序调用了VB程序,VC先运行,到了VB的地方执行VB程序,然后继续VC后面的程序,怎么能控制顺序执行完VC
- mfc现在最新的版本是多少?
- 关于vc结构体与vb的对应关系
- 一个关于active控件的奇怪问题!!
- 郁闷的错误fatal error C1189: #error : WINDOWS.H already included.
- 求助!!!!
{
HBITMAP mhBitmap;
char cSendData[1024*256];
char cPath[128];
CString StrTemp,StrPath;
int i,ret;
HWND hWnd;
WORD fPrintArea=1;
hWnd=GetDesktopWindow ();
mhBitmap = CopyWindowToBitmap(NULL , hWnd, 1);
HBITMAP hBitmap = NULL;
if (!hWnd)
return NULL;
HPALETTE hPal = NULL;
hPal = GetSystemPalette(NULL);
if(!hPal)
{
return NULL;
}
DWORD dwFlags = NULL;
DWORD dCompression = BI_RLE8; // BI_RLE8 / BI_RLE4 / BI_RGB;
HANDLE hDIB = ChangeBitmapFormat(mhBitmap, //m_pPictureBox->GetBitmap(),
HIWORD(dwFlags),
dCompression,
hPal ,
NULL);
if(hDIB)
{ GetCurrentDirectory(sizeof(cPath),cPath);
StrPath=cPath;
StrPath+="\\";
StrPath+="1.bmp";
SaveDIB(hDIB,StrPath); //dlg.m_ofn.lpstrFile);
}
return true;
}
取得的hwnd也不是桌面的句柄