说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请问用代码如何实现以下批处理功能?

编辑:说三道四文库 发布时间:2018-02-24 06:16
HTML文档下载 WORD文档下载 PDF文档下载
我想在软件中做一个功能,用点一个按钮实现将屏幕图抓下来(也就是按键盘上的Print Scrn SysRq键)然后打开一个WORD文档将图贴进去并保存在指定目录。请问如何用代码做到,而不用动手一一操作。谢谢,请知道的朋友,详细告之。
屏幕抓图关保存在指定目录较容易,但同时开一个WORD文档将图贴进去就不好做了,但可以考虑用HTML文件代码WORD文档来实现,可直接在程序中写HTML(文本)文件,也可用IE及在程序中用CHtmlView类实现显示。
楼上的,如何实现屏幕抓图啊?
屏幕抓图是否是要捕获PRINT SCRN SYSRQ那个键的消息,其实就是发送一个假的该键的消息呢?
另外打开固定位置的执行文件也没问题,问题是怎么贴上去,请问可否实现用上面的方法,发送一个CTRL + V的消息呢,有知道的朋友能详细告诉我吗,谢谢
保存屏幕函数如下:

void CCaptureDlg::SaveBmp()
{
CDC dc;
dc.CreateDC("DISPLAY",NULL,NULL,NULL);
CBitmap bm;
int Width=GetSystemMetrics(SM_CXSCREEN);
int Height=GetSystemMetrics(SM_CYSCREEN);
bm.CreateCompatibleBitmap(&dc,Width,Height);
CDC tdc;
tdc.CreateCompatibleDC(&dc);
CBitmap*pOld=tdc.SelectObject(&bm);
tdc.BitBlt(0,0,Width,Height,&dc,0,0,SRCCOPY);
tdc.SelectObject(pOld);
BITMAP btm;
bm.GetBitmap(&btm);
DWORD size=btm.bmWidthBytes*btm.bmHeight;
LPSTR lpData=(LPSTR)GlobalAllocPtr(GPTR,size);
/////////////////////////////////////////////
BITMAPINFOHEADER bih;
bih.biBitCount=btm.bmBitsPixel;
bih.biClrImportant=0;
bih.biClrUsed=0;
bih.biCompression=0;
bih.biHeight=btm.bmHeight;
bih.biPlanes=1;
bih.biSize=sizeof(BITMAPINFOHEADER);
bih.biSizeImage=size;
bih.biWidth=btm.bmWidth;
bih.biXPelsPerMeter=0;
bih.biYPelsPerMeter=0;
GetDIBits(dc,bm,0,bih.biHeight,lpData,(BITMAPINFO*)&bih,DIB_RGB_COLORS);
//bm.GetBitmapBits(size,lpData);//此函数在处理5-5-5模式的16位色下会出现颜色混乱
static int filecount=0;
CString name;
name.Format("pict%04d.bmp",filecount++);
name=m_Path+name;
BITMAPFILEHEADER bfh;
bfh.bfReserved1=bfh.bfReserved2=0;
bfh.bfType=((WORD)('M'<< 8)|'B');
bfh.bfSize=54+size;
bfh.bfOffBits=54;
CFile bf;
if(bf.Open(name,CFile::modeCreate|CFile::modeWrite)){
bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));
bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));
bf.WriteHuge(lpData,size);
bf.Close();
nCount++;
}
GlobalFreePtr(lpData);
if(nCount==1)
m_Number.Format("%d picture captured.",nCount);
else
m_Number.Format("%d pictures captured.",nCount);
UpdateData(FALSE);
}
我需要的是贴到WORD里然后保存
http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28000550
参考一下吧!
dxhdxh2k(dxhdxh:
不知道从何找起,请了解的朋友告诉我个大概方法,谢谢
求解,求解,多谢了
??
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