Bộ phận chính của 1 Service:
Code:
#include <windows.h>
void ErrorHandler (char * pText, DWORD dwError);
void main (int argc, char *argv[])
{
SERVICE_STATUS svStatus;
// Step 1: ------------ Đăng ký cho Service Manager biết --------------
SC_HANDLE serviceControlManagerHandle = OpenSCManager (NULL,NULL, SC_MANAGER_CREATE_SERVICE);
if ((NULL == serviceControlManagerHandle) || (INVALID_HANDLE_ERROR == serviceControlManagerHandle))
{
ErrorHandler ("OpenSCManager failed", GetLastError());
return; // exit;
}
// step 2.1 --- tự tạo handle cho Service -----
SC_HANDLE serviceHandle = CreateService (serviceControlManagerHandle, argv[1], argv[2], SERVICE_ALL_ACCESS,
.......... );
// step 2.2 --- hoặc đòi handle của Service đã xong -----
SC_HANDLE serviceHandle = OpenService (serviceControlManagerHandle, argv[1], SERVICE_ALL_ACCESS | DELETE);
if ((NULL == serviceHandle ) || (INVALID_HANDLE_ERROR == serviceHandle ))
{
ErrorHandler ("OpenService failed", GetLastError());
return; // exit;
}
..... còn tiếp ---
}