我想在远程电脑上调用一个进程。以下代码适用于本地,但我无法使其适用于远程电脑
Process proc1 = new Process();
if (File.Exists("C:\\myApp.exe"))
{
proc1.StartInfo.FileName = "C:\\myApp.exe";
proc1.Start();
proc1.Close();
}
我同意 Seth Flowers 的观点 - psexec 是一个很好的方法。
--
由于您将问题标记为 C#,因此我将添加:
如果您之所以问是因为您正在创建一个分布式系统,其中主机在子计算机上产生作业,那么您可以创建一个 C# 主机应用程序和一个 C# 客户端应用程序,并使用 Windows Communication Foundation (WCF) 将它们链接在一起。这将给你一个服务类来与主机上的其他机器进行通信。一旦你可以在机器之间进行通信,你可以简单地让主机告诉孩子“运行这个应用程序”,你可以在孩子端使用你的进程代码。
这是一篇很好的文章,解释了这个概念,我以前用过(旁注,如果你使用这个,请以管理员身份运行 VS,否则 metadataBehavior 对象会抛出异常): http: //www.codeproject.com/Articles/16765 /WCF-Windows-通信-基础-示例