簡體   English   中英

AllocConsole() 不顯示

[英]AllocConsole() doesnt show up

我正在嘗試將 dll 注入測試程序並使用 AllocConsole() 進行調試。

AllocConsole();

但是,控制台不會出現,我意識到我試圖注入的程序是在 SYSTEM 下運行的,而且我使用的是管理員帳戶,所以控制台不會出現在我的桌面上。 僅創建了 conhost 進程。

那么...如何使 AllocConsole() 的控制台顯示在每個帳戶桌面上?

該程序作為SYSTEM運行,因此它很可能是在服務 session(會話 0)中運行的服務。 無法分配控制台並在另一個 session(例如控制台會話)中顯示它。 進程不可能擁有在所有會話甚至多個桌面上都可見的 window(或控制台)。

如果您不知道 Session 隔離最好從這里開始閱讀: 應用程序兼容性 - Session 0 隔離

如果您想對 output 進行簡單調試,一個簡單的方法是使用OutputDebugString (並使用DbgView之類的工具讀取輸出)或寫入事件日志。 有關更詳細的 output 您可以設置一個名為 pipe 或其他一些進程間通信。

暫無
暫無

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

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