我有一个用C ++用ATL编写的Win32 / COM可执行文件。我是从VS2015的源代码编译的。它可以使用如下命令注册为本地服务:
myapp.exe /u:uname/p:pass/Service
但目前尚不清楚我应该指定哪个用户名?为什么本地服务可能需要用户?
源代码包含:
class CServiceModule : public CComModule
{
public:
CServiceModule();
virtual ~CServiceModule();
HRESULT RegisterServer(BOOL bRegTypeLib, BOOL bService);
HRESULT UnregisterServer();
void Init(_ATL_OBJMAP_ENTRY* p, HINSTANCE h, UINT nServiceNameID, const GUID* plibid = NULL);
void Start();
void ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv);
void Handler(DWORD dwOpcode);
void Run();
BOOL IsInstalled();
HRESULT Install();
BOOL Uninstall();
LONG Unlock();
void LogEvent(LPCTSTR pszFormat, ...);
void SetServiceStatus(DWORD dwState);
void SetupAsLocalServer();
并且可执行文件也可以注册为本地COM服务器:
myapp.exe /RegServer