www.pudn.com > PIPMasq.zip > install.cpp
// install.cpp #include "stdafx.h" #include#include void install(void) { SC_HANDLE newService, scm; cout << "Starting...\n"; // open a connection to the SCM scm = OpenSCManager(0, 0,SC_MANAGER_CREATE_SERVICE); if (!scm) { cout << "In OpenScManager" << endl; cout << "Error number: " << GetLastError() << endl; ExitProcess(GetLastError()); } // Get current directory char buffer[MAX_PATH]; DWORD len = GetCurrentDirectory(MAX_PATH, buffer); if (len == 0) cout << "Could not get current Directory...\n"; char s[MAX_PATH]; strcpy(s, buffer); strcat(s, "\\PIPMasqService.exe -exec"); // Install the new service newService = CreateService( scm, "PIPMasqService", "PIPMasqService", SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, s, 0, 0, 0, 0, 0); if (!newService) { cout << "In CreateService" << endl; cout << "Error number: " << GetLastError() << endl; ExitProcess(GetLastError()); } else cout << "Service installed\n"; // clean up CloseServiceHandle(newService); CloseServiceHandle(scm); cout << "Ending...\n"; }