如何将%windir%\system32\SnippingTool.exe 转换成对的目录 ?
网上只找到这段代码:
if(!Environment.Is64BitProcess)
System.Diagnostics.Process.Start("C:\\Windows\\sysnative\\SnippingTool.exe");
else
System.Diagnostics.Process.Start("C:\\Windows\\system32\\SnippingTool.exe");
但这两种路径的转换有什么规则吗? 只是替换吗?有没有系统API函数可以做这件事情 ?
病毒吧,我机器上没这目录。
如果在64位系统上直接使用Process.Start是无法启动C:\\Windows\\system32\\SnippingTool.exe的,必须使用路径C:\\Windows\\sysnative\\SnippingTool.exe
@沧海一杰: 我的系统是Win8.1 Enterprise x64,使用 vb6及c#都会报找不到文件的错误,但使用C:\\Windows\\sysnative\\SnippingTool.exe路径就可以启动截图工具
@沧海一杰: 看微软的解释,好像要用这三个函数
Wow64DisableWow64FsRedirection
@沧海一杰: 用 Environment.SystemDirectory 获取 "x:\Windows\System32" 目录,然后根据 Is64BitProcess 和 Is64BitOperatingSystem 来决定是否要把 System32 替换为 SysNative。