#includeiostream/*GetKeyState()函數(shù)是windows.h中的饑察跡函數(shù)沒(méi)枝,當(dāng)括號(hào)內(nèi)的鍵被按下時(shí),其值小于0,*/
成都創(chuàng)新互聯(lián)專注于懷來(lái)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供懷來(lái)營(yíng)銷型網(wǎng)站建設(shè),懷來(lái)網(wǎng)站制作、懷來(lái)網(wǎng)頁(yè)設(shè)計(jì)、懷來(lái)網(wǎng)站官網(wǎng)定制、成都小程序開(kāi)發(fā)服務(wù),打造懷來(lái)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供懷來(lái)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
#includewindows.h/*并且只要在只要鍵處于被按下的狀態(tài),其值都會(huì)小于0,當(dāng)鍵被松開(kāi)時(shí),其值爛并大于0*/
using namespace std;
int main()
{
while(1){
if((GetKeyState(VK_CONTROL)0)(GetKeyState('A')0)){
cout"CONTROL+A";
while(GetKeyState(VK_CONTROL)0GetKeyState('A')0) ;//只要鍵被按下,就會(huì)有一定的持續(xù)時(shí)間。
}
}
}
//自己耗費(fèi)1天半的嘔心瀝血之作,希望對(duì)你有用!
,用它可以獲得鍵盤(pán)上按鍵的鍵值,獲得鍵值之后,把它們記住,或者用宏定義,就可以為以后的 判斷語(yǔ)句老返使用,
for example:
#includestdio.h
void main(void)
{
int key=0;
clrscr();
while(key != 0x11b) /*0x11b就是ESC鍵的鍵值,用它來(lái)判侍塌饑斷結(jié)束,這是我事先知道的,方法是一樣的*/
{
key = bioskey(0);
printf("%x ",key);/*把獲得的鍵值用16進(jìn)制顯衫納示*/
}
}
getkey()應(yīng)該是得到鍵值的函數(shù),C語(yǔ)言里有這個(gè)函數(shù)嗎?我怎么沒(méi)見(jiàn)過(guò)(在下又孤陋寡聞了,汗,,,)我覺(jué)得需要自己定禪耐饑義一個(gè)吧,不知道LZ在哪兒看見(jiàn)的,先不廢話了,getch()是從鍵盤(pán)得到一個(gè)字符,用法如:。。。char ch;getch(ch);//OR ch=geych();。。?!,F(xiàn)在很多編譯器不承認(rèn)這個(gè)函數(shù)賀返了,最好寫(xiě)成getchar(),用法沒(méi)變;flush()是刷新屏幕畝磨用的吧,或者是刷新緩存,,,哦,忘了,,自汗,,,希望可以幫到LZ
用bioskey()函數(shù);在dos.h頭文件中!
函數(shù)原型:int bioskey (int cmd)
說(shuō)明:bioskey()的函數(shù)原型在bios.h中
bioskey()完成直接鍵盤(pán)操作,cmd的值決定執(zhí)行什么操作。
cmd = 0:
當(dāng)cmd是0,bioskey()返回下一個(gè)在鍵盤(pán)鍵入的值(它旦舉做將等待到按下一個(gè)鍵)。它返回一個(gè)16位的二進(jìn)制數(shù),包括兩個(gè)不同的值。當(dāng)按下一個(gè)普通鍵時(shí),它的低8位數(shù)存放該字符的ASCII碼;對(duì)于特殊鍵(如方向鍵答睜、F1~F12等等),低8位為0,高8位字節(jié)存放該鍵的掃描碼。
cmd = 1:
當(dāng)cmd是1,bioskey()查詢是否按下一個(gè)鍵,若按下一個(gè)鍵則返回非零值,否則返回0。
cmd = 2:
當(dāng)cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert鍵的狀態(tài)。各鍵狀態(tài)存放在返回值的低8位字節(jié)中。
字節(jié)位 含義
0 右邊Shift鍵狀態(tài)
1 左邊Shift鍵狀態(tài)
3 Ctrl鍵狀態(tài)
4 Alt鍵狀態(tài)
5 ScrollLock鍵模衡狀態(tài)
6 NumLock鍵狀態(tài)
7 CapsLock鍵狀態(tài)
8 Insert鍵狀態(tài)
方向鍵可以用下面的程序啊!
#define Key_Up 0x4800/*up*/
#define Key_Down 0x5000/*down*/
#define Key_Right 0x4d00/*right*/
#define Key_Left 0x4b00/*left*/
int key=bioskey(0);
switch(key)
{
case Key_Up:/*code*/
case Key_Down:/*code*/
case Key_Left:/*code*/
case Key_Right:/*code*/
}