c怎么写服务( 二 )


注销一下看看 。为了让你看清除 , 先打开OE , 这时在任务管理器里 , 有两个msimn进程 , 用户名为“.com.cn”的是打开的OE , 而用户名为“SYSTEM”的就是添加的服务 。
如果你不想再运行这个服务 , 可以直接禁止它在启动的时候运行 , 或者使用Instsrv.exe程序删除 。方法是在命令行下输入“c:\ instsrv.exe Mail remove” , 然后回车就可以了 。需要注意的是Instsrv.exe这个程序也可以删除某些系统服务 , 所以使用的时候一定要小心 , 对于系统服务 , 安全起见千万不要删除 , 哪怕你觉得它对你没有用 。
3. 如何用C语言来编写一个管理系统服务的程序 这个是删除服务的函数 。。不过动的API ,  , 你还是补习补习吧
BOOL Uninstall()
{
if ( !IsInstalled() )
return TRUE;
SC_HANDLE hSCM = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );
if ( hSCM == NULL )
{
//MessageBox( NULL, _T( "打开服务管理器失败!" ) ,  szServiceName, MB_OK );
return FALSE;
}
SC_HANDLE hService = OpenService( hSCM, szServiceName, SERVICE_STOP | DELETE );
if ( hService == NULL )
{
CloseServiceHandle( hSCM );
MessageBox( NULL, _T( "服务不存在!" ) ,  szServiceName, MB_OK );
return FALSE;
}
SERVICE_STATUS status;
ControlService( hService, SERVICE_CONTROL_STOP, &status );
BOOL bDelete = DeleteService( hService );
CloseServiceHandle( hService );
CloseServiceHandle( hSCM );
if ( bDelete )
{
MessageBox( NULL, _T( "删除服务成功!" ) ,  szServiceName, MB_OK );
return TRUE;
}
MessageBox( NULL, _T( "删除服务失败!" ) ,  szServiceName, MB_OK );
//LogEvent(_T("Service could not be deleted"));
return FALSE;
}
调用API函数OpenSCManager()和连接SCM(服务控制管理器)
调用API函数OpenService()打开服务 , 有2个参数 , 一个为服务名 , 一个为执行权限;返回服务句柄
启动服务StartService();第一个参数就是服务句柄
停止服务ControlService()和上面的一样
QueryServiceStatus()查询服务当前状态 , 这个函数填充一个SERVICE_STATUS类型结构 , 获取服务当前的一些信息
4. C语言中断端服务程序怎么编写啊 /**************************标准写法如下*****************************************************/
void name (void) interrupt 中断号 using 工作寄存器组号
{
//中断处理内容
}
/**********************************************************************************************/
/*******************************[中断入口说明]************************************
interrupt 0 外部中断0(ROM入口地址:0x03)
interrupt 1 定时/计数器中断0(ROM入口地址:0x0B)
interrupt 2 外部中断1(ROM入口地址:0x13)
interrupt 3 定时/计数器中断1(ROM入口地址:0x1B)
interrupt 4 UART串口中断(ROM入口地址:0x23)
(更多的中断依单片机型号而定 , ROM中断入口均相差8个字节)
using 0 使用寄存器组0
using 1 使用寄存器组1
using 2 使用寄存器组2
using 3 使用寄存器组3
using 寄存器号 ====可以不写 , 不写则用第0组
***********************************************************************************/
5. 如何边写windows服务程序 这两天想学习关于如何编写windows服务程序的知识 , 就上网查了些资料 。
看了一篇文章《用C 语言编写Windows 服务程序的五个步骤》 。但可能由于译者的疏忽 , 忘记了将关键代码放入该文档 , 导致初学者可能会看不懂 。