Win7 32位下编写的控制台程序怎么在win7 64位下用system()掉不起来呢?
Win7 32位下编写的控制台exe程序怎么在win7 64位下用system()函数掉不起来呢?求指教?
我在Win7 64位系统下安装了VS2010,用system()函数也是掉不起来
我是调用的win自身的exe程序,就是修改计算机sid的那个程序
system("C:\\Windows\\System32\\sysprep\\sysprep.exe")
你pause下 看是不是一样的
[解决办法]
您可能在想,"那么系统目录呢?同一个目录不能同时保存 32 位和 64 位版本的系统 DLL(例如,KERNEL32 或 USER32),不是吗"?通过执行可选择的文件系统重定向,WOW64 魔法般地为您解决了这个问题。来自 Win32 进程的文件活动通常转到 System32 目录,而不是在名为 SysWow64 的目录中。在内部,WOW64 会默默地更改这些请求以指向 SysWow64 目录。Win64 系统实际上有两个 \Windows\System32 目录 - 一个用于 x64 二进制文件,另一个用于 Win32 等效文件。
这看上去没什么,但会令人混淆。例如,我在某一点上使用了 32 位命令行提示(我自己并不知道)。当我针对 System32 目录中的 Kernel32.dll 运行 DIR 时,所得到的结果与我在 SysWow64 目录中执行相同操作后所得到的结果完全相同。我绞尽脑汁后才发现,文件系统重定向的工作方式就是这样。也就是说,即使我认为是在 \Windows\System32 目录中工作,但 WOW64 实际上已将调用重定向到 SysWow64 目录。顺便说一下,如果您确实希望从 x64 应用程序访问 32 位 \Windows\System32 目录,则 GetSystemWow64Directory API 会提供正确的路径。请一定阅读 MSDN? 文档,了解完整的信息。
Win7 32位下编写的控制台程序如何在win7 64位下用system()掉不起来呢
Win7 32位下编写的控制台程序怎么在win7 64位下用system()掉不起来呢?Win7 32位下编写的控制台exe程序怎么
