有沒有像C#中的「FormClosing」,但在C++中作爲控制檯關閉的事件,我可以在控制檯關閉之前執行一些代碼? (在我的情況下,我想在控制檯完全關閉之前創建一個包含用戶輸入的目錄)。C++中是否存在「關閉控制檯」這樣的事件?
回答
我的猜測是,你想要得到的事件點擊[X]
BOOL WINAPI HandlerRoutine(DWORD eventCode)
{
switch(eventCode)
{
case CTRL_CLOSE_EVENT:
// do your thing
return FALSE;
break;
}
return TRUE;
}
,你找什麼時候?
您還需要啓用處理程序:
int main()
{
SetConsoleCtrlHandler(HandlerRoutine , TRUE);
getch();
}
正是我在找什麼。不過,我對WinAPI相當陌生,而且我很想知道,我的程序中該如何精確調用此函數? – user2699298
我的不好。編輯+鏈接到MSDN :) – deW1
所以,我必須「做我的事情(創建目錄)」在你說'//做你的事情',我只是在我的主程序'SetConsoleCtrlHandler();'它會不斷地檢查用戶是否點擊了[X],對嗎? – user2699298
如果你想關閉控制檯,那麼你可以使用FreeConsole();
如果再進一步想再次打開控制檯,您可以使用AllocConsole();
「我」不想關閉控制檯,這取決於用戶,如果他決定關閉控制檯,那麼他輸入的輸入將被寫入同一文件夾中的文件。所以,我需要一種方法來查明何時關閉表單並在關閉之前寫入文件。 – user2699298
哦,對不起,誤解了你的問題呢! – Vallentin
的關閉控制檯有效地殺死你的應用程序。在Windows中,我不確定是否有能力捕獲這些信息,但在Linux中,您可以捕獲KILL信號?
- 1. VSCode是否有像Sublime Text控制檯這樣的控制檯?
- 2. 事件「關閉childWindow」是否存在?
- 3. 控制檯應用程序C的關閉事件#
- 4. C#控制檯關鍵事件
- 5. 在C中關閉 - 這是否工作?
- 6. 如何在PowerShell中捕獲控制檯關閉事件?
- 7. 控制檯窗口關閉時是否可以訂閱一個事件?
- 8. C#中是否存在「Javascript上下文」這樣的事情?
- 9. 關閉控制檯輸入C++
- 10. 控制檯窗口剛剛關閉? c#
- 11. 關閉微軟Office C#控制檯
- 12. 不要關閉控制檯(C#)
- 13. C++代碼自動關閉控制檯
- 14. C#打開/關閉控制檯輸出
- 15. 關閉控制檯關閉進程
- 16. Windows窗體中是否存在「LoadComplete」這樣的事件?
- 17. DevTools控制檯 - 關閉它
- 18. 覆蓋控制檯關閉
- 19. 關閉控制檯消息
- 20. 控制檯窗口關閉
- 21. 檢查控制檯是否存在
- 22. Windows控制檯應用程序 - 用於關閉事件信號
- 23. 爲Rebol控制檯觸發關閉事件?
- 24. 控制檯捕捉關閉事件線程
- 25. 如何捕捉控制檯關閉事件?
- 26. 如何關閉在GETH控制檯控制檯
- 27. 點擊關閉控制檯窗口來結束C++控制檯程序是否正確?
- 28. Docusign發件人組是否存在這樣的事情?
- 29. C++窗口(winapi,不是控制檯),立即關閉
- 30. 在PyQt4 GUI關閉後關閉打開的控制檯
我假設你在談論的Windows嗎? – Matt
@Matt是的,Windows。 – user2699298