sc 创建svchost服务_xp 创建服务_svchost应用程序错误(14)

电脑杂谈  发布时间:2017-05-07 13:43:47  来源:网络整理

}catch(char *str)

{

if(str && str[0])

{

rc = GetLastError();

OutputString("%s error %d", str, rc);

}

}RegCloseKey(hkRoot);

RegCloseKey(hkParam);

CloseServiceHandle(schService);

CloseServiceHandle(hscm); return rc;

}/*

used to install by rundll32.exe

Platform SDK: Tools - Rundll32

The Run DLL utility (Rundll32.exe) included in Windows enables you to call functions exported from a 32-bit DLL. These functions must have the following syntax:

*/

void CALLBACK RundllInstallA(

HWND hwnd, // handle to owner window

HINSTANCE hinst, // instance handle for the DLL

char *param, // string the DLL will parse

int nCmdShow // show state

)

{

InstallService(param);

}

int UninstallService(char *name)

{

int rc = 0;

SC_HANDLE schService;

SC_HANDLE hscm;__try{

hscm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);

if (hscm == NULL)

{

OutputString("OpenSCManager() error %d", rc = GetLastError() );

return rc;

}char *svcname = DEFAULT_SERVICE;

if(name && name[0]) svcname = name;schService = OpenService(hscm, svcname, DELETE);

if (schService == NULL)

{

OutputString("OpenService(%s) error %d", svcname, rc = GetLastError() );

return rc;

}if (!DeleteService(schService) )

{

OutputString("OpenService(%s) error %d", svcname, rc = GetLastError() );

return rc;

}OutputString("DeleteService(%s) SUCCESS.", svcname);

}__except(1)

{

OutputString("Exception Catched 0x%X", GetExceptionCode());

}CloseServiceHandle(schService);

CloseServiceHandle(hscm);

return rc;

}/*

used to uninstall by rundll32.exe


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-45730-14.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...