2012-07-27 96 views
3

我知道什麼時候該應用程序是窗口一個從一開始的創建方式的窗口,那就是你所謂如何在作爲控制檯啓動的應用程序中創建窗口?

LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); 
int WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int nCmdShow); 

但是做什麼,如果我想獲得用戶的選擇時,它顯示一個控制檯應用程序的輸出結束。這就是在臨時創建的窗口中以更易讀的形式顯示其數據,而不是控制檯允許的純文本模式。

在控制檯應用程序,我有手錶用戶按鍵的功能,我的程序結束時,它顯示消息:press D to display result in a window instead of console,並在代碼:

if (virtual_key == 0x44) { 
    HWND myWindow = myCreateWindFunc(/* data */); 
} 

這就是我需要包裝的所有代碼將窗口創建爲一個函數,然後用數據調用函數來填充它的控制權。

回答

3

控制檯應用程序可以使用任何相關的WinAPI函數(MessageBoxDialogBox等)創建子窗口或對話框。

唯一需要注意的是create函數可能需要控制檯窗口的句柄。要獲得它,你可以使用這裏的例子How To Obtain a Console Window Handle

相關問題