使用C#

时间:2018-06-07 15:13:29

标签: c# process

我正在使用C#语言开发桌面应用程序。我尝试使用以下代码检索远程计算机上的所有当前活动进程:

else if (infocomboBox.SelectedIndex == 2)
            {
                string compname = compnameLabel.Text;
                Process[] remoteAll = Process.GetProcesses(compnameLabel.Text);
                foreach (Process process in remoteAll)
                {
                    ListViewItem item = new ListViewItem(process.ProcessName);
                    item.Tag = process;
                    listProcessView.Items.Add(item);
                }

            }

我把代码放在button_click函数中。

我似乎无法检索它,并显示错误说" InvalidOperationException未处理" "无法连接到远程机器"

远程计算机上禁用了登录用户名和密码。防火墙和防病毒软件也已关闭。

请参阅下面的错误截图

Screenshot of the error

究竟是什么问题?任何人都可以提供解决方案吗?

非常感谢你!

1 个答案:

答案 0 :(得分:0)

我会尝试从命令行验证主机名是否可解析。

ping theOtherComputerName

如果它解析为IP地址并作出响应,那么您已经消除了一个可能的问题。接下来必须是连接问题。

我相信GetProcesses命令会尝试使用当前的用户名和密码登录到远程计算机,因此您需要在其他计算机上使用相同的用户名和密码,

或者您需要在远程计算机上模拟管理员用户impersonate user in c#