作者ericerix (你妈比麻疯地精还臭)
看板C_and_CPP
标题[问题] 关於c++萤幕截图功能(有程式码)
时间Fri Mar 17 01:00:44 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
VS2013
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
错误讯息,还有该程式码是甚麽意思
喂入的资料(Input):
(无法执行)
预期的正确结果(Expected Output):
将萤幕整个截图并且储存起来
错误结果(Wrong Output):
1. 错误 1 error C2664: 'HRESULT ATL::CImage::Save(LPCTSTR,const GUID &)
throw() const' : 无法将引数 1 从 'const char [11]' 转换为 'IStream *'
2. 2 IntelliSense: 多载函式 "ATL::CImage::Save" 没有任何执行个体符合引数
清单
引数类型为: (const char [8], const GUID)
物件类型是: ATL::CImage
程式码(Code):(请善用置底文网页, 记得排版)
#include <stdio.h>
#include <stdlib.h>
#include<atlstr.h>
#include<atlimage.h>
using namespace std;
int main()
{
int width = 800;
int heigth = 480;
int xpos = 0;
int ypos = 0;
HDC hdcWindow = GetDC(NULL);
int nBitPerPixel = GetDeviceCaps(hdcWindow, BITSPIXEL);
CImage image;
image.Create(width, heigth, nBitPerPixel);
BitBlt(
image.GetDC(),
xpos, ypos,
width, heigth,
hdcWindow,
0, 0,
SRCCOPY
);
ReleaseDC(NULL, hdcWindow);
image.ReleaseDC();
image.Save("xxx.jpg",Gdiplus::ImageFormatJPEG);
}
补充说明(Supplement):
其实应该是C啦,只是标题打完进去打内文的时候才发现,SORRY
然後我这程式码是网路上抄的,很想了解这是怎麽运作以及若要截图的话有没有更好的方法
最好能指定窗口并指截那个程式窗口
先感谢各位高手了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.242.170.81
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1489683646.A.DE9.html
1F:→ TeaEEE: 储存档名改成_T("xxx.jpg")试试 03/17 02:02
2F:→ TobyH4cker: 程式是什麽意思应该不是上来问,参数错误 03/18 15:00