當前位置:首頁 » 編程語言 » c語言編寫一個點擊按鍵
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編寫一個點擊按鍵

發布時間: 2022-12-28 10:10:05

A. 如何用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());
}

B. 如何用C語言實現按鍵功能

主要就是按鍵檢測,防抖唄。
首先給出檢測按鍵代碼:(我這個事4*4鍵盤。具體你要根據實際情況編寫)
uchar TestKey()
{
uchar cord_h,cord_l;
P6=0x0f;
cord_h=P6&0x0f;
if(cord_h!=0x0f)
{
Delay_Xms(1);
if(cord_h!=0x0f)
{
cord_h=P6&0x0f;
P6=cord_h|0xf0;
cord_l=P6&0xf0;
return(cord_h+cord_l);
}
}return(0xff);
}

--------------------------------------
然後你在Main函數里編寫循環,檢測按鍵然後做你想做的事情。。。
while(1)
{
key=TestKey();//調用鍵盤掃描,
switch(key)
{
case 0x7e:P4=0xa1;break;//0 按下相應的鍵顯示相對應的碼值
case 0x7d:Show1Menu();break;//1
case 0x7b:P4=0x83;break;//2
case 0x77:P4=0x88;break;//3
case 0xbe:P4=0x99;break;//4
case 0xbd:P4=0x90;break;//5
case 0xbb:P4=0x82;break;//6
case 0xb7:P4=0xb0;break;//7
case 0xde:P4=0xc0;break;//8
case 0xdd:P4=0x80;break;//9
case 0xdb:P4=0x92;break;//a
case 0xd7:P4=0xa4;break;//b
case 0xee:P4=0xc6;break;//c
case 0xed:P4=0xf8;break;//d
case 0xeb:P4=0x99;break;//e
case 0xe7:P4=0xf9;break;//f
}
}

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 獲取本軟體包。

D. 用C語言寫一個控制滑鼠鍵盤自動點的程序復雜嗎

很簡單啊~

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//重要!
intmain()
{
SetCursorPos(0,0);//設置滑鼠坐標
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//點擊左鍵
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);//點擊右鍵
return0;
}
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//重要!
intmain()
{
//字母
keybd_event('A',0,0,0);//按下
keybd_event('A',0,2,0);//松開
//回車
keybd_event(0x0d,0,0,0);
keybd_event(0x0d,0,2,0);
}

E. 如何利用c語言添加button按鈕

Windows 窗體程序是基於消息機制的,所有控制項,它的本質都是一個窗體,都是使用 CreateWindows 函數來創建,不過類名,則需要指定為系統預先注冊的控制項類,比如,你要創建一個按鈕控制項,就要這樣子 CreateWindows( "BUTTON", "按鈕標題" ),CreateWindows 這個函數你應該用了不少了吧,其餘的參數可以參考 MSDN,但是類名我們指定了 「BUTTON」,說明我們要創建一個按鈕,每個按鈕都有一個唯一的 ID,通過你的消息處理函數,可以知道哪個按鈕發生了什麼事件,詳細講的話,非常多,你可以參考 MSDN,或者《Windows 程序設計》這本書 。

F. 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);
}
以上運行結果正常,不過結果貼不上來啊,就靠自己了啊

G. 怎樣用C語言做一個按鈕並設置點擊反應

void delay() //延遲子程序
{
unsigned char i,j;
i=5;
while(i--)
for(j=0;j<200;j++);
}

uint key() //按鍵子程序
{
f(k1==0)// 當按鍵按下時
{
delay( );// 延遲等待
if(k1==0) // 如果按鍵還是按下的動作,確定按鍵已經按下
while(!k1) ; // 當按鍵有彈起以後,再執行動作
{ /*這里自己/設置按鍵按下以後要執行的動作*/}

}
}

希望對您有所幫助!

H. c語言編程,從鍵盤任意按下一個鍵程序能識別並輸出按鍵種類

#include<stdio.h>
#include<conio.h>
void main() { char c;
while ( 1 ) {
c=getch();
if ( c==27 ) { printf("Esc鍵退出。\n"); break; }
else if ( c>='a' && c<='z' ) printf("小寫字母\n");
else if ( c>='A' && c<='Z' ) printf("大寫字母\n");
else if ( c>='0' && c<='9' ) printf("數字\n");
else printf("其他字元\n");
}
}

I. 單片機 用C語言怎麼編寫用一個按鈕,控制一盞燈的亮與滅的程序

讀取連接按鍵的IO口,判斷是否為低電平,如果是,延時(十毫秒左右可以),再次讀取IO口,判斷是否為低電平,如果是則表示有有效的按鍵按下,接著用while判斷等待按鍵釋放,然後讓連接led的IO口電平取反以控制其亮滅(是強電的燈可以通過此處控制繼電器的合、閉來控制燈的亮滅)。參考程序:if(key==0){delayms(10);if(key==10){while(key==0);//等待按鍵釋放,IO口恢復高電平led=!led;//按鍵控製程序}}