有哪些方法可以实现类似按键精灵的功能:比如,程序最小化或后台工作,
按下某一热键,程序可以模拟键盘鼠标发出一系列动作;不同的热键
响应不同的动作.这儿的问题主要是程序怎么知道哪个热键按下?程序里怎么
定义和调用?多个热键怎么定义?
另外,全局热键可以实现这个功能吗?全局热键可以定义多个吗?如果可以怎么调用?
按下某一热键,程序可以模拟键盘鼠标发出一系列动作;不同的热键
响应不同的动作.这儿的问题主要是程序怎么知道哪个热键按下?程序里怎么
定义和调用?多个热键怎么定义?
另外,全局热键可以实现这个功能吗?全局热键可以定义多个吗?如果可以怎么调用?
WM_SNAPHOTKEY=WM_USER + 101;
WM_SNAPHOTKEY1=WM_USER + 102;
WM_SNAPHOTKEY2=WM_USER + 99;
WM_SNAPHOTKEY3=WM_USER + 100;
WM_SNAPHOTKEY4=WM_USER + 103;
=================================
procedure ONHotkey(var message:Tmessage);message WM_HOTKEY;
================================================
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm:=False;
gothandle:=False;
RegisterHotKey(Handle,WM_SNAPHOTKEY,0,VK_F8 );
RegisterHotKey(Handle,WM_SNAPHOTKEY1,0,VK_F7 );
RegisterHotKey(Handle,WM_SNAPHOTKEY2,0,VK_F10 );
RegisterHotKey(Handle,WM_SNAPHOTKEY3,0,36 );
RegisterHotKey(Handle,WM_SNAPHOTKEY4,0,35 );
end;procedure tform1.ONHotkey(var message:Tmessage);
begin
if (message.WParam=WM_SNAPHOTKEY) then
PostMessage(fbhandle,WM_KEYDOWN,Ord('V'),0);
if (message.WParam=WM_SNAPHOTKEY1) then
PostMessage(fbhandle,WM_KEYDOWN,Ord('B'),0);
if (message.WParam=WM_SNAPHOTKEY2) then
PostMessage(fbhandle,WM_KEYDOWN,Ord('X'),0);
if (message.WParam=WM_SNAPHOTKEY3) then
PostMessage(fbhandle,WM_KEYDOWN,109,0);
if (message.WParam=WM_SNAPHOTKEY4) then
PostMessage(fbhandle,WM_KEYDOWN,107,0);
end;