按钮c语言
Ⅰ c语言键盘按键触发怎么表示
可以用FlexibleButton表示。
FlexibleButton 是一个基于标准 C 语言的小巧灵活的按键处理库,支持单击、连击、短按、长按、自动消抖,可以自由设置组合按键,可用于中断和低功耗场景。
该按键库解耦了具体的按键硬件结构,理论上支持轻触按键与自锁按键,并可以无限扩展按键数量。另外,FlexibleButton 使用扫描的方式一次性读取所有所有的按键状态,然后通过事件回调机制上报按键事件。
核心的按键扫描代码仅有三行,没错,就是经典的 三行按键扫描算法。使用 C 语言标准库 API 编写,也使得该按键库可以无缝兼容任意的处理器平台,并且支持任意 OS 和 non-OS(裸机编程)。
快速体验:
FlexibleButton 库中提供了一个测试例程 ./examples/demo_rtt_iotboard.c,该例程基于 RT-Thread OS 进行测试,硬件平台选择了 RT-Thread IoT Board Pandora v2.51 开发板。
当然你可以选择使用其他的 OS,或者使用裸机测试,只需要移除 OS 相关的特性即可。
如果你使用自己的硬件平台,只需要将 FlexibleButton 库源码和例程加入你既有的工程下即可。
DEMO 程序说明:
该示例程序可以直接在 RT-Thread stm32l475-atk-pandora BSP 中运行,可以在该 BSP 目录下,使用 menuconfig 获取本软件包。
Ⅱ 单片机 用C语言怎么编写用一个按钮,控制一盏灯的亮与灭的程序
读取连接按键的IO口,判断是否为低电平,如果是,延时(十毫秒左右可以),再次读取IO口,判断是否为低电平,如果是则表示有有效的按键按下,接着用while判断等待按键释放,然后让连接led的IO口电平取反以控制其亮灭(是强电的灯可以通过此处控制继电器的合、闭来控制灯的亮灭)。参考程序:if(key==0){delayms(10);if(key==10){while(key==0);//等待按键释放,IO口恢复高电平led=!led;//按键控制程序}}
Ⅲ C语言 按钮
响应按钮的点击消息 在这个消息下面写对应的代码。C语言的话 如果是直接使用API的话 需要调用CreateWindow 创建button。|
推荐你看下 windows程序设计第五版
Ⅳ c语言如何创建一个按钮做计算器用
这是一个简单计算器程序:
1)创建一个对话框的应用
2)向对话框中添加一个编辑框控件和十六个按钮
3)在头文件声明:
double m_Num; //记录编辑框中的数据
BOOL m_Time; //判断是否为第一次按下数字键
char m_Operator; //保存运算符
4)处理数字“1”按钮的单击事件将按钮代表的数字写入编辑框中,代码:
void CCalculatorDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_Time == TRUE)
{
m_Result = 0;
}
m_Result = m_Result * 10 + 1;
m_Time = FALSE;
UpdateData(FALSE);
}
5)按照步骤4设置其他的数字按钮的单击事件
6)添加Count函数,用于计算数据,代码如下:
void CCalculatorDlg::Count()
{
UpdateData(TRUE);
switch(m_Operator)
{
case '+':
m_Num += m_Result;
break;
case '-':
m_Num -= m_Result;
break;
case '*':
m_Num *= m_Result;
break;
case '/':
if(m_Result == 0)
{
MessageBox("除数不能为0");
return;
}
m_Num /= m_Result;
break;
default:
m_Num = m_Result;
break;
}
m_Result = m_Num;
m_Time = TRUE;
UpdateData(FALSE);
}
7)处理“+”,为m_Operator变量赋值。代码:
void CCalculatorDlg::OnButton13()
{
// TODO: Add your control notification handler code here
if(m_Time == FALSE)
{
Count();
}
m_Operator = '+';
}
8)按照步骤7设置其他符号按钮的单击事件
9)处理“C”按钮的单击事件,用于清空编辑框中的数据,代码
void CCalculatorDlg::OnButton11()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_Result = 0;
m_Num = 0;
m_Time = TRUE;
m_Operator = ' ';
UpdateData(FALSE);
}
以上运行结果正常,不过结果贴不上来啊,就靠自己了啊
Ⅳ 如何用C语言写一个button按钮
#include <windows.h>
typedef _Bool bool;
#define false ((bool)0)
#define true ((bool)1)
HWND ChuangJianChuangKou(char *a,bool(*b)(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam),bool c,int x,int y)
{
HWND hwnd;
static TCHAR szAppName[] = TEXT("Mz Game") ;
WNDCLASS wndclass ;
wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS | CS_OWNDC ;
wndclass.lpszClassName = szAppName ;
wndclass.lpszMenuName = NULL ;
wndclass.hbrBackground =(HBRUSH)GetStockObject(6);
wndclass.lpfnWndProc = (WNDPROC)b;
wndclass.cbWndExtra = 0 ;
wndclass.cbClsExtra = 0 ;
wndclass.hInstance = 0;
wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION ) ;
wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ) ;
if(!RegisterClass(&wndclass))
{
return (HWND)0;
}
hwnd=CreateWindow(
szAppName,
a,
c?WS_OVERLAPPEDWINDOW:WS_POPUP,
(GetSystemMetrics (SM_CXSCREEN)-x)/2,
(GetSystemMetrics (SM_CYSCREEN)-y)/2,
x,
y,
0,
0,
0,
0
);
ShowWindow(hwnd,1);
UpdateWindow(hwnd);
return hwnd;
}
bool GengXinChuangKou()
{
static MSG msg;
if(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
return true;
}
else
{
return false;
}
}
bool WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
return MoRenChuLi(hwnd,message,wParam,lParam,0);
}
WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
ChuangJianChuangKou("sss",WndProc,true,KongJianDaXiao(0).x/2,KongJianDaXiao(0).y/2);
while(GengXinChuangKou());
}
Ⅵ C语言如何检测点击的按钮
通常很多情况下,会有这样的事情,就是:
我们在运行某些程序的时候,发现按钮置灰了,比如购买版权或者输入序列号才能够获得访问权限。某个按钮才允许点击。
其实所有的这些东西都是 别的人或者公司利用一些编程语言调用windows的函数,实现的。所以如果我们也能调用windows的函数,那么我们就能够执行一些按钮或者某些东西背后的函数。
自己的mfc还暂时 用不了,不过 可以 试试这个。
调出这个界面,看到有一个置灰的设置按钮。我们可以试着调用这个后面的函数。
/*如何调出来?【在win7环境下】
打开控制面板
点击鼠标。*/
然后利用vs的工具中的spy++ x64。
进入查找窗口。
拖住这个到刚刚鼠标的那个置灰的按钮上面。就可以得到一个句柄。
句柄【在我理解,就是一个话把子,怎么解释,就是,别人说一件事儿,你得顺着往下说才能把话接下来,然后完成你想说的东西。在程序里面,执行到这里,有这样一个句柄,允许我们说话了,我们就从这一点开始,顺着往下说,往往就能得到我们想要的结果】
所以得到了句柄之后。我们可以新建一个工程。
#include <windows.h>
int main(){
SendMessage(0x001607E6,WM_LBUTTONDOWN,0,0);
SendMessage(0x001607E6,WM_LBUTTONUP,0,0);
return 0;
}
//在HWND的第一个参数里面输入刚刚的句柄。
//猜测 第二个参数 是 WindowManager_LeftButtonDown,就是窗口管理器左键按钮点下。
//然后左键按钮弹起。
就强制的往刚刚不能执行的函数里面发送了一个信息。前面的引文介绍说,这就是调用了windows底层的一些函数,如果按钮可以点击,则鼠标点击,按钮按下,当需要注册的时候,或者需要序列号的时候我们并没有,就不能点击。但是当我们给他发送一条消息以后,是不是问题就解决了。