3

このコードを使用しようとしています:

bool SaveBMPFile(char *filename, HBITMAP bitmap, HDC bitmapDC, int width, int height);

bool ScreenCapture(int x, int y, int width, int height, char *filename){
// get a DC compat. w/ the screen
HDC hDc = CreateCompatibleDC(0);

// make a bmp in memory to store the capture in
HBITMAP hBmp = CreateCompatibleBitmap(GetDC(0), width, height);

// join em up
SelectObject(hDc, hBmp);

// copy from the screen to my bitmap
BitBlt(hDc, 0, 0, width, height, GetDC(0), x, y, SRCCOPY);

// save my bitmap
bool ret = SaveBMPFile(filename, hBmp, hDc, width, height);

// free the bitmap memory
DeleteObject(hBmp);

return ret;
}

次のエラーがスローされます。

bot.c|185|error: expected '=', ',', ';', 'asm' or '__attribute__' before 'SaveBMPFile'|
bot.c|187|error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ScreenCapture'|

私に何ができる?別のコードを試してみてもうまくいかず、Gdi+- を使用しようとしてもエラーが発生しました。

4

2 に答える 2

6

あなたが行方不明だと思います#include <stdbool.h>

boolは C のプリミティブ型ではありません<stdbool.h>。その定義を取得するには、ヘッダーを含める必要があります。

于 2012-10-16T19:51:26.197 に答える
2

あなたのエラーは、実際にはあなたが示したコードの前にある可能性があります。エラー メッセージには、これらのいずれかが必要であることが示されています。そのため、表示した抜粋の前に、セミコロン ( ;) で終了していない行または右中括弧 ( ) で終了していない関数がある可能性があります。}1 つのことは、これを別の関数の途中に貼り付けていないことを確認することです。C では関数をネストできません。

于 2012-10-16T19:51:50.017 に答える