半芯蕃茄 发表于 2011-12-6 09:43:54

[已解决]求系统服务操作方法

本帖最后由 半芯蕃茄 于 2011-12-8 00:49 编辑

使用CMD命令打开services.msc (系统服务)之后,怎么去搜索相关服务和定位呢?求解搜索和定位方法。注:不使用Service.au3或者CMD的SC命令进行相关停止或者开启操作,只是想通过鼠标或者键盘事件操作。

502762378 发表于 2011-12-6 13:55:03

可以用WMI操作,ExecQuery下Win32_Service
鼠标或者键盘操作不解释

zch11230 发表于 2011-12-6 14:06:45

我想到的是用ControlListView 操作 但是我好奇的是为什么不能用更方便的SC   net等命令

xiehuahere 发表于 2011-12-6 14:13:12

DllCall使用Win32 API中service相关的函数:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms685942(v=vs.85).aspx

hzxymkb 发表于 2011-12-6 20:05:03

搜索论坛就有了!而且还很多呢!

半芯蕃茄 发表于 2011-12-6 20:14:55

回复 5# hzxymkb


    不是那些服务的开启和停止,而是要服务窗口的搜索与定位。

半芯蕃茄 发表于 2011-12-6 20:15:37

回复 4# xiehuahere


    谢谢,可惜看不懂。有没有例子可以参考一下?

hzxymkb 发表于 2011-12-6 20:16:13

回复 6# 半芯蕃茄


    这个好像没有人研究过,第一次见到居然有人研究这个!

afan 发表于 2011-12-6 21:42:56

ShellExecute('services.msc')
Local $hW = WinWaitActive('')
Local $txt = ControlListView($hW, '', 'SysListView321', 'GetText', 5, 0)
Local $ix = ControlListView($hW, '', 'SysListView321', 'FindItem', $txt, 0)
Local $re = ControlListView($hW, '', 'SysListView321', 'Select', $ix)
MsgBox(0, '信息', '获取到的索引为5的文本: ' & @TAB & $txt & @LF & _
                  '以上文本为例搜索索引: ' & @TAB & $ix & @LF & _
                  '操作选中该索引(1=成功): ' & @TAB & $re)

半芯蕃茄 发表于 2011-12-7 14:22:21

回复 9# afan


    谢谢A大。先试试研究一下先。。。

半芯蕃茄 发表于 2011-12-8 00:38:43

回复 9# afan
再向AFAN老大请教一下,此方法是可以找到相应项目,选中状态为灰色,并不是深颜色那种选中,怎么才能让它为深颜色的选中状态呢?或者用鼠标事件怎么去操作这个项目?#RequireAdmin
ShellExecute('services.msc')
Local $hW = WinWaitActive('')

Local $ix = ControlListView($hW, '', 'SysListView321', 'FindItem', "Windows Time", 0)

Local $ix1 = ControlListView($hW, '', 'SysListView321', 'select', $ix)
MsgBox(4096,"test",$ix & " 为当前项目号|选中状态(1为选中): "&$ix1,0)

afan 发表于 2011-12-8 00:42:04

回复 11# 半芯蕃茄


    最后加一句给它送个焦点即可ControlFocus($hW, '', 'SysListView321')
页: [1]
查看完整版本: [已解决]求系统服务操作方法