api GetPixel 编译不通过...初学API调用 难住了
#include <stdio.h>#include<windows.h>
int main() {
HDC hdc = GetDC(NULL);
COLORREF Windows_Hdc_RGB = GetPixel(hdc, 56,89); //获取指定DC上的像素点RGB值
//获取RGB,其可以使用:GetRValue,GetGvalue,GetBvalue函数代替
WORD r = (Windows_Hdc_RGB & 0x00FF0000) >> 16;
WORD g = (Windows_Hdc_RGB & 0x0000FF00) >> 8;
WORD b =Windows_Hdc_RGB & 0x000000FF;
printf("鼠标位置的颜色RGB值是:%d,%d,%d", r, g, b);
getchar();
}
#include <stdio.h>
#include<windows.h>
int main() {
HDC hdc = GetDC(NULL);
COLORREF Windows_Hdc_RGB = GetPixel(hdc, 56,89); //获取指定DC上的像素点RGB值
//获取RGB,其可以使用:GetRValue,GetGvalue,GetBvalue函数代替
getchar();
}
本帖最后由 jackz007 于 2021-11-5 20:07 编辑
如果编译器是 gcc,编译时,加个 -mwindows 选项就可以了,就像这样:
g++ -mwindows -o x x.c
如果编译器是 vc,代码中必须再添加 2 行代码:
#include <stdio.h>
#include <windows.h>
#pragma comment(lib, "gdi32.lib") // API GetPixel() 的出处
#pragma comment(lib, "user32.lib") // API GetDC() 的出处
int main()
{
HDC hdc = GetDC(NULL);
COLORREF Windows_Hdc_RGB = GetPixel(hdc, 56,89); //获取指定DC上的像素点RGB值
//获取RGB,其可以使用:GetRValue,GetGvalue,GetBvalue函数代替
WORD r = (Windows_Hdc_RGB & 0x00FF0000) >> 16;
WORD g = (Windows_Hdc_RGB & 0x0000FF00) >> 8;
WORD b =Windows_Hdc_RGB & 0x000000FF;
printf("鼠标位置的颜色RGB值是:%d,%d,%d", r, g, b);
getchar();
}
然后照常编译就可以了。 CodeBlocksDev-C++都通不过我搞不清楚鼠标键盘API我测试可以。。。 xinbeyon 发表于 2021-11-5 20:22
CodeBlocksDev-C++都通不过我搞不清楚鼠标键盘API我测试可以。。。
按照 3 楼的方法也不能解决问题?
DEV-C++ 按 gcc 的方案,用加了 -mwindows 选项的命令行编译。 本帖最后由 jhq999 于 2021-11-5 21:11 编辑
没问题啊!除了没有return 0;不知道是不是因为这个原因
D:\Users\Desktop\3.png -static-libgcc -lgdi32 DEV-C++打了这个命令就可以了我也不知道问什么
我现在知道是少了库文件DEV-C++ 步骤明白了!!但CodeBlocks这里有卡了 不知道怎么弄了 !!哎 太难了 -static-libgcc -lgdi32 CodeBlocks DEV-C++连接器这里添加这个命令就好了
页:
[1]