(CPP)奇怪的问题
phpskycn2009/07/31软件综合 IP:浙江
某控制台应用程序有如下函数:

void abcdefg(){
    HDC hDC = ::GetDC(NULL);
    int clr = ::GetPixel(hDC, 400, 300);
    if(clr==11054548|10725068|10725577|9344184|7767202){
        keybd_event (VK_LWIN, MapVirtualKey(VK_LWIN, 0), 0, 0);
        keybd_event (VK_LWIN, MapVirtualKey(VK_LWIN, 0), KEYEVENTF_KEYUP, 0);
    }
    else{
        return ;
    }
}
可不管屏幕上那个点颜色如何,都会执行
keybd_event (VK_LWIN, MapVirtualKey(VK_LWIN, 0), 0, 0);
        keybd_event (VK_LWIN, MapVirtualKey(VK_LWIN, 0), KEYEVENTF_KEYUP, 0);
很奇怪…………
来自:计算机科学 / 软件综合
24
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
93°
15年6个月前 IP:未同步
134308
排错提示:

printf("%d",clr);
看看数值有无变化 没有就**去吧
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134311
还有,写11054548|10725068|10725577|9344184|7767202干啥,直接写16760831不就完了 = =
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134312
引用第1楼破93于2009-07-31 18:14发表的  :
排错提示:

printf("%d",clr);
看看数值有无变化 没有就**去吧

额,控制台程序不能这样的吧
用AfxMessageBox(clr);每次都报错(编译通过,运行时报错)
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134314
引用第2楼破93于2009-07-31 18:16发表的  :
还有,写11054548|10725068|10725577|9344184|7767202干啥,直接写16760831不就完了 = =

…………
当某点是上面这几种颜色中的一种时
做某事
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134317
引用第3楼phpskycn于2009-07-31 18:17发表的  :

额,控制台程序不能这样的吧
用AfxMessageBox(clr);每次都报错(编译通过,运行时报错)


控制台才能这样!!!

还有

引用第4楼phpskycn于2009-07-31 18:18发表的  :

…………
当某点是上面这几种颜色中的一种时
做某事



我靠 ……给我看cpp入门去……

这么写……我靠我日飞我pia飞我日爆我pia烂

环球日爆啊……这种错误我靠我********************************************************************************************

下面给出正确示例

if((clr==11054548)||(clr==10725068)||(clr==10725577)||(clr==9344184)||(clr==7767202)){
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134319
如93所述……
加了
printf("%d",clr);
system("[s:9]AUSE");
还#include   <cstdlib>
之后
显示0
难道我得到的DC只是那个窗口所在的一块?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rc5
15年6个月前 IP:未同步
134320
汗一个, "=="的操作级比"|"高,多用括号啊
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134321
五雷轰顶啊啊啊啊啊
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
||与|是不同的!!!

void __fastcall TForm2::FormCreate(TObject *Sender)
{
    int a;
    a=11054548|10725068|10725577|9344184|7767202;
    ShowMessage(IntToStr(a));
}

自己看 ……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134323
引用第5楼破93于2009-07-31 18:22发表的  :



我靠 ……给我看cpp入门去……

.......

没用,还是0
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134325
此贴让我大开眼界……

如果getpixel是0,请检查句柄……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rc5
15年6个月前 IP:未同步
134328
| 和 || 的优先级都没有 == 高,所以你是先让 clr和第一个数 ==, 然后才后面的比较
+26
科创币
phpskycn
2009-07-31
93KCB太多了,不给加
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134327
主要矛盾在于GetPixel()得到的是0
!!!
PS:0是黑色还是白色?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134329
引用第9楼phpskycn于2009-07-31 18:25发表的  :

没用,还是0

如果if(clr==11054548|10725068|10725577|9344184|7767202){是0
if((clr==11054548)||(clr==10725068)||(clr==10725577)||(clr==9344184)||(clr==7767202)){又怎么不会是0呢?

"=="又不是赋值……我只是指出您的语法问题 = =
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134330
引用第11楼phpskycn于2009-07-31 18:30发表的  :
主要矛盾在于GetPixel()得到的是0
!!!
PS:0是黑色还是白色?

喷血

color值中,白色=16777215,黑色=0

然后,请检查句柄……我不清楚getpixel获取一个不存在的句柄时返回的是什么

另外……我习惯读入bitmap然后用指针直接访问,CPP的指针那么好用
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134332
难道……是因为控制台程序弹出来的窗口底色?
……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134335
算了,去CSDN逛
刚看到好东西…………可惜是VB的
继续看源码
谢谢各位了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134336
引用第15楼phpskycn于2009-07-31 18:32发表的  :
难道……是因为控制台程序弹出来的窗口底色?
……

<c++ primer>欢迎您 虽然您可能看不懂  = =
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134337
引用第17楼破93于2009-07-31 18:34发表的  :

<c++ primer>欢迎您 虽然您可能看不懂  = =

七院欢迎您
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134338
噗  去CSDN小心被喷
另外GetDC(NULL)干啥?获得是显示器的设备上下文 您要干啥?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134339
引用第18楼phpskycn于2009-07-31 18:35发表的  :

七院欢迎您

我一般去三院
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon
15年6个月前 IP:未同步
134340
有点想呕
phpskycn的帖子第一眼看过去几乎雷翻,这就如同在VB里写:

if clr = 11054548 or 10725068 or 10725577 or 9344184 or 7767202
结果不得而知
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn作者
15年6个月前 IP:未同步
134341
引用第19楼破93于2009-07-31 18:37发表的  :
噗  去CSDN小心被喷
另外GetDC(NULL)干啥?获得是显示器的设备上下文 您要干啥?

您也不咋的……
不GetDC(NULL);,怎么GetPixel?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134348
LS居然敢说这种话,太雷人了 555555555 获取设备上下文到底要识别个啥 = = ?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年6个月前 IP:未同步
134353
引用第22楼phpskycn于2009-07-31 18:40发表的  :

您也不咋的……
不GetDC(NULL);,怎么GetPixel?

确实不咋地
我进CSDN的时候不小心回答了几个问题,亮了下验证码识别,结果我生日的时候去散分,被别人说装纯,啊唔 我明明是16岁 怎么就没人信呢
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
phpskycn
专家 老干部 学者 机友 笔友
文章
402
回复
4591
学术分
8
2009/03/15注册,2个月3天前活动

CV

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}