AllocConsole() doesnt show up



我正试图将dll注入测试程序,并使用AllocConsole((进行调试。

AllocConsole();

然而,控制台不会出现,我意识到我试图注入的程序正在SYSTEM下运行,我使用的是管理员帐户,所以控制台不会出现在我的桌面上。仅创建了conhost进程。

所以。。。如何使AllocConsole((中的控制台显示在每个帐户的桌面上?

程序以SYSTEM运行,因此很可能是在服务会话(会话0(中运行的服务。不可能分配控制台并在另一个会话(例如控制台会话(中显示它。进程不可能有一个在所有会话甚至多个桌面上都可见的窗口(或控制台(。

如果你不知道什么是会话隔离最好的开始阅读这里:应用程序兼容性-会话0隔离

如果您想输出简单的调试,一个简单的方法是使用OutputDebugString(并使用DbgView等工具读取输出(或写入事件日志。为了获得更详细的输出,您可以设置一个命名管道或其他一些进程间通信。

最新更新