鱼C论坛

 找回密码
 立即注册
查看: 1546|回复: 9

[已解决]api GetPixel 编译不通过...初学API调用 难住了

[复制链接]
发表于 2021-11-5 19:02:15 | 显示全部楼层
本帖最后由 jackz007 于 2021-11-5 20:07 编辑

       如果编译器是 gcc,编译时,加个 -mwindows 选项就可以了,就像这样:
  1. g++ -mwindows -o x x.c
复制代码

       如果编译器是 vc,代码中必须再添加 2 行代码:
  1. #include <stdio.h>
  2. #include <windows.h>

  3. #pragma comment(lib, "gdi32.lib")     // API GetPixel() 的出处
  4. #pragma comment(lib, "user32.lib")    // API GetDC() 的出处

  5. int main()
  6. {


  7.         HDC hdc = GetDC(NULL);
  8.         COLORREF Windows_Hdc_RGB = GetPixel(hdc, 56,89);        //获取指定DC上的像素点RGB值
  9.         //获取RGB,其可以使用:GetRValue,GetGvalue,GetBvalue函数代替
  10.         WORD r = (Windows_Hdc_RGB & 0x00FF0000) >> 16;
  11.         WORD g = (Windows_Hdc_RGB & 0x0000FF00) >> 8;
  12.         WORD b =  Windows_Hdc_RGB & 0x000000FF;
  13.         printf("鼠标位置的颜色RGB值是:%d,%d,%d", r, g, b);
  14.         getchar();
  15. }
复制代码

        然后照常编译就可以了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-5 20:52:09 | 显示全部楼层
xinbeyon 发表于 2021-11-5 20:22
CodeBlocks  Dev-C++  都通不过  我搞不清楚  鼠标键盘API我测试可以。。。

       按照 3 楼的方法也不能解决问题?
       DEV-C++ 按 gcc 的方案,用加了 -mwindows 选项的命令行编译。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 16:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表