按F1在任何时候都可以将QQ弹出来(QQ已经打开了)
按F1在任何时候都可以将QQ弹出来(QQ已经打开了)(QQ的默认快捷键事Ctrl+Alt+Z)
如何写这样一个程序????
问题点数:15、回复次数:4Top
1 楼etomahawk(一意孤行)回复于 2006-03-19 19:38:03 得分 5
我想到的最简单的方法:
注册一个全局热键F1,在热键消息处理中模拟Ctrl + ALT + Z热键。没试过不知道可不可以,你可以试试,就用两个API。明天去试试看,呵呵!Top
2 楼hanyel(谁是渡我的佛)回复于 2006-04-04 11:39:00 得分 10
上面的朋友說的那樣,代碼我給你個參考,不是QQ的,但是原理一樣
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Handle,$1055, 0, VK_F1);//註冊熱鍵F1
end;
procedure TForm1.HotKeyDown(var Msg: Tmessage);//寫消息過程
begin
// inherited;
if Msg.WParam = int($1055) then //如果按鍵為F1
begin
ShowWindow(Application.Handle, SW_SHOW);
ShowWindow(Self.Handle, SW_SHOW);
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Handle, $1055); //註銷熱鍵
end;
procedure TForm1.Button1Click(Sender: TObject);//測試按鈕,隱藏工程和窗口
begin
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Self.Handle, SW_HIDE);
end;
Top
3 楼flyskylf(天高云淡)回复于 2006-04-04 19:12:12 得分 0
看了楼上的代码有以下几点不是很明白
procedure TForm1.HotKeyDown(var Msg: Tmessage);//寫消息過程
这个过程应该是自己定义的巴,如果是应该放在哪用?
如果焦点不在程序上,能否将程序调出来?
ShowWindow(Self.Handle, SW_SHOW);
请大侠简单介绍一下这个函数
谢谢!!Top
4 楼hanyel(谁是渡我的佛)回复于 2006-06-29 15:38:35 得分 0
放在privte就是
焦点不在程序上
也能调出来
showwindow(self.handle,sw_show)是用API的方式show窗口而已Top




