在Windows 7和8下,其他应用程序无法启动openfiles.exe
Under Windows 7 and 8, openfiles.exe cannot be launched by another application
如果我使用C++Windows API"CreateProcess"或C运行库"system"来启动大多数进程,它们运行良好。但是,如果我在Windows 7和8下使用与"openfiles.exe/query"相同的方法来启动openfiles.exe,它永远不会起作用。它抱怨需要一个32位操作系统来运行,或者,如果我用runas提升它,我会得到Invalid Function。在Win 7和8下的openfiles.exe肯定有一些特殊之处,尽管它在命令提示符下运行良好,但当其他进程启动时,它从未运行过。为什么?
似乎在Windows 64位下,应用程序也必须是64位的(对于32位操作系统不确定)。
我的系统是Windows 7 64位,如果我在"目标平台"设置为"64位Windows"的情况下构建应用程序,则以下操作有效。
::ShellExecuteW( this->Handle, NULL, L"openfiles.exe", L"/query", NULL, SW_SHOWNORMAL );
我相信其他启动选项也可以像CreateProcess一样工作。
但当构建为32位应用程序时,会出现相同的错误。
相关文章:
- 如何创建一个空的全局类并在启动时实例化它
- 即使我读取了所有内容,在FIFO上打开的QSocketNotifier也会一直启动
- 使用 std::string () const 函数启动线程或未来
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- 如何创建线程序列以按照启动顺序执行任务?
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 在挂钩启动新线程时解除挂钩进程
- 程序无法启动,因为缺少 libmpc-3.dll
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- QSerialPort 在应用程序启动之前正在使用中
- 无法在 Arch Linux 中启动虚幻引擎 4
- C++关于指针和使用函数将它们启动到堆的行为究竟是什么?
- 如何使用 ctypes 停止和重新启动从 Python 运行的C++代码
- 程序在使用 system() 启动另一个可执行文件时停止
- Qt 和 Android - 如何使用 Qandroidjniobject 启动相机
- Q没有管理权限的 exe 无法启动维护工具
- 启动类函数作为失去引用的线程
- 如何使用C++确定应用程序是否已在窗口中启动?
- 在Windows 7和8下,其他应用程序无法启动openfiles.exe