导航:首页 > 软件知识 > 程序如何读取方向键的值

程序如何读取方向键的值

发布时间:2023-03-30 03:52:16

① 如何用最简单的VC程序获取方向键的输入并输出对应的方向,如“上”,没输入的时候就输出一个固定的字符串

是MFC吗?VC6.0的MFC的话,在类向导中增加WM_KEYDOWN消息的处理函数宏雀,其中参数nChar指的是按键的虚键。如“上”为VK_UP,下:VK_DOWN,左VK_LEFT 右VK_RIGHT。
在OnKeyDown函数中加入判断语句就行了如

String msg;
msg=_T("我在山绝运打豆豆");
switch(nChar)
{
case VK_UP:
msg=_T("上");
break;
case VK_DOWN:
msg=_T("下");
break;
case VK_LEFT:
msg=_T("左逗梁");
break;
case VK_RIGHT:
msg=_T("右");
break;
}
CClientDC dc(this);
dc.TextOut(0,0,msg);

② C++ getch()获取方向键的ascii码问题

上下左右键键值应该是37、38、39、40。

③ c语言如何使用键盘上的上下左右键

用bioskey()函数可以实现读取键盘的或并培上下左右键


函数原型:int bioskey (int cmd)

说 明:蔽孝bioskey()的函数原型在bios.h中,即必须包含头文件#include<bios.h>


读取方向键可以用下面的程序啊!

#include<stdio.h>
#include<bios.h>
#defineKey_Up0x4800//向上方向键
#defineKey_Down0x5000//向下方向键
#defineKey_Right0x4d00//向右方向键
#defineKey_Left0x4b00//向左方向键
voidmain()
{
intkey=bioskey(0);
switch(key)
{
caseKey_Up:{printf("向上方向键被按下");break;}
caseKey_Down:衫唯{printf("向下方向键被按下");break;}
caseKey_Left:{printf("向左方向键被按下");break;}
caseKey_Right:{printf("向右方向键被按下");break;}
}
}

④ c语言中怎样输入和读取方向键

在用C语言写出的“贪吃蛇”小游戏中,可以自编以下这个intokey( )函数,用来获取方向键值以便控制蛇梁哪的拐弯。库函数kbhit( )是检测是否有按键被按下,Dir是代表方向的变量,整型变量flag用来获取键值,1、2、3、4分别表示方向的上下左右。要#include<conio.h> .

void intokey( )

{ int flag;

if ( kbhit( ) ) //判断有键按下时才执行下面操作

{ flag = getch( ); //用flag来获取键值

if (flag==224) flag = getch( ); //值为224是方向键,要再次获取才行

if (flag==72 && dir != 2) dir = 1; //方向键为“上”且原方向不为下时,让dir=1.

if (flag==80 && dir != 1) dir = 2; //方厅喊向键为“下”且原方向不为上时,让dir=2.

if (flag==75 && dir != 4) dir = 3; //方向键为“左”且原方向不为右时,让dir=3.

if (flag==77 && dir != 3) dir = 4; //方向键为“右”且原方向不为左时,让dir=4.

}

}

注:上下左右键按下后都会产生2个值,第一个是224,第二个才分别是72、80、75和

77.所以要用库函数getch( )两次获取键值。如果是ASDW来控制拐弯,flag可以定义为

字符型,获取一次键橡伏码值即可。

⑤ vb中如何获得键盘方向键的键值

将窗体KeyPreview属性设置为True并对Form_KeyDown事件编程,可以获取键盘箭头键的键值。实现方法如下:

OptionExplicit

PrivateSubForm_Load()
'允许窗体拦截键盘按键
Me.KeyPreview=True
EndSub

PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
'KeyCode键盘码是键盘上每个按键的唯一编码逗脊
'在VB中,符号常数表示键盘码,例如vbKeyF1表示F1键,
'vbKeyHome表示HOME键……
侍汪SelectCaseKeyCode
CasevbKeyLeft:Print"左箭头键值:"+CStr(KeyCode)
CasevbKeyRight:Print"右箭头键值:"+CStr(KeyCode)
CasevbKeyUp:Print"上老指仔箭头键值:"+CStr(KeyCode)
CasevbKeyDown:Print"下箭头键值:"+CStr(KeyCode)
EndSelect
EndSub

⑥ c语言中getch() 怎么用

getch()这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车。

所在头文件:conio。

函数用途:从控制台读取一个字符,但不显示在屏幕上。

函数原型:int getch(void)。

返回值:读取的字符。

(6)程序如何读取方向键的值扩展阅读:

getch()使用时易错点:

1、所在头文件是conio。而不是stdio。

2、在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数

也会返回的情况。

3、在不同平台,输入回车,getch()将返回不同数值。windows平台下ENTER键会产生两个转义字符 ,因此getch返回13。unix、 linux系统中ENTER键只产生 ,因此getch返回10。

4、getch(皮锋拦)并基塌非标准C中的函数,不存在C语言中,所以在使用的时候要注意程序的可移植性。getch函数在读取一个功能键或者箭头(方向)键盘时,函数会返回两次,第一次调用返回0或者0xE0,第二次调用返回实际的键值。

⑦ c#控制台应用程序怎么获取键盘上的上下左右键

直接上代码,如下巧或
public static void Main(String[] args)
{
bool tag = true;
do
{
ConsoleKeyInfo info = Console.ReadKey();
switch (info.Key)
{
case ConsoleKey.E:
Console.WriteLine("埋皮exit");
tag = false;
break;
case ConsoleKey.UpArrow:
Console.WriteLine("Up");
break;
case ConsoleKey.DownArrow:
Console.WriteLine("Down");
break;
case ConsoleKey.LeftArrow:
Console.WriteLine("Left");
break;
case ConsoleKey.RightArrow:
Console.WriteLine("弯宽差Right");
break;
default:
Console.WriteLine(info.Key);
break;
}
} while (tag);
Console.Read();
}

⑧ C语言获取按键信息函数

这个程锋轿序应该满足你的要求吧。
#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;
}

⑨ C#中如何获取方向键

重写ProcessCmdKey事件就可以获取到方向键,代码如下:

(refMessagemsg,KeyskeyData)
{
label1.Text=keyData.ToString();
returnbase.ProcessCmdKey(refmsg,keyData);
}

效果如下:

说明:

Control.ProcessCmdKey 方法

参数
msg
类型:System.Windows.Forms.Message%
通过引用传递的 Message,它表示要处理的窗口消息。
keyData
类型:System.Windows.Forms.Keys
Keys 值之一,它表示要处理的键。
返回值
类型:System.Boolean
如果字符已由控件处理,则为 true;否则为 false。

备注
在消息预处理过程中调用此方法,以处理命令键。 命令键是始终比常规输入键具有优先权的键。 命令键的示例包括快捷键和菜单快捷方式。 此方法必须返回 true,以指示它已经处理完命令键,或者 false,以指示该键不是命令闭轮租键。 仅当控件承载在 Windows 窗体应用程序中或充当 ActiveX 控件时,才调用此方法。
ProcessCmdKey 方法首先确定控件是否有 ContextMenu,如果有,则允许 ContextMenu 处理命令键。 如果命令键不是菜单快捷方式,且控件有父级,那么该键传递到父级的 ProcessCmdKey 方法。 净效果是命令键在控件层次结构中向上“冒”。 除了用户按下的键外,键数据还指示哪些(如果有的话)修改键与该键同时按下。 修改键包括 Shift、Ctrl 和 Alt 键。轿兆
对继承者的说明
在派生类中重写 ProcessCmdKey 方法时,控件应返回 true 以指示它已处理该键。 对于未由该控件处理的键,应返回桐敏调用基类的 ProcessCmdKey 方法所得的结果。 控件很少需要重写此方法(即使有的话)。

⑩ c语言中怎样输入和读取方向键

在贪吃蛇中定义了扮山intokey( )函数[你也可以改成别的],整个函数体中的代码就是获取键盘的方向键值,倒数第2-5行是获取回车键值,按下回车键游戏就暂停。这里用direction表示方向,程序中UP、DOWN、LEFT、RIGHT分别固定代表1、2、3、4这四个值厅盯中。第三行判断获得了向上的键值,第四行在direction不等于DOWN值(就是2)时执行 else { direction = UP; } 第(5、6);(7、8);(则岩9、10)等行的意思,与这第(3、4)行类似,只是取值不同。要包含文件 #include<conio.h> 。
void intokey()
{
if (GetAsyncKeyState(VK_UP) && 0x8000)
{ if (direction == DOWN) { } else {direction = UP; } }
if (GetAsyncKeyState(VK_DOWN) && 0x8000)
{ if (direction == UP) { } else {direction = DOWN; } }
if (GetAsyncKeyState(VK_RIGHT) && 0x8000)
{ if (direction == LEFT) { } else {direction = RIGHT; } }
if (GetAsyncKeyState(VK_LEFT) && 0x8000)
{ if (direction == RIGHT) { } else {direction = LEFT; } }
if (GetAsyncKeyState(VK_RETURN) && 0x0D)
{ while (1)
{ if (GetAsyncKeyState(VK_RETURN) && 0x0D) { break; } }
}
}

阅读全文

与程序如何读取方向键的值相关的资料

热点内容
适合高中生的代理创业门路干什么 浏览:28
淘宝产品如何产生聚焦 浏览:128
专业的股票信息律师在哪里找 浏览:798
做网站用什么程序好 浏览:149
天安门的基本信息有哪些 浏览:159
东北总部基地到北市场怎么走 浏览:253
大数据的内容包括哪些 浏览:721
爱游戏业务信息服务费是什么意思 浏览:482
潜水进胶产品如何解决缩水问题 浏览:982
扬州专业技术开发有哪些 浏览:108
云南哪个技校技术硬 浏览:761
机票代理为什么说15天给票 浏览:198
世卿防滑剂代理多少钱 浏览:563
周口代理有什么好项目多少钱 浏览:856
莆田钢材市场在哪里 浏览:460
代理企业不交社保怎么办 浏览:600
生产抱枕还能做什么产品 浏览:165
宿州混凝土市场如何 浏览:797
工商管理的技术含量在哪里 浏览:303
mac没有鼠标怎么退出程序 浏览:717