在游戏中按热键的问题
一时好玩,作了一个在英雄无敌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




