c語言有專門的函數(shù)啊,比如bioskey()函數(shù),用它可以獲得鍵盤上按鍵的鍵值,獲得鍵值之后,把它們記住,或者用宏定義,就可以為以后的 判斷語句使用,
成都創(chuàng)新互聯(lián)咨詢熱線:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域十余年,包括成都主動防護(hù)網(wǎng)等多個行業(yè)擁有多年設(shè)計經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián),為企業(yè)保駕護(hù)航!
for example:
#includestdio.h
void main(void)
{
int key=0;
clrscr();
while(key != 0x11b) /*0x11b就是ESC鍵的鍵值,用它來判斷結(jié)束,這是我事先知道的,方法是一樣的*/
{
key = bioskey(0);
printf("%x ",key);/*把獲得的鍵值用16進(jìn)制顯示*/
}
}
k=k0xff?0x00ff:k8;其實(shí)就是
if(k0xff) {
k=0x00ff;
}else {
k=k8;
}的簡寫。
其實(shí)0xff和0x00ff是一樣的,都表示同一個十六進(jìn)制的值。
書上這么寫,沒有錯;至于為什么,就不好說了。
可能是讓你多學(xué)點(diǎn)知識,也可能是現(xiàn)在很多書其實(shí)在編寫時并不是很認(rèn)真的。畢竟盡信書不如無書!
后面的k8是把0xff的值右移8位,達(dá)到計算的目的(具體什么目的要看具體內(nèi)容)
printf ("輸入任意鍵繼續(xù)!");
getchar ();//這時需要從鍵盤輸入任意鍵才能繼續(xù)下面的代碼。
.....//其他代碼。
添加WM_KEYDOWN函數(shù)。在函數(shù)體中case WM_KEYDOWN: if (wParam==VK_LEFT)//方向鍵左 { rect1.left-=10; rect1.right-=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_RIGHT)//方向鍵右 { rect1.left+=10; rect1.right+=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_UP)//方向鍵上 { rect1.top-=10; rect1.bottom-=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_DOWN)//方向鍵下 { rect1.top+=10; rect1.bottom+=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_PRIOR)//PG UP { rect1.top-=10; rect1.bottom-=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_NEXT)//PG DN { rect1.top+=10; rect1.bottom+=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_HOME)//HOME { rect1.left-=10; rect1.right-=10; InvalidateRect (hWnd,NULL,TRUE); } else if (wParam==VK_END)//END { rect1.left+=10; rect1.right+=10; InvalidateRect (hWnd,NULL,TRUE); } break;
這個程序應(yīng)該滿足你的要求吧。
#include stdio.h
#include conio.h
int main(void)
{
while (1)
{
if (!kbhit())
printf("1");
else
{
char c = getch();
if (c == 'a')
{
putchar('2');
getch();
}
}
}
return 0;
}
網(wǎng)站標(biāo)題:c語言中和按鍵有關(guān)的函數(shù) c語言中函數(shù)的用法
URL網(wǎng)址:http://chinadenli.net/article40/hgdgeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、小程序開發(fā)、網(wǎng)站建設(shè)、定制開發(fā)、商城網(wǎng)站、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)