C# 如何检查我的远程计算机是否正在运行以及我是否有访问权限?

C# 如何检查我的远程计算机是否正在运行以及我是否有访问权限?,c#,.net,remote-access,C#,.net,Remote Access,在我的应用程序中,我使用该类从远程机器读取文件(摘自此处的其他帖子): 在尝试访问之前,我如何知道我的远程计算机是否正在运行并且我有访问权限?最简单的方法是通过运行cmd命令执行ping并解析结果 我将此消息发送到服务器,以检查远程机器是否仍然连接 if My.Computer.Network.Ping("192.168.10.2) = True Then 'Connected Else 'Not Connected End If 你为什么需要这些代码?您只需使用System.IO.Direc

在我的应用程序中,我使用该类从远程机器读取文件(摘自此处的其他帖子):


在尝试访问之前,我如何知道我的远程计算机是否正在运行并且我有访问权限?

最简单的方法是通过运行cmd命令执行ping并解析结果

我将此消息发送到服务器,以检查远程机器是否仍然连接

if My.Computer.Network.Ping("192.168.10.2) = True Then
'Connected
Else
'Not Connected
End If

你为什么需要这些代码?您只需使用System.IO.Directory和System.IO.File类即可访问网络共享。

您需要定义“运行”的含义。机器可用的想法是不同的,这取决于你需要它,例如:你想访问它上运行的服务(web、dns、数据库等)吗?是否要将桌面远程连接到它?您想在终端登录到它吗?等等,不过还好。您只想访问文件共享。这是机器“准备就绪”的最后一件事情之一。对您来说,唯一且充分的检查是实际访问共享本身。平不会帮你的。啊。。。不可以。您可以成功ping一台已停止大多数服务且实际上正在关闭的计算机。。。还有一个正在启动,但尚未完全“启动”。
using (NetworkShareAccesser.Access("machine name", "domain", "user", "pass"))
{
    string[] files = Directory.GetFiles(...);
}
if My.Computer.Network.Ping("192.168.10.2) = True Then
'Connected
Else
'Not Connected
End If