WinNT/2000 Service Controller

Environment: VC6, Win2000 SP2

This dialog-based VC++ application can be used to control the services in WinNT/2000. To install, follow these steps and the following code:

  1. Open the service control manager and get the handle.
  2. Create the service and get the service handle.
  3. Close the handles.
SC_HANDLE hSCMD = OpenSCManager(NULL,NULL,
                                SC_MANAGER_CREATE_SERVICE);
SC_HANDLE hService = NULL;
if (g_szAcntName[0] == 0)
{
  hService = CreateService(hSCMD, g_szServName, g_szServName, NULL,
    SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START,
    SERVICE_ERROR_NORMAL, szBinaryPath, NULL,NULL, NULL,
                                        NULL, NULL);
}
else{
  hService = CreateService(hSCMD, g_szServName, g_szServName, NULL,
    SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START,
    SERVICE_ERROR_NORMAL, szBinaryPath, NULL,NULL,
    NULL, g_szAcntName, g_szPassword);
}
CloseServiceHandle(hService);
CloseServiceHandle(hSCMD);

To uninstall, follow these steps and the following code:

  1. Open the service control manager and get the handle.
  2. Open the service and get the service handle.
  3. Delete the service by giving the service handle.
  4. Close the handles.
SC_HANDLE hSCMD = OpenSCManager(NULL,NULL,
                                SC_MANAGER_CREATE_SERVICE);
SC_HANDLE hService = OpenService(hSCMD,g_szServName, DELETE);
DeleteService(hService);
CloseServiceHandle(hService);
CloseServiceHandle(hSCMD);

Downloads

Download demo project - 34 Kb
Download source - 34 Kb


Comments

  • Before CodeGuru full of 1000th "Hello World"

    Posted by Legacy on 12/14/2003 12:00am

    Originally posted by: Before CodeGuru full of 1000th "Hello World"

    Before CodeGuru full of 1000th "Hello World"

    Reply
  • Special???

    Posted by Legacy on 11/14/2002 12:00am

    Originally posted by: Bob

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with ease (both locally and remotely), and ultimately spend more time coding instead of waiting for the dreaded application redeploy to finish. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

  • The latest release of SugarCRM's flagship product gives users new tools to build extraordinary customer relationships. Read an in-depth analysis of SugarCRM's enhanced ability to help companies execute their customer-facing initiatives from Ovum, a leading technology research firm.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds