作者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://www.ptt.cc/bbs/C_and_CPP/M.1489683646.A.DE9.html
→ TeaEEE: 儲存檔名改成_T("xxx.jpg")試試 03/17 02:02
→ TobyH4cker: 程式是什麼意思應該不是上來問,參數錯誤 03/18 15:00