注意,該專案的主要功能需要修改電腦登錄檔來解鎖多使用者同時登入,除了Windows server系統可以直接執行,其他版本系統需要解鎖,否則還是在桌面執行,還是會搶滑鼠
多賬號日常肝到吐?用指令碼又搶滑鼠,導致什麼都做不了?我做了個能讓任何指令碼(大概)都不會再搶滑鼠的專案。
一開始我也只是單獨使用指令碼來刷遊戲,但是大多數指令碼模擬點選 + 鍵鼠注入。這類方案本身很好用,但有一個天生的限制:
它們依賴同一個桌面的滑鼠和前臺視窗,掛了遊戲就不能幹別的事情,後面我接觸到了本地多使用者,開始使用SimpleRemote開第二個使用者來掛機,但是掛完一個後不會又任何通知,第二個遊戲的開始只能隨緣。
於是我做了這個專案,基於b站作者@請假去養喵的雪乃醬加上了本地多使用者做出了Yomori。
一、原理
Yomori換了個思路:不在使用者會話裡跑遊戲;
每個賬號跑在獨立的 Windows 會話裡,每個會話有自己的桌面、自己的滑鼠、自己的前臺視窗。於是:
多條通道真正同時跑,互不搶焦點;
你的主桌面不被佔用,掛機的時候該幹嘛幹嘛;
每條通道的輸入事件不會落到別的會話視窗上。

二、如何使用
1. 通道管理:把"另一套環境"配出來
一條會話通道 = 目標主機 + 目標賬戶 + 憑據 + 指令橋 + 畫面連線。
本機另一個賬戶填 127.0.0.2。密碼只進 Windows 憑據管理器,不寫進配置檔案;匯出配置時還會自動剝離密碼欄位。
配完點「部署會話代理」(一次性操作,需管理員),再點「重新預檢」,確認沒有阻塞項。

2. 任務執行:按通道編排
左欄選執行通道,中欄排任務順序,右欄填啟動命令、工作目錄、最大執行時間、超時處理、完成判定(按視窗標題或程序名)。
支援 exe / bat / py,也支援併發組(全部完成 / 任一完成即繼續)。
規則一句話:通道之間並行,通道內部序列。 一次最多 8 條通道(先生這得很多記憶體),超出的會明確告訴你哪幾條沒跑。

3. 多畫面:所有通道一眼看住
遠端桌面是由 FreeRDP 原生內嵌在程式裡,點選全屏按鈕後滑鼠鍵盤可以直接操作,切賬號不用離開當前視窗。
每頁 2×2 四格,通道多了翻頁;
某一格可以彈成獨立視窗,挪到副屏;
單條通道還有自己的全屏頁,下面掛該通道的事件列表。