How can I enumerate all windows services and disable some of them?

Roger Upole rupole at hotmail.com
Tue Aug 22 06:47:16 EDT 2006


<could.net at gmail.com> wrote in message news:1156232360.032758.176760 at m73g2000cwd.googlegroups.com...
>I know that Module win32service has some functions on manipulating
> win32 services.
> But I still have 2 questions:
> 1. how to enumerate all services?
> 2. how to disable a certain one?
>
> Thanks in advance!
>

win32service.EnumServicesStatus lists services, and ChangeServiceConfig
lets you change the start type to disabled.

import win32service
hscm=win32service.OpenSCManager(None,None,win32service.SC_MANAGER_ALL_ACCESS)
svcs=win32service.EnumServicesStatus(hscm)
for svc in svcs:
    if svc[0]=='PyPipeTestService':
        hsvc=win32service.OpenService(hscm, svc[0], win32service.SERVICE_CHANGE_CONFIG)
        win32service.ChangeServiceConfig(hsvc, win32service.SERVICE_NO_CHANGE,
            win32service.SERVICE_DISABLED, win32service.SERVICE_NO_CHANGE, None, None,0,
            None,None,None,None)
        win32service.CloseServiceHandle(hsvc)
win32service.CloseServiceHandle(hscm)


         Roger






More information about the Python-list mailing list