2014-03-04 48 views
2

我已經做了相當多的谷歌,雖然我能找到開關爲Windows做到這一點使用WM_HOTKEY我無法找到它的Linux搜索的。的Linux - XFCE4 - 拉扎勒斯全系統熱鍵

WM_HOTKEY Hook

uses ...,windows; 

var 
    PrevWndProc: WNDPROC; 
const 
    MY_ID=1; 

function WndCallback(Ahwnd: HWND; uMsg: UINT; wParam: WParam; lParam: LParam):LRESULT; stdcall; 
begin 
    if (uMsg=WM_HOTKEY) and (WParam=MY_ID) then 
    begin 
     Application.Restore; 
    end; 
    result:=CallWindowProc(PrevWndProc,Ahwnd, uMsg, WParam, LParam); 
end; 


procedure TForm1.FormCreate(Sender: TObject); 
begin 
    PrevWndProc:=Windows.WNDPROC(SetWindowLong(Self.Handle,GWL_WNDPROC,PtrInt(@WndCallback))); 
    RegisterHotKey(Self.Handle,MY_ID,0,vk_F9); 
end; 

procedure TForm1.FormDestroy(Sender: TObject); 
begin 
    UnRegisterHotkey(Self.Handle,MY_ID); 
end; 

我期待放在XFCE4和/或XWindows的系統範圍的熱鍵鉤子在Linux機器上。我知道這是儘可能多的截圖程序做這一切的時候不管窗口管理器是什麼。

我需要爲我的應用程序能夠鉤,按組合鍵來激活該應用程序裏的東西,但我不能在任何地方找到這與拉撒路/帕斯卡爾Linux上的任何東西。

+0

看起來不是很標化。依賴於桌面http://stackoverflow.com/questions/1049637/register-hotkeys-in-linux-using-library-for-c –

+0

根據您放置XGrabKey爲任何XWindows的窗口管理器的標準,並應的工作,沒有鏈接有什麼關係。也許我正在閱讀XGrabKey錯誤的文檔。 – jfreak53

+0

http://www.xfree.org/current/XGrabKey.3.html但我不知道如何在拉撒路使用它。 – jfreak53

回答