屏控程序

疫情期間對於沒有工作的人而言,太難了,閒着吧,寫一個屏幕控制程序,據我知道,之前的遠程控制都是界面傳輸的,像qq的遠程控制等,都是截圖然後傳輸到自己的屏幕,但是我的需求是我自己有兩臺電腦,我想通過一個鍵盤鼠標控制他們,但是又不想在我的電腦上出現另一個電腦的畫面

*遠程過程調用使用thrift實現輸出傳輸
*
* 使用Robot實現鼠標鍵盤事件的模擬
*
* 通過鼠標移除屏幕實現切屏功能
*
* 需要注意的是, 1.0.0版本只能實現兩臺電腦向後控制,而且沒有實現斷鏈重試, 也不支持文件傳輸,也不支持終端控制
* 再後續的迭代中陸續實現,而且現在這個版本效率還相對較低
*
* 加油吧
*
*
* 原理:
* 服務端很簡單,就是啓動一個thrift服務,然後等待客戶端發送指定過來,讓後使用robot模擬事件,就這麼簡單
* 客戶端相對麻煩些:
*  1.客戶端首先需要判斷當前操作的是自己還是服務端屏幕
*      判斷依舊是當前鼠標的指針位置,如果鼠標指針位置移動到屏幕右邊邊界外,那麼就進入到控制服務端屏幕
*      於此同時如果鼠標指針移動屏幕左邊邊界外,那麼回到客戶端屏幕
*  2. 客戶端怎麼實現捕獲鼠標鍵盤事件
*      在控制自己的時候,程序界面放到右上角,界面最小化,這樣該做什麼做什麼
*      在控制服務端屏幕的時候,這是最麻煩的
*      怎麼控制捕獲鼠標鍵盤事件,同時自己的電腦沒有想要,而且還不影響自己屏幕的顯示,總不能顯示一個大的空白屏幕吧
*      其實就是顯示一個大空白屏幕,只是將這個屏幕設置爲透明的,其實半透明的,這樣不會影響自己的顯示,還能捕獲到鼠標鍵盤事件
*      但是需要注意的是,完全透明是沒有辦法捕獲到界面上的事件的,這樣操作的還是自己的屏幕
* 3.怎麼實現再控制服務端屏幕的時候自己的鼠標不動
*      這個其實是做不到的,我們也是通過自己鼠標的爲而實現相對再遠程控制鼠標移動的,如果自己的鼠標不讓動,那就沒有辦法實現服務端鼠標移動
*      其實這個問題很簡單,再控制服務端屏幕的時候,將自己的鼠標設置爲透明的就可以了,這樣就實現了像是完全在控制服務端屏幕包括鼠標都是由自己的屏幕移動過去
* 
* 4.實現鼠標拖動
* 	在robot中沒有鼠標拖動事件,而在java鼠標監控事件中存在,所以要實現鼠標拖動事件,我們還要自己編寫一定的實現邏輯

項目地址:https://gitee.com/mjlfto/computercontroll

項目演示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章