HWND hListView;\r
HWND hStatus;\r
HWND hTool;\r
+HWND hProgDlg;\r
HMENU hShortcutMenu;\r
INT SelectedItem;\r
\r
break;\r
\r
case ID_START:\r
- if ( DoStartService() )\r
+ {\r
+ ENUM_SERVICE_STATUS_PROCESS *Service = NULL;\r
+ TCHAR buf1[100];\r
+ TCHAR buf2[100];\r
+ /* open the progress dialog */\r
+ hProgDlg = CreateDialog(GetModuleHandle(NULL), \r
+ MAKEINTRESOURCE(IDD_DLG_PROGRESS),\r
+ hMainWnd, \r
+ (DLGPROC)ProgressDialogProc);\r
+ if (hProgDlg != NULL)\r
+ {\r
+ ShowWindow(hProgDlg, SW_SHOW);\r
+\r
+ /* write the info to the progress dialog */\r
+ LoadString(hInstance, IDS_PROGRESS_INFO, buf1,\r
+ sizeof(buf1) / sizeof(TCHAR));\r
+ _sntprintf(buf2, 100, buf1, _T("start"));\r
+ SendDlgItemMessage(hProgDlg, IDC_SERVCON_INFO, WM_SETTEXT, 0, (LPARAM)buf2);\r
+\r
+ /* get pointer to selected service */\r
+ Service = GetSelectedService();\r
+\r
+ /* write the service name to the progress dialog */\r
+ SendDlgItemMessage(hProgDlg, IDC_SERVCON_NAME, WM_SETTEXT, 0, \r
+ (LPARAM)Service->lpServiceName);\r
+ }\r
+\r
+ if ( DoStartService(hProgDlg) )\r
{\r
LVITEM item;\r
TCHAR szStatus[64];\r
item.iSubItem = 2;\r
SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item);\r
}\r
+\r
+ SendMessage(hProgDlg, WM_DESTROY, 0, 0);\r
+ }\r
break;\r
\r
case ID_STOP:\r
- if( Control(SERVICE_CONTROL_STOP) )\r
+ {\r
+ ENUM_SERVICE_STATUS_PROCESS *Service = NULL;\r
+ TCHAR buf1[100];\r
+ TCHAR buf2[100];\r
+ /* open the progress dialog */\r
+ hProgDlg = CreateDialog(GetModuleHandle(NULL), \r
+ MAKEINTRESOURCE(IDD_DLG_PROGRESS),\r
+ hMainWnd, \r
+ (DLGPROC)ProgressDialogProc);\r
+ if (hProgDlg != NULL)\r
+ {\r
+ ShowWindow(hProgDlg, SW_SHOW);\r
+\r
+ /* write the info to the progress dialog */\r
+ LoadString(hInstance, IDS_PROGRESS_INFO, buf1,\r
+ sizeof(buf1) / sizeof(TCHAR));\r
+ _sntprintf(buf2, 100, buf1, _T("stop"));\r
+ SendDlgItemMessage(hProgDlg, IDC_SERVCON_INFO, WM_SETTEXT, 0, (LPARAM)buf2);\r
+\r
+ /* get pointer to selected service */\r
+ Service = GetSelectedService();\r
+\r
+ /* write the service name to the progress dialog */\r
+ SendDlgItemMessage(hProgDlg, IDC_SERVCON_NAME, WM_SETTEXT, 0, \r
+ (LPARAM)Service->lpServiceName);\r
+ }\r
+\r
+ if( Control(hProgDlg, SERVICE_CONTROL_STOP) )\r
{\r
LVITEM item;\r
\r
item.iSubItem = 2;\r
SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item);\r
}\r
+\r
+ SendMessage(hProgDlg, WM_DESTROY, 0, 0);\r
+ }\r
break;\r
\r
case ID_PAUSE:\r
- Control(SERVICE_CONTROL_PAUSE);\r
+ Control(hProgDlg, SERVICE_CONTROL_PAUSE);\r
break;\r
\r
case ID_RESUME:\r
- Control(SERVICE_CONTROL_CONTINUE );\r
+ Control(hProgDlg, SERVICE_CONTROL_CONTINUE );\r
break;\r
\r
case ID_RESTART:\r
- if( Control(SERVICE_CONTROL_STOP) )\r
- {\r
- LVITEM item;\r
-\r
- item.pszText = '\0';\r
- item.iItem = GetSelectedItem();\r
- item.iSubItem = 2;\r
- SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item);\r
-\r
- if ( DoStartService() )\r
- {\r
- LVITEM item;\r
- TCHAR szStatus[64];\r
-\r
- LoadString(hInstance, IDS_SERVICES_STARTED, szStatus,\r
- sizeof(szStatus) / sizeof(TCHAR));\r
- item.pszText = szStatus;\r
- item.iItem = GetSelectedItem();\r
- item.iSubItem = 2;\r
- SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item);\r
- }\r
- }\r
+ SendMessage(hMainWnd, WM_COMMAND, 0, ID_STOP);\r
+ SendMessage(hMainWnd, WM_COMMAND, 0, ID_START);\r
break;\r
\r
case ID_NEW:\r
case ID_ABOUT:\r
DialogBox(hInstance,\r
MAKEINTRESOURCE(IDD_ABOUTBOX),\r
- hwnd,\r
- AboutDialogProc);\r
+ hMainWnd,\r
+ (DLGPROC)AboutDialogProc);\r
break;\r
\r
}\r
\r
while( GetMessage( &Msg, NULL, 0, 0 ) )\r
{\r
- TranslateMessage(&Msg);\r
- DispatchMessage(&Msg);\r
+ if(! IsDialogMessage(hProgDlg, &Msg) )\r
+ {\r
+ TranslateMessage(&Msg);\r
+ DispatchMessage(&Msg);\r
+ }\r
\r
}\r
return (int)Msg.wParam;\r