Программирование для Windows NT (том 2)

         

HWND hWnd, UINT msg, WPARAM


          MB_OK | MB_ICONINFORMATION);

        // Освобождаем буфер

        free(lpBuf);

      }

      // Закрываем идентификатор системы управления

      // сервисами

      CloseServiceHandle(schSCManager);

      break;

    }

   

    case ID_HELP_ABOUT:

    {

      MessageBox(hWnd,

        "Simple Service Control\n"

        "(C) Alexandr Frolov, 1996\n"

        "Email: frolov@glas.apc.org",

        szAppTitle, MB_OK | MB_ICONINFORMATION);

      return 0L;

      break;

    }

       default:

        break;

  }

  return FORWARD_WM_COMMAND(hWnd, id, hwndCtl, codeNotify,

    DefWindowProc);

}

В файле srvctrl.h (листинг 5.4) определено имя сервиса и прототипы функций.

Листинг 5.4. Файл service/srvctrl.h

// Имя сервиса

#define MYServiceName "Sample of simple service"

// -----------------------------------------------------

// Описание функций

// -----------------------------------------------------

LRESULT WINAPI

WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

void WndProc_OnCommand(HWND hWnd, int id,

  HWND hwndCtl, UINT codeNotify);

void WndProc_OnDestroy(HWND hWnd);

LRESULT WINAPI

DlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam);

BOOL DlgProc_OnInitDialog(HWND hdlg, HWND hwndFocus,

                          LPARAM lParam);

void DlgProc_OnCommand(HWND hdlg, int id,

  HWND hwndCtl, UINT codeNotify);

Файл resource.h (листинг 5.5) содержит описания констант, которые используются в файле определения ресурсов приложения.

Листинг 5.5. Файл service/resource.h

//{{NO_DEPENDENCIES}}

// Microsoft Developer Studio generated include file.

// Used by srvctrl.rc

//

#define IDR_MENU1                       101

#define IDR_APPMENU                     101

#define IDI_APPICON                     102

#define IDI_APPICONSM                   103

#define ID_FILE_EXIT                    40001

#define ID_HELP_ABOUT                   40002


Содержание  Назад  Вперед