如何關閉SDL視窗建立的子視窗(win32)開啟的Process? |
缺席
|
psboy
一般會員 ![]() ![]() 發表:1 回覆:5 積分:1 註冊:2010-05-30 發送簡訊給我 |
如標題, 我在SDL視窗Create一個win32的subwindow 並且在Subwindow中使用CreateProcess 測試過直接關閉Subwindow時 在WM_CLOSE的TerminateProcess會正常作用 而直接關閉SDL的母視窗時 WM_CLOSE則完全不會執行 問題是出在SDL還是? CreateWindow的時候有將SDL的視窗設定成parent 底下是Terminate process時的code case WM_CLOSE: TerminateProcess(pi.hProcess,0); |
psboy
一般會員 ![]() ![]() 發表:1 回覆:5 積分:1 註冊:2010-05-30 發送簡訊給我 |
|
ddy
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
真巧,我也在玩SDL ^^
順便分享一下, [code cpp] #include "SDL_syswm.h" struct SDL_SysWMinfo wmInfo; SDL_VERSION(&wmInfo.version); SDL_GetWMInfo(&wmInfo); [/code] 其中wmInfo.window 就是SDL 產生的 window handle 有了window handle 想幹什麼就能幹了 XDDD ===================引 用 psboy 文 章=================== 如標題, 我在SDL視窗Create一個win32的subwindow 並且在Subwindow中使用CreateProcess 測試過直接關閉Subwindow時 在WM_CLOSE的TerminateProcess會正常作用 而直接關閉SDL的母視窗時 WM_CLOSE則完全不會執行 問題是出在SDL還是? CreateWindow的時候有將SDL的視窗設定成parent 底下是Terminate process時的code case WM_CLOSE: CloseHandle( pi.hProcess ); return 0; |
psboy
一般會員 ![]() ![]() 發表:1 回覆:5 積分:1 註冊:2010-05-30 發送簡訊給我 |
SDL 產生的 window handle
在create subwindow的時候就已經用過了.... 因為母視窗是SDL 子視窗是win32 HWND WINAPI CreateWindow( __in_opt LPCTSTR lpClassName, __in_opt LPCTSTR lpWindowName, __in DWORD dwStyle, __in int x, __in int y, __in int nWidth, __in int nHeight, __in_opt HWND hWndParent, __in_opt HMENU hMenu, __in_opt HINSTANCE hInstance, __in_opt LPVOID lpParam ); HWND hWndParent就是填SDL 產生的 window handlehttp://msdn.microsoft.com/en-us/library/ms632679(VS.85).aspx ===================引 用 ddy 文 章=================== 真巧,我也在玩SDL ^^ 順便分享一下, [code cpp] #include "SDL_syswm.h" struct SDL_SysWMinfo wmInfo; SDL_VERSION(&wmInfo.version); SDL_GetWMInfo(&wmInfo); [/code] 其中wmInfo.window 就是SDL 產生的 window handle 有了window handle 想幹什麼就能幹了 XDDD |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |