CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  GAME,图形处理/多媒体

在游戏中按热键的问题

楼主fly_knife(小刀)2001-02-17 01:32:00 在 Delphi / GAME,图形处理/多媒体 提问

一时好玩,作了一个在英雄无敌2中按热键即可加龙的小程序,奇怪的实在窗口状态下课正常使用,全屏状态却不行,是何道理? 问题点数:40、回复次数:16Top

1 楼fly_knife(小刀)回复于 2001-02-18 01:10:00 得分 0

帮帮忙!!!!!Top

2 楼fly_knife(小刀)回复于 2001-02-19 02:51:00 得分 0

求教!Top

3 楼foolishcat(阿笨猫)回复于 2001-02-19 09:01:00 得分 10

FORM.MENU不能设为空,可以用另一种方法,你把各个菜单项的VISIBLE属性设为FALSE就可以了  
  Top

4 楼fly_knife(小刀)回复于 2001-02-21 00:59:00 得分 0

可是我程序里没有菜单呀!Top

5 楼kmask(降龙十八顶)回复于 2001-02-21 03:30:00 得分 10

要是游戏在你的程序之前接管钩子的话。。。。。。。。。。Top

6 楼bill_lasker()回复于 2001-02-21 09:15:00 得分 0

没玩过Top

7 楼fly_knife(小刀)回复于 2001-02-22 02:41:00 得分 0

具体???Top

8 楼butcher(屠夫)回复于 2001-02-22 04:22:00 得分 20

去superpage下一个叫wingod的控件非常省事;我做过一个和你类似的东西;  
  Top

9 楼foolishcat(阿笨猫)回复于 2001-02-22 08:42:00 得分 0

你热键设在哪?  
  不好意思没玩过,不清楚  
  :-)  
  Top

10 楼butcher(屠夫)回复于 2001-02-22 10:27:00 得分 0

热键可以自己任意设置的Top

11 楼foolishcat(阿笨猫)回复于 2001-02-22 13:17:00 得分 0

我是说设在什么控件Top

12 楼fly_knife(小刀)回复于 2001-02-23 01:00:00 得分 0

是这样的,英雄2中有一秘籍,按32167可加5条龙,我只是设定在游戏中按F9即执行这一动作,我问题的关键在于F9在全屏状态下毫无反应,而在窗口状态下绝对可用.为何?Top

13 楼foolishcat(阿笨猫)回复于 2001-02-23 12:53:00 得分 0

你在哪判断按键的?Top

14 楼fly_knife(小刀)回复于 2001-02-24 01:12:00 得分 0

程序如下:  
  procedure   TForm1.wmhotkey(var   msg:Tmessage);  
  var  
    i:integer;  
  begin  
  case   msg.LParamHi   of  
    vk_F4:winexec('notepad.exe',sw_normal);  
    vk_f9:begin  
                for   i:=0   to   3   do  
                  begin  
                  keybd_event(51,   MapVirtualKey(51,   0),   0,   0);                                 //按下  
                  keybd_event(51,   MapVirtualKey(51,   0),   KEYEVENTF_KEYUP,   0);  
                  keybd_event(50,   MapVirtualKey(50,   0),   0,   0);  
                  keybd_event(50,   MapVirtualKey(50,   0),   KEYEVENTF_KEYUP,   0);  
                  keybd_event(49,   MapVirtualKey(49,   0),   0,   0);  
                  keybd_event(49,   MapVirtualKey(49,   0),   KEYEVENTF_KEYUP,   0);  
                  keybd_event(54,   MapVirtualKey(54,   0),   0,   0);  
                  keybd_event(54,   MapVirtualKey(54,   0),   KEYEVENTF_KEYUP,   0);  
                  keybd_event(55,   MapVirtualKey(55,   0),   0,   0);  
                  keybd_event(55,mapvirtualkey(55,0),keyeventf_keyup   ,0);  
                  end;  
          end;  
    end;  
  end;  
  procedure   TForm1.FormCreate(Sender:   TObject);  
  begin  
  thehotkey:=globaladdatom('hotkey')-$c000;  
  myhotkey:=globaladdatom('myhotkey')-$c000;  
  registerhotkey(handle,thehotkey,0,VK_F4);  
  registerhotkey(handle,myhotkey,0,vk_f9);  
  end;  
   
  procedure   TForm1.FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
  begin  
  unregisterhotkey(handle,thehotkey);  
  unregisterhotkey(handle,myhotkey);  
  end;Top

15 楼butcher(屠夫)回复于 2001-02-25 03:08:00 得分 0

你去http://delphi.icm.edu.pl/把wingod控件下载下来,一看就知道了;不需要我罗嗦的Top

16 楼fly_knife(小刀)回复于 2001-03-11 22:44:00 得分 0

也贴了很久,算了,大家把分分了吧!Top

相关问题

  • 如何象FPE一样,在游戏中用热键激活后,自动取得游戏进程?
  • VC6中怎样用一个按钮发送热键呢?
  • 热键控制按钮!
  • 关于qq中热键
  • 如何给Toolbar中的按钮加上热键???(比如F11之类)
  • 问一个softice中的热键问题
  • VB.NET中如何使用热键?
  • 关于swing中热键的问题
  • 热键
  • 热键

关键词

  • 游戏
  • mapvirtualkey
  • keybd
  • 热键
  • f9
  • keyeventf
  • keyup
  • event
  • 状态

得分解答快速导航

  • 帖主:fly_knife
  • foolishcat
  • kmask
  • butcher

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo