2010-02-12 69 views
0

我需要編寫一個JAVA應用程序。 的要求是,觸發一些操作Ctrl +右鍵單擊桌面(使用JAVA)

當用戶在 屏幕的任意位置點擊(這可能是在一個圖標 桌面後,或Microft 字一個字),我的java程序應該是 通知做一些行動。

如何編寫這樣的應用程序。

+0

不,這將需要JNI。不過,我不會將此作爲答案發布,因爲我對Windows API的瞭解不夠。 – icktoofay 2010-02-12 05:25:08

回答

2

您正在討論創建系統範圍掛鉤(windows API調用SetWindowsHookEx與WM_MOUSE或WM_MOUSELL)。這不是因爲心臟不好。對於您擁有的單個進程執行此操作有點棘手。在系統範圍內進行(對於你不擁有的進程)確實非常棘手 - 很多陷阱(我敢肯定我已經擊中了每一個陷阱),而這是一個嚴重缺乏記錄的Win32 API。

這絕對需要使用Windows API以及DLL,瞭解將DLL注入到不同進程和其他主機中的情況。 Java不會完成這個特定的工作(事實上,根據你的規範,我無法想象爲什麼Java會成爲這裏的選擇語言)。

打出C的時間點。

0

Java沒有任何標準功能允許這樣做。您必須使用JNI或JNA直接與Windows溝通,或者使用第三方庫進行操作。

爲了這個特定的目的,微軟的語言可能是最好的,但它仍然是一個非常棘手的事情,必須。