Windows 控制台应用在新控制台而不是同一控制台中打开
Windows console app opens in new console instead of the same console
我确实有一个Windows控制台应用程序,用C++编写并使用控制台子系统进行编译,但是当从命令行启动时,它确实会打开一个新窗口,而不是重复使用相同的控制台窗口。
似乎原因是可执行文件有一个清单,需要管理员权限才能运行。
添加此功能是为了能够正确读取 HKLM 中的一些键。
如何解决这个问题?
您无需在应用程序清单中指定requestedExecutionLevel
requireAdministrator
,即可使其能够在没有虚拟化的情况下从 HKLM 读取。
您无需提升即可从 HKLM 阅读。只要您的进程具有指定requestedExecutionLevel
的应用程序清单,它就不会被虚拟化。因此,结论是您需要指定asInvoker
的requestedExecutionLevel
。
有关注册表虚拟化的详细信息,请参阅 MSDN 文档。
相关文章:
- C++控制台应用程序阻止退出
- 如何在 Win32 C++控制台应用程序中调用 UWP 类库
- 什么是仅调用一次并调用参数的控制台应用
- 是否可以从控制台应用程序使用 C++/WinRT 创建窗口?
- 如何创建一个使用开源c项目的c++控制台应用程序
- c ++控制台应用程序,如何在控制台外部打印字符
- 为什么我不能在同一 MS VS 解决方案中的两个控制台应用中使用C++特征(仅标头库)?
- 将控制台应用程序直接输出到Visual Studio而不是外部Windows控制台中
- 如何在 Win32 控制台应用程序中注册不可见的窗口类?
- C++控制台应用,其中有两个冲突的对象不工作
- 如何将从控制台应用程序C++回调设置为C++ COM DLL
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 直接输入控制台应用程序
- C++调试控制台应用程序
- C++控制台应用程序调用C++/CLI静态库
- 如何在控制台应用程序中添加滚动功能以显示更大的输入
- 如何在将Visual Studio C++控制台应用程序连接到Microsoft SQL Server时修复"
- 如何读取windows服务启动的控制台应用程序的输出
- VS2017 中缺少 Win32 控制台应用程序.如何创建C++空项目?
- 将 Visual C++ 6 控制台应用程序作为 Windows 服务运行