日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

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

【C#】如何判斷當(dāng)前是否開(kāi)啟了遠(yuǎn)程桌面連接

admin
2021年3月15日 23:49 本文熱度 5732

在C#中用 netstat -an | find "3389" 查一下有沒(méi)有連接是處于 ESTABLISHED 狀態(tài),本機(jī)發(fā)送的則遠(yuǎn)程端口是3389,如果有遠(yuǎn)程桌面過(guò)來(lái)則本機(jī)端口為3389。

Detecting remote desktop connection

無(wú)論如何,在程序中是否可以檢測(cè)程序是從遠(yuǎn)程桌面會(huì)話內(nèi)部運(yùn)行還是在.NET 2.0中正常運(yùn)行? 我想做的是,我創(chuàng)建了一個(gè)timeclock應(yīng)用程序,該應(yīng)用程序?qū)⒁粋€(gè)人打入和打入并進(jìn)行跟蹤。 但是我懷疑這個(gè)特定的人正在在家中遠(yuǎn)程進(jìn)入他們的計(jì)算機(jī),并進(jìn)出辦公室。

有什么想法可以解決此問(wèn)題(并且不能選擇取消遠(yuǎn)程桌面訪問(wèn))嗎? 我的想法是,如果有一種方法可以檢測(cè)到遠(yuǎn)程桌面會(huì)話,那么我將簡(jiǎn)單地將其實(shí)現(xiàn)到程序中并防止它們遠(yuǎn)程進(jìn)行計(jì)時(shí)。

據(jù)稱(chēng):

1
System.Windows.Forms.SystemInformation.TerminalServerSession

對(duì)于遠(yuǎn)程桌面會(huì)話(或VNC會(huì)話)為true

但我會(huì)測(cè)試以確保;-)

如果您不想為此添加對(duì)System.Windows.Forms.dll的引用(如上所述),則還可以直接通過(guò)PInvoke調(diào)用基礎(chǔ)系統(tǒng)調(diào)用,如下所示:

1
2
    int result = GetSystemMetrics(SystemMetric.SM_REMOTESESSION);
    bool isRemoteSession = (result != 0);

可以在PInvoke.net-SystemMetric中找到SystemMetric枚舉(但您可以只使用0x1000的值);在PInvoke.net上獲取GetSystemMetrics的簽名-GetSystemMetrics。

我用RDP和VNC進(jìn)行了測(cè)試-與前者一起使用(也具有admin / console模式),而沒(méi)有檢測(cè)到后者。

對(duì)于Windows應(yīng)用商店應(yīng)用程序,您可以使用以下命令:

1

Windows.System.RemoteDesktop.InteractiveSession.IsRemote

http://www.appdeploy.com/messageboards/tm.asp?m=21420&mpage=1&key=厬

系統(tǒng)變量%sessionname%如果是本地則返回Console,如果是遠(yuǎn)程則返回RDP *。

1
2
isRDP = [System.Environment]
    .GetEnvironmentVariable("SESSIONNAME").StartsWith("RDP-")

好吧,幾天前我也遇到過(guò)類(lèi)似的問(wèn)題。我解決該問(wèn)題的方法是利用某些遠(yuǎn)程桌面應(yīng)用程序使用已知的默認(rèn)端口(至少是VNC和/或Microsoft遠(yuǎn)程桌面連接)這一事實(shí)。因此,我創(chuàng)建了一個(gè)方法來(lái)告知端口是否正在使用,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* Libraries needed */
using System.Linq;
using System.Net.NetworkInformation;

/*....
  ....
  ....*/


private static bool IsPortBeingUsed(int port)
{
    return IPGlobalProperties.GetIPGlobalProperties().
                GetActiveTcpConnections().
                    Any(
                            tcpConnectionInformation =>
                            tcpConnectionInformation.LocalEndPoint.Port == port
                       );
}

請(qǐng)記住,將帶庫(kù)的using語(yǔ)句放在方法所在文件的開(kāi)頭。

例如,您只需要傳遞一個(gè)參數(shù),例如3389端口(這是遠(yuǎn)程桌面連接的默認(rèn)端口)或5900端口(這是VNC連接的默認(rèn)端口)。

該方法是使用C#4.0功能創(chuàng)建的,但是可以使用舊版本的C#.Net或Visual Basic完美地實(shí)現(xiàn)。

這對(duì)我有用,因?yàn)槲抑恍枰獧z查前面提到的兩個(gè)應(yīng)用程序。

希望對(duì)您有所幫助。

所有遠(yuǎn)程登錄程序都需要在本地計(jì)算機(jī)上運(yùn)行的服務(wù)或程序。如果允許這些服務(wù)或程序在其本地計(jì)算機(jī)上運(yùn)行,??則發(fā)問(wèn)者僅需擔(dān)心VNC及其克隆。它們對(duì)于使用遠(yuǎn)程桌面不是必需的,并且所有操作系統(tǒng)都有遠(yuǎn)程桌面客戶(hù)端。如果遠(yuǎn)程桌面正在運(yùn)行,則不需要VNC服務(wù)器。

