//判断msdtc服务是否启动
if(!IsServerRunning("msdtc")){
// Application->MessageBox("未启动","提示",MB_OK);
//启动 msdtc 服务
xxStartService("msdtc");
}
/
bool __fastcall TfrmMain::xxStartService(LPCSTR ServiceName)
{
bool ret;
SC_HANDLE hService;
SC_HANDLE hManager;
SERVICE_STATUS stus;
hManager = OpenSCManager(NULL,
0, SC_MANAGER_ALL_ACCESS);
if (hManager==NULL) return false;
hService = OpenService(hManager,
ServiceName, SERVICE_ALL_ACCESS);
if (hService && QueryServiceStatus(hService,&stus)){
//如果服务在运行
if ( stus.dwCurrentState == SERVICE_STOPPED ){
//启动服务
ret = StartService(hService, NULL, NULL );
}
}
else {
ret = false;
}
if (hService != NULL)
CloseServiceHandle(hService);
CloseServiceHandle(hManager);
return ret;
}
bool __fastcall TfrmMain::xxStopService(LPCSTR ServiceName)
{
bool ret;
SC_HANDLE hService;
SC_HANDLE hManager;
SERVICE_STATUS stus;
hManager = OpenSCManager(NULL,
0, SC_MANAGER_ALL_ACCESS);
if (hManager==NULL) return false;
hService = OpenService(hManager,
ServiceName, SERVICE_ALL_ACCESS);
if (hService && QueryServiceStatus(hService,&stus)) {
//判断这个服务是否在运行
if ( stus.dwCurrentState == SERVICE_RUNNING ){
// //服务名称 关闭服务
ret = ControlService(hService,SERVICE_CONTROL_STOP,&stus);
}
}
else
ret = false;
if (hService != NULL)
CloseServiceHandle(hService);
CloseServiceHandle(hManager);
return ret;
}
//判断系统服务是否启动
bool __fastcall TfrmMain::IsServerRunning(LPCSTR ServiceName)
{
SC_HANDLE hScManage = OpenSCManager("",NULL,SC_MANAGER_ALL_ACCESS);
SERVICE_STATUS SrvStatus;
DWORD dwStat = 0;
if(hScManage > 0)
{
SC_HANDLE hSrv = OpenService(hScManage,ServiceName,SERVICE_QUERY_STATUS);
if(hSrv > 0)
{
if(QueryServiceStatus(hSrv, &SrvStatus))
dwStat = SrvStatus.dwCurrentState;
CloseServiceHandle(hSrv);
}
}
CloseServiceHandle(hScManage);
return dwStat == SERVICE_RUNNING;
}
分享到:
相关推荐
4. **IDE(集成开发环境)**:C++ Builder 2007的IDE提供了一站式的开发体验,包括源代码编辑、项目管理、调试、版本控制和构建工具。它的代码编辑器支持语法高亮、自动完成和错误提示等功能。 5. **数据库支持**:...
然而,正如所有商业软件一样,C++ Builder 2010也采用了许可证管理机制来控制软件的合法使用。这通常涉及到安装序列号或激活码的概念。安装序列号是一种由制造商分配的唯一代码,用于验证软件副本的合法性。在C++ ...
2. **打印API**:C++Builder集成了Windows API,可以通过`Printer`对象来控制打印机。开发者可以设置页边距、纸张尺寸、字体样式等,以及画布上的绘图操作,实现定制化的打印需求。 3. **报表生成**:"report8_11....
### C++Builder 5.0 经典入门知识点解析 #### 一、C++Builder 5.0 简介 - **定义与背景**:C++Builder 5.0 是由 Interprise(Borland)公司推出的一款基于 C++ 语言的快速应用程序开发(Rapid Application ...
C++Builder是一款强大的集成开发环境,它以C++语言为基础,提供了丰富的VCL(Visual Component Library)组件库,使得开发者可以快速构建桌面应用程序。在这个场景中,“自制控件”指的是开发者利用C++Builder的...
C++Builder 6.0 是一个集成开发环境(IDE),由Borland公司(现为Embarcadero Technologies)开发,主要用于创建C++语言的应用程序。这个标题提及的"C++Builder6.0 USBHid"是指在C++Builder 6.0环境中用于处理USB ...
在这个场景中,我们讨论的是如何利用C++Builder来控制数据库,并将数据导出到Excel格式,以便创建专业的报表。 首先,要实现这个功能,你需要C++Builder中的几个关键组件。其中最重要的可能是BDE(Borland Database...
《精彩c++builder 6程序设计》是一本深入探讨C++Builder 6开发环境和编程技术的资源集合。C++Builder 6是Borland公司(后来被Embarcadero Technologies收购)推出的一款强大的集成开发环境(IDE),它集成了C++...
6. **控制服务**:一旦安装,你可以通过“服务”管理工具或命令行工具sc.exe来启动、停止或查询服务的状态。 7. **调试服务**:由于服务通常在后台运行,调试可能会比较复杂。C++Builder提供了调试服务的功能,但...
C++Builder是一款由Embarcadero Technologies开发的集成开发环境(IDE),主要用于编写C++语言的应用程序。它结合了强大的编译器、图形化用户界面设计工具和数据库连接能力,为开发者提供了一站式的解决方案。C++...
C++Builder 资料库 提供50多个例子,带目录 1.怎样在C++Builder中创建使用DLL 2.用C++Bulider在WIN.INI中保存信息 3.如何在C++Builder中检测硬件 4.C++Builder如何响应消息及自定义消息 5.利用C++ ...
《C++ Builder构建的图书馆管理系统详解》 C++ Builder是一款由Embarcadero Technologies公司推出的集成开发环境(IDE),它以其高效、灵活的C++编程能力,为开发者提供了丰富的工具和库,使得创建桌面应用程序变得...
8. **GUI设计**:在C++ Builder中,使用VCL组件库创建用户界面,如TForm、TButton、TLabel等,使用户能够控制视频捕获的过程,如开始、暂停、停止等。 9. **错误处理**:在实现过程中,必须考虑各种可能出现的错误...
### C++ Builder 6.0 基础教程:深入解析关键知识点 #### C++ Builder:集成开发环境的典范 C++ Builder 6.0,作为一款由Borland公司开发的强大集成开发环境(IDE),提供了诸多高效且智能的功能,旨在帮助开发者...
C++Builder是一款强大的集成开发环境(IDE),专为使用C++语言进行Windows应用程序开发而设计。在这个场景中,我们讨论的是使用C++Builder构建的音乐播放器应用。音乐播放器是一种常见的多媒体应用程序,它允许用户...
C++Builder6不仅提高了开发效率,还提供了底层硬件访问的能力,尤其适合于需要高性能和深度系统控制的Win32应用程序开发。相较于早期的版本,C++Builder6加入了更多的网络开发组件,并改善了可视化设计环境,让...
《C++Builder高级应用开发指南》是一本专为C++Builder开发者量身打造的专业书籍,旨在帮助读者深入理解和掌握C++Builder的高级特性,提升在实际项目中的开发能力。本书涵盖了多个关键领域,如硬件交互、图形用户界面...
### C++Builder 连接与访问 USB 接口方法详解 #### 标题与描述解析 根据提供的标题“C++builder_连接USB接口的方法”以及描述“C++builder_访问USB接口的方法”,我们可以理解到本篇文章的主要目的是介绍如何在C++...
### C++Builder6编程实例精解 #### 一、C++Builder6简介及特点 **C++Builder6**是一款由Borland公司推出的强大的32位Windows开发工具,旨在为开发者提供一个高效的环境来创建高性能的Win32应用程序。与早期版本...