win10 createprocess等执行批处理窗口闪退

2016-10-26 aqi_wolf C++

32位程序本来在win7 64位系统上运行没问题,后来系统升级到win10时,原先使用createprocess等执行的批处理程序启动不了

后来把程序编译成64位后就可以了!

通过测试,发现原来是win10系统上的32位cmd.exe启动不起来,而32位系统虽然是调用c:\windows\system32里面的cmd.exe,

实际上调用的是c:\windows\sysWow64里面的cmd.exe,具体可以查看如下网址解释:

http://www.cnblogs.com/hbccdf/p/dllchecktoolandsyswow64.html

当然如果要在32位系统调用system32里面的cmd.exe,微软也有提供接口实现!

Wow64DisableWow64FsRedirection:具体调用方式参考:

https://msdn.microsoft.com/zh-tw/library/aa365743(v=vs.85).aspx


标签: win10 createprocess 批处理

发表评论:

Powered by EMLOG Copyright @ 狼酒 版权所有. 闽ICP备14012694号-2