我正在尝试将输出从我的DLLredirect到外部控制台窗口,以便于deBUGging。
我已经被告知AllocConsole,但我无法重现它,即控制台窗口不会出现。
我当前的环境是Visual Studio 2005。
我尝试了下面这个从网上下载的例子,
C ++中的linux控制台命令(gcc编译器)
在Qt中显示一个控制台
如何更改当前光标位置指示器的颜色?
如何设置从控制台运行java的亲和力
fork()和STDOUT / STDERR从subprocess到控制台
AllocConsole(); HANDLE han = GetStdHandle(STD_OUTPUT_HANDLE); WriteConsole(han,"hello",6,new DWORD,0);
但没有任何反应。 如果首先通过DLL创build控制台窗口,是否有人能指出我的方向是正确的?
提前致谢!
C ++ – 保持控制台窗口打开?
如何隐藏进程的控制台给定其PID?
可以完全捕获windows控制台应用程序的控制台输出(包括高级 *** 作)吗?
SetConsoleActiveScreenBuffer使ReadConsole返回ERROR_SHARING_VIolATION
在控制台底部的input栏在C中
输出调试字符串的正确方法是通过OutputDeBUGString() ,使用适当的调试工具监听输出字符串。
一旦加载,没有什么特别的关于DLL,所以没有办法分配控制台将是任何DLL不同于最初加载它的EXE。
话虽如此,一个进程可以一次只关联一个控制台,所以如果已经有一个控制台连接到进程,那么分配一个新的不会做任何事情(我假设你正在检查返回值AllocConsole ?它返回什么? GetLastError返回什么?)
还有一些其他的可能性。 例如,如果你的DLL被加载到一个服务中,那么服务将(可能)在不同的窗口站下运行到当前登录的用户,所以如果你创建一个控制台窗口,你将无法看到它。
总结以上是内存溢出为你收集整理的在DLL中的控制台输出窗口全部内容,希望文章能够帮你解决在DLL中的控制台输出窗口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)