51单片机独立式按键程序

51单片机独立式按键程序,第1张

#include<reg52h>

unsigned char ID;

sbit k1 = P3 ^ 7;        // 定义按键端口

void delay()

{

TMOD = 0x10;    // 定时器的工作方式

TH1=0xd8;

TL1=0xf0;

TR1=1;

while(!TF1);    // 这里错了,是定时器1

TF1=0;

}

void main()

{

while(1)

{

if(k1==0)

{

delay();              //去抖动

if(k1==0)           //检测按键确实按下,进行按键处理

{

ID++;

if(ID==0)

{

ID=0;

}

while(!k1);   //这里错了,多余的加了==0

}

}

switch(ID)

{

case 0:P1=0x3f;break;

case 1:P1=0x06;break;

case 2:P1=0x5b;break;

case 3:P1=0x4f;break;

case 4:P1=0x66;break;

case 5:P1=0x6d;break;

case 6:P1=0x7d;break;

case 7:P1=0x07;break;

case 8:P1=0x7f;break;

case 9:P1=0x6f;break;

default:break;

}

}

}

通常很多情况下,会有这样的事情,就是:

我们在运行某些程序的时候,发现按钮置灰了,比如购买版权或者输入序列号才能够获得访问权限。某个按钮才允许点击。

其实所有的这些东西都是 别的人或者公司利用一些编程语言调用windows的函数,实现的。所以如果我们也能调用windows的函数,那么我们就能够执行一些按钮或者某些东西背后的函数。

自己的mfc还暂时 用不了,不过 可以 试试这个。

调出这个界面,看到有一个置灰的设置按钮。我们可以试着调用这个后面的函数。

/如何调出来?在win7环境下

打开控制面板

点击鼠标。/

然后利用vs的工具中的spy++ x64。

进入查找窗口。

拖住这个到刚刚鼠标的那个置灰的按钮上面。就可以得到一个句柄

句柄在我理解,就是一个话把子,怎么解释,就是,别人说一件事儿,你得顺着往下说才能把话接下来,然后完成你想说的东西。在程序里面,执行到这里,有这样一个句柄,允许我们说话了,我们就从这一点开始,顺着往下说,往往就能得到我们想要的结果

所以得到了句柄之后。我们可以新建一个工程。

#include <windowsh>

int main(){

SendMessage(0x001607E6,WM_LBUTTONDOWN,0,0);

SendMessage(0x001607E6,WM_LBUTTONUP,0,0);

return 0;

}

//在HWND的第一个参数里面输入刚刚的句柄。

//猜测 第二个参数 是 WindowManager_LeftButtonDown,就是窗口管理器左键按钮点下。

//然后左键按钮d起。

就强制的往刚刚不能执行的函数里面发送了一个信息。前面的引文介绍说,这就是调用了windows底层的一些函数,如果按钮可以点击,则鼠标点击,按钮按下,当需要注册的时候,或者需要序列号的时候我们并没有,就不能点击。但是当我们给他发送一条消息以后,是不是问题就解决了。

以上就是关于51单片机独立式按键程序全部的内容,包括:51单片机独立式按键程序、C语言如何检测点击的按钮、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9511751.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存