NTSTATUS RunTests(VOID) { NTSTATUS Status; WORKER Worker; Status = WorkerStart(&Worker); if (!NT_SUCCESS(Status)) { KLErr("WorkerStart failed Status 0x%x", Status); return Status; } Status = WorkerExec(&Worker, SocketTest, NULL, TRUE); if (!NT_SUCCESS(Status)) { KLErr("SocketTest failed Status 0x%x", Status); goto cleanup; } Status = WorkerExec(&Worker, MapTest, NULL, TRUE); if (!NT_SUCCESS(Status)) { KLErr("MapTest failed Status 0x%x", Status); goto cleanup; } cleanup: KLInf("RunTests Status 0x%x", Status); WorkerStop(&Worker); return Status; }
INT_PTR CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { HINSTANCE hInstance = GetModuleHandle(NULL); HWND hButton = GetDlgItem(hDlg, IDC_START); HMENU hMenu = GetSystemMenu(hDlg, FALSE); HICON hBigIcon, hSmallIcon; WCHAR buf[BUFSIZ]; if (msg == WM_TASKBARCREATED && !IsWindowVisible(hDlg)) { WorkerMinimize(); return 0; } switch (msg) { case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_START: WorkerMinimize(); WorkerStart(); break; case IDC_TIMEOUT: if (HIWORD(wParam) == EN_CHANGE) { GetDlgItemText(hDlg, IDC_TIMEOUT, buf, BUFSIZ); EnableWindow(hButton, (Worker.dwTimeout = _wtoi(buf)) > 0); } } break; case WM_SYSCOMMAND: switch(LOWORD(wParam)) { case WM_INVISIBLE: if (Worker.isInvisible = !(GetMenuState(hMenu, WM_INVISIBLE, MF_BYCOMMAND) & MF_CHECKED)) { CheckMenuItem(hMenu, WM_INVISIBLE, MF_BYCOMMAND | MF_CHECKED); } else { CheckMenuItem(hMenu, WM_INVISIBLE, MF_BYCOMMAND | MF_UNCHECKED); } } break; case WM_INITDIALOG: SetWindowText(hDlg, App.Strings.appName); hSmallIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON)); SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM) hSmallIcon); hBigIcon = (HICON) LoadImage(hInstance, MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 64, 64, 0); SendDlgItemMessage(hDlg, IDC_START, BM_SETIMAGE, IMAGE_ICON, (LPARAM) hBigIcon); SendDlgItemMessage(hDlg, IDC_TIMEOUT, EM_LIMITTEXT, 5, 0); SetDlgItemText(hDlg, IDC_TIMEOUT, DEF_TIMEOUT); DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND); DeleteMenu(hMenu, SC_RESTORE, MF_BYCOMMAND); DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND); InsertMenu(hMenu, 0, MF_BYPOSITION | MF_STRING | MF_CHECKED, WM_INVISIBLE, App.Strings.cfgInvisible); InsertMenu(hMenu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, 0); return TRUE; case WM_CLOSE: DestroyWindow(hDlg); return TRUE; case WM_DESTROY: PostQuitMessage(0); return TRUE; case WM_TRAYICON: switch (lParam) { case WM_LBUTTONUP: case WM_RBUTTONUP: WorkerStop(); WorkerRestore(); } return FALSE; } return FALSE; }