我正在尝试在窗口7 64位上编写一个简单的窗口服务。该服务的用户帐户是LocalSystem。
我想要做的只是一个基本的服务器/客户端套接字程序,服务器存在于Windows服务中。该服务只是做一件简单的事情。当它启动时,它会创建一个线程来侦听端口并等待使用窗口套接字apis进行客户端连接。 但问题是客户端无法连接到服务器,直到用户登录运行该服务的计算机。
以下是我安装服务的代码。
wchar_t szPath[MAX_PATH];
SC_HANDLE schSCManager = NULL;
SC_HANDLE schService = NULL;
GetModuleFileName(NULL, szPath, ARRAYSIZE(szPath);
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE);
schService = CreateService(
schSCManager,
L"msdcontrol",
L"msd control",
SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
SERVICE_AUTO_START,
SERVICE_ERROR_NORMAL,
szPath,
NULL,
NULL,
NULL,
NULL,
NULL
);
我做错了什么?