#include <Windows.h>
void AutoRunService() { char szFileName[MAX_PATH] = { 0 }; GetModuleFileName(NULL, szFileName, MAX_PATH); SC_HANDLE scHandle = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); SC_HANDLE scHandleOpen = OpenService(scHandle, "lyshark", SERVICE_ALL_ACCESS); if (scHandleOpen == NULL) { char szSelfFile[MAX_PATH] = { 0 }; char szSystemPath[MAX_PATH] = { 0 };
GetSystemDirectory(szSystemPath, MAX_PATH); strcat(szSystemPath, "\\main.exe");
GetModuleFileName(NULL, szSelfFile, MAX_PATH);
CopyFile(szSelfFile, szSystemPath, FALSE); SC_HANDLE scNewHandle = CreateService(scHandle,"lyshark","lyshark", SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS,SERVICE_AUTO_START, SERVICE_ERROR_IGNORE,szSystemPath,NULL,NULL,NULL,NULL,NULL);
StartService(scNewHandle, 0, NULL); CloseServiceHandle(scNewHandle); MessageBox(NULL, "服务已注册", "lyshark", MB_OK); } CloseServiceHandle(scHandleOpen); CloseServiceHandle(scHandle); }
int main(int argc,char * argv[]) { AutoRunService();
return 0; }
|