我正在嘗試將 dll 注入 testprogam 并使用 AllocConsole() 進行除錯。
AllocConsole();
但是,控制臺不會出現,我意識到我試圖注入的程式是在 SYSTEM 下運行的,并且我使用的是管理員帳戶,所以控制臺不會出現在我的桌面上。僅創建了 conhost 行程。
那么...如何使 AllocConsole() 的控制臺顯示在每個帳戶桌面上?
uj5u.com熱心網友回復:
該程式正在運行,SYSTEM很可能它是在服務會話(會話 0)中運行的服務。無法分配控制臺并在另一個會話(例如控制臺會話)中顯示它。行程不可能擁有在所有會話甚至多個桌面上都可見的視窗(或控制臺)。
如果您不知道什么是會話隔離最好從這里開始閱讀:應用程式兼容性 - 會話 0 隔離
如果您想輸出簡單的除錯,一個簡單的方法是使用OutputDebugString(并使用DbgView之類的工具來讀取輸出)或寫入事件日志。要獲得更詳細的輸出,您可以設定命名管道或其他一些行程間通信。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/417703.html
標籤:
上一篇:小數到uint8_t陣列
