关于模拟按键::急

Micro_J 2001-08-17 10:32:45
我的程序要实现模拟按键的功能,但无论我用keybd_event或PostMessage,
对一般程序都非常成功地实现,唯对一些需DirectX的程序无效,例如模拟器。
是不是它用了Direct Input后我就无法模拟按键了?
...全文
863 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dala 2001-09-06
  • 打赏
  • 举报
回复
在DirectX SDK的例子中有你的答案。
assay 2001-09-06
  • 打赏
  • 举报
回复
好象没回答问题。
yushaofeng 2001-08-27
  • 打赏
  • 举报
回复
study
good luck to you
8080 2001-08-27
  • 打赏
  • 举报
回复
把ASCII码值直接写到键盘缓存里
assay 2001-08-27
  • 打赏
  • 举报
回复
后面有关鼠标和键盘输入的章节?
kyosuke 2001-08-27
  • 打赏
  • 举报
回复
在讲解了复杂的鼠标和游戏杆输入之后,我们在这里用简单的篇幅讲解一下键盘输入。对于DirectInput来说,键盘是作为一个高效的游戏控制器来处理的。如果你要输入文本,那么你可以使用Windows提供的标准服务。在独占模式中,我们是不能获取键盘数据的,我们所能获得的是WM_KEYDOWN、WM_KEYUP和WM_CHAR消息以及由GetDeviceState和GetDeviceData所返回的输入值。在DInput例子程序中,应用程序通过对Ctrl-F的响应就说明了这一点。26.1 一个有101个按钮的游戏板就像DirectX SDK文档中所说的一样,在DirectInput情况下,键盘并不是文本输入设备,而是一块带有很多按钮的游戏板。虽然在键盘中并没有轴(游戏板中有),但它们还是具有很大的相似性的。在消息传递系统中,Windows在把一个按钮消息发送到消息队列之前要对它做很多处理。它要判断一个键是否被按下,如果是这样的话,那么就检查所按下的时间并与控制面板中设置好的重复延时和重复速率相比较。在生成消息的时候,Windows还要处理物理键所代表的虚拟键(VirtualKey)以及组合键的使用等。对于GetAsyncKeyState这类函数,它所返回的也是Windows处理过的数据。在DirectInput中,情况却完全不是这样的,它所关心的仅是两件事情:某个键是否被按下和这个键的代码是什么。为了实现事件通知和基于缓冲区的数据,DirectInput把键状态的改变翻译成一次按键事件和一次释放事件。但在一个键被按下时,不管按下多长时间,它所触发的仅是一个单一的事件。用一对一的方法,DirectInput把扫描码转换成一个从0到255之间的数值,并且这些数值都用DIK_*的方式来定义(参见表26-1)。与Windows的键盘服务不一样,DirectInput要区分两个具有相同名字的键,如主键盘和数字键盘上的Enter键。另外与Windows服务不一样的是,DirectInput以相同的方式处理每一个键,而不管这个键是字母、数字还是Alt、Scroll Lock等键。当然,DirectInput在某些特殊的情况下还是会执行一些转换操作。例如,NEC键盘所生成的并不是标准的扫描码,这时DirectInput就会自动把它转换成标准的PC键盘扫描码。如果你们所开发的应用程序是面对国际市场的,那么还要注意日本的键盘上有些键是不存在的,而在美国式的键盘上,则有一些非标准的附加键。关于这些信息,请参考DirectInput SDK的文档。
26.2 直接的键盘数据读取键盘的状态再也没有这么简单了,你只需申明一个256字节的数组然后再调用IDirectInputDevice::GetDeviceState。注意,你并不需要在调用IDirectInputDevice::GetDeviceState之前调用Poll,这是因为键盘数据总是由中断产生的。char keys[256];HRESULT hr = g_lpdid2->GetDeviceState( sizeof( keys ), keys );现在你可以访问这个数组并用DIK_*数值来判断任何键的状态。与以前一样,如果字节的高位被置成1,则说明键是被按下;如果是0说明键没有被按下。If ( keys[DIK_LMENU] & 0 ×80 ) {;} // Ieft Alt is down.表26-1 DirectInput键盘常数键名别名注释DIK_ESCAPDIK_1在主键盘上DIK_2在主键盘上DIK_3在主键盘上DIK_4在主键盘上DIK_5在主键盘上DIK_6在主键盘上DIK_7在主键盘上DIK_8在主键盘上DIK_9在主键盘上DIK_0在主键盘上DIK_MINUS在主键盘上DIK_EQUALS在主键盘上DIK_BACKDIK_BACKSPACEBackspace键DIK_TABDIK_QDIK_WDIK_EDIK_RDIK_TDIK_YDIK_UDIK_IDIK_ODIK_PDIK_LBRACKET [键DIK_RBRACKET ]键DIK_RETURN键盘上的回车键DIK_LCONTROL左Ctrl键DIK_ADIK_SDIK_DDIK_FDIK_GDIK_HDIK_JDIK_KDIK_LDIK_SEMICOLONDIK_APOSTROPHEDIK_GRAVE'键DIK_LSHIFT左Shift键DIK_BACKSLASHDIK_ZDIK_XDIK_CDIK_VDIK_BDIK_NDIK_MDIK_COMMADIK_PERIOD在主键盘上DIK_SLASH在主键盘上DIK_RSHIFT右Shift键DIK_MULTIPLYDIK_NUMPADSTAR数字键盘上的*键DIK_LMENUDIK_LALT左Alt键DIK_SPACE空格DIK_CAPITALDIK_CAPSLOCK DIK_F1DIK_F2DIK_F3DIK_F4DIK_F5DIK_F6DIK_F7DIK_F8DIK_F9DIK_F10DIK_NUMLOCKDIK_SCROLLScroll Lock键DIK_NUMPAD7 DIK_NUMPAD8 DIK_NUMPAD9 DIK_SUBTRACTDIK_NUMPADMINUS数字键盘上的-键DIK_NUMPAD4 DIK_NUMPAD5DIK_NUMPAD6DIK_ADDDIK_NUMPADPLUS数字键盘上的+键DIK_NUMPAD1DIK_NUMPAD2DIK_NUMPAD3DIK_NUMPAD0DIK_DECIMALDIK_NUMPADPERIOD数字键盘上的.键DIK_F11DIK_F12 DIK_F13DIK_F14 DIK_F15 DIK_KANA在日本键盘上DIK_CONVERT在日本键盘上DIK_NOCONVERT在日本键盘上DIK_YEN在日本键盘上DIK_NUMPADEQUALS在数字键盘上(NECPC98)DIK_CIRCUMFLEX在日本键盘上DIK_AT在日本键盘上DIK_COLON在日本键盘上DIK_UNDERLINE在日本键盘上DIK_KANJI在日本键盘上DIK_STOP在日本键盘上DIK_AX在日本键盘上DIK_UNLABELED在日本键盘上DIK_NUMPADENTER DIK_RCONTROL右Ctrl键DIK_NUMPADCOMMANEC PC98数字键盘上的逗号DIK_DIVIDEDIK_NUMPADSLASH数字键盘上的/号DIK_SYSRQDIK_RMENUDIK_RALT右Alt键DIK_HOMEDIK_UPDIK_UPARROWDIK_PRIORDIK_PGUPPageUp键DIK_LEFTDIK_LEFTARROWDIK_RIGHTDIK_RIGHTARROWDIK_ENDDIK_DOWNDIK_DOWNARROW下向箭头键DIK_NEXTDIK_PGDNPageDown键DIK_INSERTDIK_DELETEDIK_LWIN左边Windows徽标键DIK_RWIN右边Windows徽标键DIK_APPS应用程序键
26.3 基于缓冲区的键盘数据DirectInput是用基于缓冲区数据的方法来处理键盘输入的,对于这一点我们不必感到奇怪。从键盘中读取基于缓冲区的输入就像读取游戏杆和鼠标的按键输入一样。与以前一样,每一个基于缓冲区的事件都与DIDEVICEOBJECTDATA结构的dwOfs成员变量中的设备物相联系。在这种情况下,.......。如果事件被按下,那么dwData成员变量的0x80位被置成1;如果事件被释放,那么dwData成员变量的0x80位被置成0。26.3.1 处理数据的丢失到目前为止,我们还没有谈到这样的一个问题:对于基于缓冲区的数据,怎样处理数据流被打断的情况。这种情况不仅仅会出现在键盘设备上,在其他的任何设备上它都可能会出现。数据流的打断会以如下两种方式出现:1. 设备被强制性地失去获取状态——例如,当原来具有前端协作级别的应用程序被移到后端时,GetDeviceData函数失败并且返回DIERR_INPUTLOST。如果应用程序在重新获取设备时失败,那么下一次调用GetDeviceData将返回DIERR_NOTACQUIRED。2. 缓冲区溢出。GetDeviceData函数执行成功,但返回DI_BUFFEROVERFLOW。这表明某些数据没有被返回而且这些数据永远地丢失了。假设应用程序在GetDeviceData函数获取空格键被按下事件时开始进行射击,而在空格键被释放时停止射击。如果用户在按下空格键和释放空格键中间碰巧用鼠标单击了另一个窗口程序,那么应用程序是不会停止射击的,这是因为应用程序将丢失键盘的信息,从而导致它不能获取空格键的释放事件。为了从上述情形下恢复正常,我们将不得不立即调用GetDeviceState函数以重新获取设备。对于出现DI_BUFFEROVERFLOW结果的情况也一样。
26.4 总结n DirectInput把键盘当作一组按钮来处理,它并不关心键的组合状态。如果你想处理字符与控制键的组合状态,那么可以通过响应WM_CHAR消息来实现。n 键盘上的键都已经用DIK_*定义,这些数值分别与用于返回立即数值的一个256字节的缓冲区相对应。n 从键盘设备返回缓冲区数据与从鼠标和游戏杆设备中返回缓冲区数据完全一样。n 在返回基于缓冲区的数据时,应用程序必须随时准备恢复意外丢失的键释放事件。
kyosuke 2001-08-23
  • 打赏
  • 举报
