int OkToExit(WPARAM, LPARAM) { int exitmode = db_get_b(NULL, MODNAME, "ShutdownMode", 2); DONT = 1; if (exitmode == 2 && session_list[0] != 0) { SaveSessionDate(); SaveSessionHandles(0, 0); db_set_b(NULL, MODNAME, "lastempty", 0); } else if (exitmode == 1 && session_list[0] != 0) { DialogBox(g_hInst, MAKEINTRESOURCE(IDD_EXDIALOG), 0, ExitDlgProc); } else db_set_b(NULL, MODNAME, "lastempty", 1); return 0; }
INT_PTR CALLBACK ExitDlgProc(HWND hdlg,UINT msg,WPARAM wparam,LPARAM lparam) { switch(msg) { case WM_INITDIALOG: { TranslateDialogDefault(hdlg); LoadPosition(hdlg, "ExitDlg"); ShowWindow(hdlg,SW_SHOW); }break; case WM_COMMAND: switch(LOWORD(wparam)) { case IDOK: { SavePosition(hdlg, "ExitDlg"); SaveSessionDate(); SaveSessionHandles(0,0); db_set_b(NULL, MODNAME, "lastempty", 0); DestroyWindow(hdlg); }break; case IDCANCEL: { SavePosition(hdlg, "ExitDlg"); db_set_b(NULL, MODNAME, "lastempty", 1); DestroyWindow(hdlg); }break; } case WM_CLOSE: DestroyWindow(hdlg); break; case WM_DESTROY: PostQuitMessage(0); break; default: return FALSE; } return TRUE; }