お世話になります、fujicafeです。
CE6.0で動かしている組み込みマシンのマニュアルを作成するためにスクリーンキャプチャをしたいと思っているのですが、通常のPCのようなPrintScreenが出来ず、インターネットでもいろいろとフリーソフトを検索したのですが、どうもソフトが古いらしくOSのヴァージョンに対応していないためか、うまく動作出来ません。
CE6.0でスクリーンキャプチャする方法や、それができるソフトをご存じの方がいらっしゃいましたら、教えて頂きたいです。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは。
・CE6.0でスクリーンキャプチャする方法
以下を参照にwin32apiの種類をwindows CEの範囲内に留めていますが、此れで出来ませんか。
http://msdn.microsoft.com/en-us/library/aa132474 …
#include<windows.h>
#include<stdio.h>
//DIBのセーブ
static bool Save(LPCTSTR pszFileName, HBITMAP hDIB)
{
//ファイルを開く
FILE* pf = ::fopen(pszFileName, TEXT("wb"));
if(pf == NULL)
return false;
//DIBから情報を取る
DIBSECTION dib = {0};
::GetObject(hDIB, sizeof(dib), &dib);
//ファイルヘッダ部の設定
BITMAPFILEHEADER bmfh = {0};
bmfh.bfType = 'B' | ('M' << 8);
bmfh.bfOffBits = sizeof(bmfh) + sizeof(dib.dsBmih);
bmfh.bfSize = bmfh.bfOffBits + dib.dsBmih.biSizeImage;
//ファイルヘッダ部を書き出す
::fwrite(&bmfh, sizeof(bmfh), 1, pf);
//DIB情報を書き出す
::fwrite(&dib.dsBmih, sizeof(dib.dsBmih), 1, pf);
//ビットイメージを書き出す
::fwrite(dib.dsBm.bmBits, dib.dsBmih.biSizeImage, 1, pf);
//ファイルを閉じる
::fclose(pf);
return true;
}
//24BIT DIBの作成
static HBITMAP CreateDIB(HDC hDC, DWORD dwWidth, DWORD dwHeight)
{
BITMAPINFOHEADER bmih = {sizeof(bmih)};
bmih.biPlanes = 1;
bmih.biBitCount = 24;
bmih.biCompression = BI_RGB;
bmih.biWidth = dwWidth;
bmih.biHeight= dwHeight;
LPVOID pvBits = NULL;
return ::CreateDIBSection(hDC, (LPBITMAPINFO)&bmih, DIB_RGB_COLORS, &pvBits, NULL, 0);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
//デスクトップのデバイスコンテキストを取る
HDC hDCScreen = ::GetDC(NULL);
const DWORD dwWidth = ::GetDeviceCaps(hDCScreen, HORZRES);
const DWORD dwHeight= ::GetDeviceCaps(hDCScreen, VERTRES);
const DWORD dwBPP = ::GetDeviceCaps(hDCScreen, BITSPIXEL);
//デスクトップの大きさを元にDIBを作成する
HBITMAP hDIB = ::CreateDIB(hDCScreen, dwWidth, dwHeight);
HDC hDCDIB = ::CreateCompatibleDC(hDCScreen);
::SelectObject(hDCDIB, hDIB);
//DIBにデスクトップを複写する
::BitBlt(hDCDIB, 0, 0, dwWidth, dwHeight, hDCScreen, 0, 0, SRCCOPY);
::ReleaseDC(NULL, hDCScreen);
::DeleteDC(hDCDIB);
//DIBをファイルにする
if(!::Save(TEXT("screenshot.bmp"), hDIB))
{
//失敗
}
//DIBの解放
::DeleteObject(hDIB);
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- レトロゲーム 小学生の頃にやっていた未クリアのゲームをプレイしたい 3 2023/05/07 23:37
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- フリーソフト 編集ソフトのムービーメーカーについて教えてください 3 2023/02/25 16:20
- Windows 10 windows11 起動エラー 0xc0000225 1 2022/05/14 11:58
- Excel(エクセル) vba キータッチまたはマウスクリックの確認 1 2023/08/23 19:02
- Windows 10 Windows10環境にてWindowsUpdate後の再起動を完全に抑止する方法はございますか? 10 2023/06/16 09:57
- ニコニコ動画 無料で動画マニュアル作成ソフトを教えてください。 1 2022/07/12 01:41
- Windows 10 Windows10搭載の画面録画 容量を小さくする方法ありますか? 3 2022/06/21 09:45
- デスクトップパソコン レガシモードからUEFIモードにするソフトは 7 2022/09/16 14:39
- フリーソフト フリーソフト[フリーオンライン動画兼音声変換ソフト]縦長になってしまう 2 2022/07/11 08:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedriveの中身を削除したらパ...
-
Winmerge ファイルの中身は同じ...
-
同期センターのマークが出てま...
-
Mac bookで録画ファイル.movを...
-
mrl→midファイルへ
-
ワードでページ数がどんどん増える
-
たくさんのフォルダを一つのフ...
-
Windows10 フォルダ内の自動並...
-
Excellにて→ファイルエラー:デ...
-
バッチファイルで変数の中身を...
-
教えてください!困ってます。
-
文字化けしたファイルの検索
-
office365 ファイルを削除したい
-
MGRファイルは消して良いのか
-
BAKファイルを非表示にする方法
-
XML ドキュメントファイルって...
-
ファイルの先頭行を全て削除したい
-
バッチファイルからタスクスケ...
-
VScodeでjarファイルを開く方法
-
bmkやbmsは削除してもかまいま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
onedriveの中身を削除したらパ...
-
同期センターのマークが出てま...
-
バッチファイルで変数の中身を...
-
ファイルの先頭行を全て削除したい
-
Windows10 フォルダ内の自動並...
-
教えてください!困ってます。
-
コマンドプロンプトによるフォ...
-
emlをtxtに変換するには?
-
ファイルの単位
-
mac ファイルの詳細情報を編集...
-
office365 ファイルを削除したい
-
Excellにて→ファイルエラー:デ...
-
macのdmgファイル(動画)をMP4...
-
クラリスワークスのファイルを...
-
mrl→midファイルへ
-
Windows11 ゴミ箱 ファイルの取...
-
会社のTeamsのことで相談です。...
-
フォルダ内の一覧を印刷するには?
-
exFATに欠点はありますか?
おすすめ情報