此外,除非您以管理員身份在服務(wù)器計(jì)算機(jī)上安裝VNC克隆,否則無(wú)法為您登錄。只要您不讓用戶(hù)像其他用戶(hù)一樣運(yùn)行流程,唯一要擔(dān)心的是您的其他員工之一是否以有問(wèn)題的員工身份登錄。如果真是這樣,沒(méi)有任何技術(shù)解決方案將是不夠的。即使您必須為每個(gè)員工使用單獨(dú)的卡登錄,有問(wèn)題的員工也可以給他的朋友卡。

對(duì)于WPF應(yīng)用程序,有System.Windows.SystemParameters.IsRemoteSessionSystem.Windows.SystemParameters.IsRemotelyControlled。

如果您擔(dān)心VNC,則可以使用netstat檢查打開(kāi)的TCP連接。在命令提示符下,鍵入:

1
netstat ---p tcp

并檢查端口5900是否為" ESTABLISHED"。當(dāng)然,5900是默認(rèn)的連接端口,因此它取決于所設(shè)置的端口。

從那里,我在CodeGuru上找到了這篇文章,解釋了如何在c#程序中使用netstat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
string sCommand ="netstat";
string sArgs ="";
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo (sCommand, sArgs);

psi.UseShellExecute = false;
psi.RedirectStandartOutput = true;

System.Diagnostics.Process proc = null;
proc = System.Diagnostics.Process.Start(psi);
proc.WaitForExit();

// Read the first 4 lines. They don't contain any information we need to get
for (int i = 0; i < 4; i++)
    proc.StandardOutput.ReadLine();

while (true)
{
    string strLine = proc.StandardOutput.ReadLine();
    if (strLine == null)
        break;

    // Analyze the line
    // Line is in following structure:
    // Protocol (TCP/UDP)   Local Address(host:port) Foreign Address(host:port) State(ESTABLISHED, ...)
}

僅需說(shuō)明一下,如果會(huì)話使用的是GPU的RemoteFX虛擬化,則單獨(dú)使用GetSystemMetrics(SystemMetric.SM_REMOTESESSION)對(duì)于Windows 8 / Server 2012及更高版本已不再可靠。

Microsoft在此處描述了檢測(cè)RDS的"官方"方法:檢測(cè)遠(yuǎn)程桌面服務(wù)環(huán)境(最新更新時(shí)間為18 May,18)。

它包括使用SystemMetrics調(diào)用和位于以下位置的注冊(cè)表檢查:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\GlassSessionId

那篇文章中的代碼示例僅是C ++,但是鑒于它只是注冊(cè)表查找,我認(rèn)為人們不會(huì)覺(jué)得很難用其他語(yǔ)言進(jìn)行復(fù)制。

我希望至少至少有一些.net內(nèi)置函數(shù)在upthread中提到,可以完全遵循此要求,但是 SystemParameters.IsRemoteSession 在此處稱(chēng)為"到SM_REMOTESESSION的映射。請(qǐng)參閱GetSystemMetrics",以及SystemParameters.IsRemotelyControlled在此處被記為相同,所以我不樂(lè)觀,我將盡快進(jìn)行一些詳細(xì)的檢查并發(fā)布結(jié)果。


相關(guān)文檔:

C#獲取電腦上所有打開(kāi)端口的詳細(xì)連接信息[1]
  http://29190.oa22.cn

【C#】如何判斷當(dāng)前是否開(kāi)啟了遠(yuǎn)程桌面連接[4927]
  http://16624.oa22.cn

C#如何判斷Windows Server遠(yuǎn)程桌面有異常登錄,并獲知當(dāng)前登錄用戶(hù)名?[3550]
  http://16722.oa22.cn


該文章在 2025/2/12 10:29:30 編輯過(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

主站蜘蛛池模板: 中文字幕在线观看 | 午夜在线视频 | 国产精品自在自线亚洲 | 手机韩剧天天更新韩剧免费看 | 免费国产亚洲精品在线视频 | 精品自拍视频在线观看电影 | 高清欧美一| 日韩在线观看不卡 | 欧美人与性囗牲恔配 | 综合福利在线 | а√天堂地址在线网 | 二区三区在线视频 | 中文字幕精品亚洲电影 | 五月天婷婷丁香中文字幕 | 911亚洲精品国产自产 | 香蕉视观看在线a | 国产精品爱的在线线免费观看 | 国产精品18| 成人欧美一 | 国产伦精品一区二区三 | 国产福利不卡在线观看 | 国产高清尿小便嘘嘘视频 | 亚洲综合一区二区三区四区五区 | 国产精品亚洲片夜色在线 | 亚洲一区精品在线视频 | 精品一区二区三区影院在线午 | 欧美精品三区 | 中文字幕免费伦费影视 | 国产美日韩精品一区二区在线观看 | 流畅高清电视剧、电影、 | 国产微信高清小视频在线播放 | 囯产精品宾馆在线精品酒店 | 亚洲人午夜射精精 | 精品国产高清免费在线观看 | 老司机永久免费视频网站在线观看 | 国产一区二区三区在 | 日韩视频在线观看网站资源 | 欧美日本一区二区视频在线播放 | 99爱在线精品视频免费观看9 | 国产精品综合色区在线观看 | 99久在线 |