我有两个应用程序在W2k8 R2 x64上运行,一个被编译为64位,另一个被编译为32位,因为它具有COM依赖性.在这两个我试图打电话:
Process p = Process.Start("telnet.exe", string.Format("{0} {1}", address, port));
Run Code Online (Sandbox Code Playgroud)
在x64中它工作得很好,但是在32位中我得到一个System.ComponentModel.Win32Exception("系统找不到指定的文件")?
知道这里发生了什么吗?即使我打电话
Process.Start(@"C:\Windows\System32\telnet.exe")
我得到同样的例外?
谢谢,
汤姆
要从32位应用程序启动system32 64位应用程序(至少在Vista上,2k8,7,在x64 XP或2k3上不起作用)从sysnative目录运行它,即"C:\ windows\sysnative\telnet.exe" "(或者禁用Wow64,但这通常是一个坏主意).