簡體   English   中英

Win32應用程序,具有控制台輸出,沒有新窗口

[英]Win32 application with console output and without new window

我想創建一個可以充當命令行(基於輸入參數顯示一些控制台輸出)或基於輸入參數顯示窗口的工具。

我正在將MSV2012與C ++一起使用,看來您必須在控制台和窗口應用程序之間“選擇”。

我知道網絡中充滿了使用AllocConsole()並重定向std :: out的示例,但它並不像命令行應用程序:從Windows控制台調用exe會打開一個帶有控制台輸出的新窗口...

有沒有辦法讓它使用當前的控制台窗口而不是分配一個新的窗口?

如果不可能的話,我將制作2個應用程序,但這很可惜。

其他人可能會有更權威的答案,但我不認為它會得到支持。

通常的解決方法是創建Windows應用程序,但有一個命令行包裝程序,可從CLI啟動它(並提供與原始控制台進行通信的通道)。

它在技術上不受支持,但是我找到了一個很好的解決方案,方法是獲取當前進程的快照,查找父進程,如果是控制台應用程序則附加到其控制台或使用AllocConsole創建一個,重定向輸出,獲取父進程的線程如果它是cmd.exe並掛起它,則在我退出我的應用程序之前將其恢復

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM