LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【C#】UI自動(dòng)化中關(guān)閉遠(yuǎn)程桌面連接,鼠標(biāo)鍵盤(pán)失效的解決方案

admin
2021年3月15日 12:33 本文熱度 4687
問(wèn)題原因分析:
因?yàn)橥ㄟ^(guò)mstsc啟動(dòng)遠(yuǎn)程桌面連接時(shí),被連接的Windows會(huì)啟動(dòng)一個(gè)會(huì)話(huà)(Session)。此時(shí)你對(duì)遠(yuǎn)程桌面窗口里面的所有操作(鼠標(biāo),鍵盤(pán))將會(huì)‘翻譯’成TCP包傳輸過(guò)去,被連接的Windows接收到這些包之后,‘還原’命令并且在當(dāng)前的活動(dòng)會(huì)話(huà)上面執(zhí)行。而當(dāng)你斷開(kāi)連接時(shí)(點(diǎn)X關(guān)閉),會(huì)話(huà)變成斷開(kāi)狀態(tài),Windows會(huì)自動(dòng)關(guān)閉會(huì)話(huà)(這里這樣說(shuō)是不準(zhǔn)確的,事實(shí)上會(huì)話(huà)還是在的,只是狀態(tài)變成斷開(kāi)的),也就導(dǎo)致了所有基于GUI的操作‘失效’了。

當(dāng)最小化遠(yuǎn)程桌面時(shí),Windows為了節(jié)約網(wǎng)絡(luò)帶寬傳輸,會(huì)暫時(shí)“關(guān)閉會(huì)話(huà)”,導(dǎo)致你的模擬操作程序失效。

最初級(jí)的兩個(gè)解決方案:
1. 到遠(yuǎn)程電腦上,登錄,然后關(guān)顯示器,走人,記住不要遠(yuǎn)程登錄它;
2. 遠(yuǎn)程連接,永遠(yuǎn)不要關(guān),也不能最小化。
 
當(dāng)然我也有更好的解決方案,我的解決方案可以實(shí)現(xiàn)遠(yuǎn)程桌面的窗口最小化或是關(guān)閉而不影響模擬鍵盤(pán)鼠標(biāo)的腳本。

方案一:
在遠(yuǎn)程桌面(被連接到的電腦)中先執(zhí)行 query session 來(lái)查看當(dāng)前登錄到的 session,(遠(yuǎn)程桌面的 sessionName 都以 rdp-tcp 開(kāi)頭):

然后用管理員用戶(hù)打開(kāi)命令行工具,并執(zhí)行 "tscon rdp-tcp#0 /dest:console",其中 rdp-tcp#0 為該該命令會(huì)關(guān)閉遠(yuǎn)程桌面的連接,然后把連接返回給遠(yuǎn)程的那臺(tái)電腦(繞開(kāi)登錄過(guò)程)。這里的 console 只是一個(gè) session 的名字,而這個(gè)名字的意思并非是 C# 中 “控制臺(tái)” 的意思,而是指帶有輸入輸出設(shè)備的機(jī)器,一般直接登錄電腦的會(huì)話(huà)就是 console。
假設(shè)電腦A執(zhí)行 mstsc 連接到電腦B(連接成功后,電腦B黑屏),此時(shí)在電腦B上執(zhí)行上述命令后(替換對(duì)應(yīng)的session名字),電腦A中的遠(yuǎn)程連接窗口會(huì)被關(guān)閉,并提示遠(yuǎn)程連接會(huì)話(huà)已經(jīng)終止。電腦B(假設(shè)運(yùn)行在另一臺(tái)物理機(jī)上)會(huì)恢復(fù)到已經(jīng)登錄的狀態(tài),如果需要重新讓電腦B恢復(fù)鎖屏狀態(tài),可以在電腦B上執(zhí)行如下命令:
rundll32.exe user32.dll,LockWorkStation

方案二:
假設(shè)用于跑 UI 自動(dòng)化的機(jī)器是虛擬機(jī)A,現(xiàn)在再使用另一臺(tái)虛擬機(jī)B作為中轉(zhuǎn)。本機(jī)先連接到虛擬機(jī)B,然后再?gòu)奶摂M機(jī)B連接到虛擬機(jī)A,最后斷開(kāi)虛擬機(jī)B。


方案三(窗口最小化失效的解決方案):
修改注冊(cè)表項(xiàng)(注:從機(jī)器A通過(guò)遠(yuǎn)程桌面連接機(jī)器B,則需要在機(jī)器A上修改注冊(cè)表)
32位機(jī)器:
HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientRemoteDesktop_SuppressWhenMinimized
HKEY_LOCAL_MACHINESoftwareMicrosoftTerminal Server ClientRemoteDesktop_SuppressWhenMinimized
設(shè)置數(shù)據(jù)類(lèi)型DWord,值為2
64位機(jī)器路徑不同:
HKEY_CURRENT_USERSoftwareWow6432NodeMicrosoftTerminal Server ClientRemoteDesktop_SuppressWhenMinimized
HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftTerminal Server ClientRemoteDesktop_SuppressWhenMinimized
設(shè)置數(shù)據(jù)類(lèi)型DWord,值為2
 
方案四(關(guān)機(jī)失效的解決方案):
遠(yuǎn)程桌面mstsc遠(yuǎn)程登錄虛擬機(jī)時(shí),在虛擬機(jī)中新建文本文檔,寫(xiě)入內(nèi)容:
@%windir%\System32\tscon.exe 0 /dest:console
@%windir%\System32\tscon.exe 1 /dest:console
@%windir%\System32\tscon.exe 2 /dest:console
將文本文檔重新命名為‘Close_RDP’,并將后綴名改為‘.bat’,雙擊文件‘EnableCloseRDP.bat’關(guān)閉虛擬機(jī),在虛擬機(jī)關(guān)閉后帶有SendKey的腳本可以正常運(yùn)行。打開(kāi)時(shí)可能會(huì)報(bào)錯(cuò),不用理會(huì),不影響使用。

該文章在 2021/3/15 12:33:39 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
免费国产免费色色国产 | 亚洲AV乱码一区二区三区女同 | 亚洲最大色区在线电影 | 日本一高清二区视频久而久二 | 亚洲在在线观看免费视频 | 欧美激情综合在线三区 |