如何检测计算机是否已安装MSSQl并得到其版本号和服务是否启动?急急 如何检测计算机是否已安装MSSQl并得到其版本号和服务是否启动? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 adoconnection1.connectstring:="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master";try adoconnection1.open; result:=true;except result:=false;end; 要使用WinSvc单元,看看帮助和示例吧! var lpServiceArgVectors :PChar; hscmanager,hService :SC_HANDLE; returnstatus :TServiceStatus; html :String; exeresult :Boolean;begin Result :=False; lpServiceArgVectors:=nil; //打开service control manager database hscmanager:=OpenSCManager(nil,nil,SC_MANAGER_ENUMERATE_SERVICE); //打开该Service hService:=OpenService(hscmanager,'MSSQLSERVER',SERVICE_ALL_ACCESS); if(hService<0) then begin StatusBar1.Panels[0].Text :='无法访问MSSQLSERVER服务'; Result :=False; exit; end; //查看该Service的状态 try QueryServiceStatus(hService,returnstatus) ; except StatusBar1.Panels[0].Text :='查看MSSQLSERVER服务失败'; end; case returnstatus.dwCurrentState of 1: StatusBar1.Panels[0].Text :='MSSQLSERVER 已经停止'; 2: StatusBar1.Panels[0].text :='MSSQLSERVER 正在启动'; 3: StatusBar1.Panels[0].text :='MSSQLSERVER 正在停止'; 4: StatusBar1.Panels[0].text :='MSSQLSERVER 正在运行'; 5: StatusBar1.Panels[0].text :='MSSQLSERVER 继续运行中'; 6: StatusBar1.Panels[0].text :='MSSQLSERVER 正在暂停'; 7: StatusBar1.Panels[0].text :='MSSQLSERVER 已经暂停'; end; //如果该Service已停止则启动它 if returnstatus.dwCurrentState=SERVICE_STOPPED then begin StatusBar1.Panels[1].text :='正在启动MSSQLSERVER服务...'; try StartService(hService,0,lpServiceArgVectors) ; StatusBar1.Panels[1].text :='MSSQLSERVER 启动成功'; StatusBar1.Panels[0].text :='MSSQLSERVER 正在运行'; except StatusBar1.Panels[1].text :='MSSQLSERVER 启动失败'; StatusBar1.Panels[0].text :='MSSQLSERVER 已经停止'; end; end ; //关闭该Service try CloseServiceHandle(hService); except ShowMessage('关闭ServiceHandle时发生错误'); end;end; 谢谢你ron_xin(星雨) ,我能加你为好友吗 如何让控件显示? 远程服务器sql的连接问题 请问如何将i,s的值显示在listbox中 windows系統在編輯狀態下按右鍵會彈出編輯菜單,怎樣控制按右鍵時做其它事,比如顯示對話框??? 多层次分布式数据库开发的选择??请高手指点一二 4 高分请教鼠标控制技术(类似“按键精灵”) 极简单问题,文件拷贝的,散100分,不够再开贴 请问打印报表时,怎样压缩字间距? 如何动态遍历同一个目录下的多个PARADOX数据库, 并把它动态的与TQUERY相连!!!!!!!!! 广州-招聘DELPHI程序员. fastreport问题
adoconnection1.connectstring:="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master";
try
adoconnection1.open;
result:=true;
except
result:=false;
end;
lpServiceArgVectors :PChar;
hscmanager,hService :SC_HANDLE;
returnstatus :TServiceStatus;
html :String;
exeresult :Boolean;
begin
Result :=False;
lpServiceArgVectors:=nil; //打开service control manager database
hscmanager:=OpenSCManager(nil,nil,SC_MANAGER_ENUMERATE_SERVICE); //打开该Service
hService:=OpenService(hscmanager,'MSSQLSERVER',SERVICE_ALL_ACCESS);
if(hService<0) then
begin
StatusBar1.Panels[0].Text :='无法访问MSSQLSERVER服务';
Result :=False;
exit;
end; //查看该Service的状态
try
QueryServiceStatus(hService,returnstatus) ;
except
StatusBar1.Panels[0].Text :='查看MSSQLSERVER服务失败';
end; case returnstatus.dwCurrentState of
1: StatusBar1.Panels[0].Text :='MSSQLSERVER 已经停止';
2: StatusBar1.Panels[0].text :='MSSQLSERVER 正在启动';
3: StatusBar1.Panels[0].text :='MSSQLSERVER 正在停止';
4: StatusBar1.Panels[0].text :='MSSQLSERVER 正在运行';
5: StatusBar1.Panels[0].text :='MSSQLSERVER 继续运行中';
6: StatusBar1.Panels[0].text :='MSSQLSERVER 正在暂停';
7: StatusBar1.Panels[0].text :='MSSQLSERVER 已经暂停';
end;
//如果该Service已停止则启动它
if returnstatus.dwCurrentState=SERVICE_STOPPED then
begin
StatusBar1.Panels[1].text :='正在启动MSSQLSERVER服务...';
try
StartService(hService,0,lpServiceArgVectors) ;
StatusBar1.Panels[1].text :='MSSQLSERVER 启动成功';
StatusBar1.Panels[0].text :='MSSQLSERVER 正在运行';
except
StatusBar1.Panels[1].text :='MSSQLSERVER 启动失败';
StatusBar1.Panels[0].text :='MSSQLSERVER 已经停止';
end;
end ; //关闭该Service
try
CloseServiceHandle(hService);
except
ShowMessage('关闭ServiceHandle时发生错误');
end;end;