簡體   English   中英

Windows:如果不從命令行運行,是否可以訪問運行C ++代碼的進程的返回值?

[英]Windows: Can the return value of a process running C++ code be accessed if you don't run from command line?

我知道您可以使用命令行或讓一個進程創建並運行另一個進程來訪問該進程的返回值。 但是,如果我只創建一個* .exe並雙擊它,返回值是否可以訪問我可以訪問的任何地方? 如果是這樣,在哪里? 我是否可以更改任何設置,以便如果我的進程返回EXIT_FAILURE,則Windows將處理與返回EXIT_SUCCESS不同的事情?

不,我認為沒有任何東西可以保留以這種方式啟動的進程的退出值。 當您雙擊快捷方式或可執行文件時,資源管理器將創建該進程,然后立即關閉句柄,因為它不再關心會發生什么。

您可以編寫一個程序,該程序在運行時在感興趣的進程上調用OpenProcess (它必須有一種在退出之前發現進程ID的方法。)OpenProcess將為您提供進程的句柄。 然后程序可以在該句柄上等待。 當進程退出時,程序可以使用該句柄來檢索狀態碼並執行您想要執行的任何操作。

暫無
暫無

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

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