回复
如果用户是DirectInput编程的新手,那么应先排除掉一些旧观念。应记住的重要一点是DirectInput的得名是因为它直接与设备驱动器通讯,对鼠标和键盘也就意味着立即响应硬件中断,而不是等待Windows发送消息证明已发生输入事件。当然,DirectInput放弃了Windows的消息队列,在虚构WM_KEYDOWN或WM_MOVSEMOVE等消息的同时也就不再享受Windows提供的一些服务。这种服务大都不是对游戏输入特别有用,但它有助于理解缺少这些服务时所产生输入信息的含义,后面有关鼠标和键盘输入的章节中,将深入地讨论这一问题。
kimryo 2001-08-23
  • 打赏
  • 举报
回复
用ASM一定行...
assay 2001-08-23
  • 打赏
  • 举报
回复
up
Micro_J 2001-08-22
  • 打赏
  • 举报
回复
怎么用钩子夺过对键盘控制的权力呢?我只会用钩子监视键盘。
HeavenGarden 2001-08-21
  • 打赏
  • 举报
回复
可以使用钩子夺过对键盘控制的权力,再实现模拟按键就行了
Micro_J 2001-08-21
  • 打赏
  • 举报
回复
用钩子?
用钩子好象只能监控按键,不能模拟按键吧?
assay 2001-08-21
  • 打赏
  • 举报
回复
确实如此
assay 2001-08-20
  • 打赏
  • 举报
回复
up
Micro_J 2001-08-20
  • 打赏
  • 举报
回复
up
HeavenGarden 2001-08-20
  • 打赏
  • 举报
回复
好像要用的钩子函数才能实现吧
yushaofeng 2001-08-20
  • 打赏
  • 举报
回复
study

◎§◎
 ◇
wildhorse01 2001-08-20
  • 打赏
  • 举报
回复
学习:)
xycleo 2001-08-20
  • 打赏
  • 举报
回复
不懂啊!!!只好关注
Micro_J 2001-08-20
  • 打赏
  • 举报
回复
up
加载更多回复(6)
摘要:自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交 通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增 加,经济发展,汽车数量剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能 ,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的 效果。 近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入 人民的生活当中。本模拟交通灯系统利用单片机AT89S51作为核心元件,实现了通过信号 灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合 理、车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方 便等优点,有广泛的应用前景。 本模拟系统有单片机硬/软件系统,8位8段数码管显示系统。和复位电路控制电路等 组成,较好的模拟了交通路面的控制。 一:设计思路 (1):分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自 己的交通控制的初步方案。 (2):确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以 及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功 能,还有倒计时显示提示、紧情况下,全面禁行、黄绿红灯及左转周期随时可调这三 项项特特殊功能。 (3)进行显示电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件 及模块的基本功能要求。 (4)进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机 内部结构和工作情况做了充足的研究,了解中断以及延时原理,总体上完成了软件的编 写。然后在开发板上进行硬件调试。 二:单片机交通控制系统方案 2.1电源的供电方案 为使模块稳定的工作,必须有可靠的电源。同时由于我们此次设计是基于开发板的,其 内部已经将电源供电模块安装好,为了方便节省时间,我们采用开发板上的电源模块。 2.2显示界面设计 该系统要求完成倒计时功能,又由于所买开发板的限制,我们无法同时分别控制使用开 发板上的LED灯和八段数码显示管,因此我们采取用最右边的两个数码管显示时间,其余 六个数码管分别代表南北、东西方的红黄绿灯及左转信号。 2.3输入方式 受限于开发板,我们采用4x4矩阵键盘输入,其中10个作为0- 9数字键,4个作为输入选择键,两个弃用。 三:单片机的交通控制系统的总体设计 1 3.1单片机交通控制系统的通行方案设计 2 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行, 持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下: 3 (1)南北、东西方向黄灯都亮3秒,其他灯灭(为了方便演示,我们把初始时间设得较 短,进入程序后,可根据需求用键盘把黄灯时间设定为0-9秒中的任意值) 4 (2)南北方向黄灯灭,同时绿灯亮,东西方向红灯亮,同时黄灯灭,倒计时2秒(为了 方便演示,我们把初始时间设得较短,进入程序后,可根据需求用键盘把黄灯时间设 定为0-99秒中的任意值)。此状态下,东西向禁止通行,南北向允许通行。 (3)重复(1) (4)南北方向红灯亮,同时黄灯灭,东西方向绿灯亮,同时红灯灭,倒计时4秒(为 了方便演示,我们把初始时间设得较短,进入程序后,可根据需求用键盘把黄灯时间设 定为0-99秒中的任意值)。此状态下,东西向允许通行,南北向禁止通行。 (5)步骤(1)-(4)循环N次后(默认为1,运行后可设置为0- 9任一值),选择相间执行(6)或(7) (6)南北方红灯,东西方黄灯+绿灯,时长为南北向红灯时间。此时,南北向禁行, 东西向可前行和左转。南北向黄灯,东西方红灯,时长为黄灯时长。回到(1)重新循环 。 (7)南北向黄灯,东西向黄灯,时长为黄灯时长。接着是南北向黄灯+绿灯,东西向 红灯,时长为红灯时长。此时,南北向可前行和左转。回到(1)重新循环。 由于开发板中灯与数码管的端口是同一端口,所以我们决定用剩余的数码管来显示红 绿灯的状态。某个管全亮,代表这个管所代表的灯亮,黄绿灯齐亮表示可左转。 3.2 单片机交通控制系统的功能要求 本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的 信号发生,还能进行倒计时显示,通行时间调整功能和紧情况全面禁行。 (1)倒计时显示 倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在"停止"和"通过"两者间 作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认 为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时 刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在"停 止"和"通过"两者间作出合适的选择 。 (2)时间的设置 本设计中
基于89C51的交通灯控制系统设计 目 录 摘 要 1 1.设计任务与要求 1 2.系统硬件设计 2 3.系统软件设计 5 4. Proteus软件仿真 6 5.设计心得 7 6.参考文献 7 附录 8 交通灯控制系统设计 摘 要 自从1858年英国人发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改 变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经 济发展,汽车数量剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得 交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。 近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人 民的生活当中。本模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯 对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理 、车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便 等优点,有广泛的应用前景。 本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统等组成,较好的 模拟了交通路面的控制。 关键词:交通灯 单片机 数码管 LED灯 1.设计任务与要求 东西、南北两干道交于十字路口,各干道有一组红、绿、黄三个指示灯,指挥车辆和 行人安全通行。东西方向为主干道,通行时间为40秒;南北方向为支干道,通行时间为 30秒。通行时间最后3秒,绿灯灭,黄灯闪烁,黄灯闪烁完毕变更通行车道。通行时间由 数字显示器显示,黄灯3秒闪烁不单另计时。 2.系统硬件设计 根据上面的功能要求,硬件系统主要有单片机模块、指示灯模块和倒计时显示模块。 各模块选择如下: (1)单片机模块 主控芯片采用AT89C51单片机,其管脚图如图1所示。 图1 AT89C51引脚图 AT89C51是AT89C5X系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解 。AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器 、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大 总线。 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二 进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制 输入输出功能等操作。 AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址 的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据 ,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义 的字型表。 AT89C51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序 转向。 AT89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。 AT89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口 既可以用作异步通信收发器,也可以当同步移位器使用。 AT89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中 断,可满足不同的控制要求,并具有2级的优先级别选择。 AT89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但 AT89C51单片机需外置振荡电容。 本设计中,使单片机运行在最小系统。 时钟电路由两个20nF的微调电容和一个晶振组成。AT89C51内部有一个用于构成振荡 器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引 脚接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。本系统采用12Hz的振荡 器,机器周期为1us。复位操作有上电自动复位、按键电平复位和外部脉冲复位三种方式 。本设计采用按键电平复位。按键电平复位是通过复位端经电阻与电源接通实现,如下 图2所示。 图2 AT89C51最小系统 (2)指示灯模块 设计电路中每个路口的控制信号灯应有三个,即红灯、黄灯、绿灯各一个。因此,本 电路的设计中应用到红灯、黄灯、绿灯个四个。同一方向的两个路口的同一颜色指示灯 是同时亮灭,为简化电路,可让这两个灯接同一引脚。这样可用P1口控制所有的指示灯 。 为简化设计,信号灯不采用当个的发光二极管,而采用现用的交通灯组件。该组件及 其与单片机引脚的接法如下: " "东西方向 "南北方向 " "指示灯"红灯"绿灯"黄灯"红灯"绿灯"黄灯" "引脚 "P1.3"P1.4"P1.5"P0.0"P1.1"P1.2" 图3 指示灯及其接线引脚 (3)倒计时显示模块 由于黄灯3秒闪
KEmulator就是这样一个模拟器,它不仅有着速度快,稳定,使用方便等特点,更有许多游戏开发中非常使用的功能,我敢打赌,当你第一次看到它菜单里面那些琳琅满目的功能时,一定会激动不已的。KEmulator是目前最为强大的手机J2ME(java)游戏或软件的模拟器, 你可以在电脑上直接运行众多的JAVA游戏了。 游戏好不好玩,不用着安装到手机上,可以先用电脑运行试试看。 对于某些害怕扣费的游戏,也可以放心的先用电脑打开测试一下。 截图什么的也都很方便。 KEmulator对各版本的JAVA游戏的兼容也做的很好,对于3D画面类型的游戏支持也非常好。 而且画面分辨率、键盘按键定义等等全部都可以自行设置。 且支持联网!玩手机网游也不在话下。 很多地方都要比以前的SJBOY这款模拟器要更强许多。 KEmulator使用方法: 打开文件夹,点里面的应用程序KEmulator.exe 就是那个手机形状的。在出来的模拟器窗口里点文件,载入jar就可以加载你想玩的Java游戏了,最好提前把jar文件都放到一个文件夹里,因为这个软件有保存功能,会生成cfg保存文件,下次在玩这个游戏就可以接着玩了。在弹出的窗口里找到你放游戏的那个文件夹,打开里面的游戏就能运行了!上下左右键就是上下左右了,回车键是5键,F1,F2是左软键和右软键,这些你打开视图—选项里都有,你也可以自己改,在定制里可以改成你想要屏的大小240*320,176*208,128*160等等。如果想用鼠标控制,就点视图—模拟键盘,点工具里的放大,缩小可以放大缩小屏幕。
KEmulator 1.0 绿色中文版是目前最为强大的手机J2ME(java)游戏或软件的模拟器, 你可以在电脑上直接运行众多的 JAVA 游戏。KEmulator 1.0 就是这样一个模拟器,它不仅有着速度快,稳定,使用方便等特点,更有许多游戏开发中非常使用的功能,我敢打赌,当你第一次看到它菜单里面那些琳琅满目的功能时,一定会激动不已的。 游戏好不好玩,不用着安装到手机上,可以先用电脑运行试试看。 对于某些害怕扣费的游戏,也可以放心的先用电脑打开测试一下。 截图什么的也都很方便。 KEmulator对各版本的JAVA游戏的兼容也做的很好,对于3D画面类型的游戏支持也非常好。 而且画面分辨率、键盘按键定义等等全部都可以自行设置。 且支持联网!玩手机网游也不在话下。 很多地方都要比以前的SJBOY这款模拟器要更强许多。 KEmulator使用方法: 打开文件夹,点里面的应用程序KEmulator.exe 就是那个手机形状的。在出来的模拟器窗口里点文件,载入jar就可以加载你想玩的Java游戏了,最好提前把jar文件都放到一个文件夹里,因为这个软件有保存功能,会生成cfg保存文件,下次在玩这个游戏就可以接着玩了。在弹出的窗口里找到你放游戏的那个文件夹,打开里面的游戏就能运行了!上下左右键就是上下左右了,回车键是5键,F1,F2是左软键和右软键,这些你打开视图—选项里都有,你也可以自己改,在定制里可以改成你想要屏的大小240*320,176*208,128*160等等。如果想用鼠标控制,就点视图—模拟键盘,点工具里的放大,缩小可以放大缩小屏幕。 KEmulator 的使用必须先安装 java环境 (Java SE Development Kit) JDK组件)。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