为什么我无法从WPF运行截图工具?

Rod*_*des 8 c# wpf

我创建了一个带有很多按钮的WPF窗口,每个按钮都运行不同的程序.例如,要运行MS Word,我使用了:

System.Diagnostics.Process.Start("C:\\Program Files (x86)\\Microsoft Office\\Office14\\WINWORD.EXE");
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以不同的方式运行Windows 7 Snipping Tool时.应该是这样的:

System.Diagnostics.Process.Start("C:\\Windows\\System32\\SnippingTool.exe");
Run Code Online (Sandbox Code Playgroud)

我确定路径是正确的,但总是会显示一条消息,说明找不到该文件.我想知道为什么会这样.

重要提示:我使用Windows 7 64位.

dig*_*All 10

用这个:

// if the build platform of this app is x86 use C:\windows\sysnative
if(!Environment.Is64BitProcess) 
   System.Diagnostics.Process.Start("C:\\Windows\\sysnative\\SnippingTool.exe");
else
   System.Diagnostics.Process.Start("C:\\Windows\\system32\\SnippingTool.exe");
Run Code Online (Sandbox Code Playgroud)

问题在于您的构建平台(x86)以及C:\Windows\System32\64位操作系统上文件夹的自动重定向.

基本上,由于多种原因,在32位应用程序尝试访问C:\Windows\System32\它时,在vista/windows 7 64位操作系统中会自动重定向到名为的文件夹C:\Windows\SysWOW64\.因此,您无法启动,snippingtool.exe因为它不存在于该文件夹中.

唯一的方法是使用C:\Windows\sysnative\和绕过重定向.