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.

  • Download the Information Governance Survey Benchmark Report to gain insights that can help you further establish business value in your Records and Information Management (RIM) program and across your entire organization. Discover how your peers in the industry are dealing with this evolving information lifecycle management environment and uncover key insights such as: 87% of organizations surveyed have a RIM program in place 8% measure compliance 64% cannot get employees to "let go" of information for …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds