我正在使用Visual 2013中的C++控制台应用程序,使用Windows。
首先,我使用FreeConsole分离控制台,它可以工作;然后,正如FreeConsole那么AttachConsole不工作了建议的那样,调用AllocConsole,返回true,意思是成功;最后,我试图使用AttachConsole将其附加回去,但没有发生任何事情-
#include <psapi.h>
DWORD winpid = GetCurrentProcessId(); // get pid
std::cout << winpid; // it works
FreeConsole(); // console lost
bool succeed = AllocConsole(); //succeeded.
succeed = AttachConsole(winpid); // return false: failed.
if (!succeed)
LastError = GetLastError(); // Error Code 5ERROR_ACCESS_DENIED
5 (0x5)
Access is denied.我该如何正确地连接控制台?
发布于 2016-10-15 16:57:02
在AllocConsole之前删除AttachConsole调用。
来自文档:进程最多可以附加到一个控制台。如果调用进程已附加到控制台,则返回的错误代码为ERROR_ACCESS_DENIED (5)。
https://stackoverflow.com/questions/40059902
复制相似问题