xinbeyon 发表于 2021-11-5 18:24:28

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();
}

xinbeyon 发表于 2021-11-5 18:43:54


#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 19:02:15

本帖最后由 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();
}
      然后照常编译就可以了。

xinbeyon 发表于 2021-11-5 20:22:55

CodeBlocksDev-C++都通不过我搞不清楚鼠标键盘API我测试可以。。。

jackz007 发表于 2021-11-5 20:52:09

xinbeyon 发表于 2021-11-5 20:22
CodeBlocksDev-C++都通不过我搞不清楚鼠标键盘API我测试可以。。。

       按照 3 楼的方法也不能解决问题?
       DEV-C++ 按 gcc 的方案,用加了 -mwindows 选项的命令行编译。

jhq999 发表于 2021-11-5 20:52:41

本帖最后由 jhq999 于 2021-11-5 21:11 编辑

没问题啊!除了没有return 0;不知道是不是因为这个原因

xinbeyon 发表于 2021-11-5 21:17:34

D:\Users\Desktop\3.png

xinbeyon 发表于 2021-11-5 21:19:22

-static-libgcc -lgdi32       DEV-C++打了这个命令就可以了我也不知道问什么

xinbeyon 发表于 2021-11-5 21:40:52

我现在知道是少了库文件DEV-C++    步骤明白了!!但CodeBlocks这里有卡了 不知道怎么弄了 !!哎 太难了

xinbeyon 发表于 2021-11-5 22:09:36

-static-libgcc -lgdi32      CodeBlocks    DEV-C++连接器这里添加这个命令就好了
页: [1]
查看完整版本: api GetPixel 编译不通过...初学API调用 难住了