Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
来源:互联网 发布:上瘾网络剧未剪版 编辑:程序博客网 时间:2024/06/17 04:03
我调用win7自带的定位程序:c:/windows/system32/tabcal.exe;
本人用的64位系统。
在DOS和使用批处理都能正确打开程序,但在QT程序中一直打不开。
初始以为是必须得使用管理员权限,最后使用以下方法解决。
网上收到的解决方法(摘至:http://blog.csdn.net/csyounth/article/details/7847492):
在Windows7 64位操作系统下,VisualStudio编译32位应用,调用CreateProcess运行System32文件夹下批处理文件会失败,GetLastError返回值是2。查询Error Lookup返回信息:系统找不到指定文件。
其原因在于64为操作系统对于32位程序调用System32下文件的处理方式[1]。对于64位操作系统来说,C:\Windows\System32文件夹不再是系统文件夹,而是为64位操作系统预留的。当同名的64位和32位DLL同时存在于一个系统之中时,system32用于存储32位DLL,并且这些DLL是为64位应用调用的。因为file system redirector机制的存在,SysWOW64透明化了不同位文件的调用。
如果一个32位应用程序需要调用System32下的文件,最好改用Sysnative这个System32的别名,否则将调用失败。实际上,并不存在Sysnative这个文件夹,这只是Windows为32位应用开发者提供的一种便利,64位应用中并不能使用它。
0 0
- Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
- Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
- Win7 64位系统下将可执行文件oflash.exe 复制到system32文件夹下出错的原因
- win7 64位系统 system32 文件夹下 exe 程序异常
- Createprocess 函数运行出错的原因和解决办法
- win7 64位 system32和syswow64文件夹
- win7,64位系统下,找不到指定的文件 C:\WINDOWS\system32\<LANG_NAME>\mstsc.exe.MUI
- 64位win7下运行Virtualbox安装系统时出错的解决方案。
- CreateProcess函数启动子进程出错的原因
- 困惑了一上午的问题: Win7 64位操作系统的 System32 目录Redirector
- Win7 64位操作系统下ODBC数据源的配置问题
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方案(转)
- 【记录】关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方案。
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方案。
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方案
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方案
- 疑难杂症:WIN7 64位系统用VS2008生成的程序在XP下运行出现不正常的原因.
- 2012年PPS笔试C++试题
- JAVA入门学习实例
- 欢迎使用CSDN-markdown编辑器
- android developers 打不开办法
- 敏捷测试的方法和实践
- Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
- ureCRT for Linux突破30天使用限制
- C++ 设计模式 - 6大设计原则之单一职责原则
- ant通配符
- 秒杀多线程第十二篇 多线程同步内功心法——PV操作上
- 理解延迟(latency)和吞吐量(throghtput)
- POJ 1426 Find The Multiple(bfs+打表)
- 上传文件
- Ubuntn下搭建L2TP