Hi

I find some scripts in Microsoft MSDN. For example:

HostName="localhost"

Dim oRegistry, sBaseKey, iRC, sKey, arSubKeys, sValue

Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE

On Error Resume Next

Set oRegistry = _
GetObject("winmgmts:{ImpersonationLevel=Impersonate}//" & _
HostName & "/root/default:StdRegProv")

If Err <> 0 Then
  wscript.echo "Line 9, " & Err.Number & ", " & _
  Err.Description
  Err.Clear
  wscript.quit
End if

sBaseKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"

iRC = oRegistry.EnumKey(HKLM, sBaseKey, arSubKeys)
If Err <> 0 Then
  wscript.echo "Line 23, " & Err.Number & ", " & _
  Err.Description
  Err.Clear
  wscript.quit
End if

For Each sKey In arSubKeys
  iRC = oRegistry.GetStringValue(HKLM, sBaseKey & sKey, _
  "DisplayName",sValue)
   If Err <> 0 Then
      wscript.echo "Line 32, " & Err.Number & ", " & _
      Err.Description
      Err.Clear
      wscript.quit
   End if

  If iRC <> 0 Then
    oRegistry.GetStringValue HKLM, sBaseKey & _
    sKey, "QuietDisplayName", sValue
    
    If Err <> 0 Then
       wscript.echo "Line 42, " & Err.Number & ", " & _
       Err.Description
       Err.Clear
       wscript.quit
    End if
  End If

  If sValue <> "" Then
    wscript.echo sValue
  End If
Next

After run the script, I can get Uninstall software list in registry.
I try to do it with Python. The code is:

from win32com.client import GetObject

HKLM = 0x80000002L
objRegi = GetObject("winmgmts://./root/default:StdRegProv")
sBaseKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
iRC = objRegi.EnumKey(HKLM, sBaseKey, sKeys)
for sKey in arSubKeys:
    print sKey

After run the code, I get some error message:

Traceback (most recent call last):
  File "D:\steven\itim\t2.py", line 6, in ?
    iRC = objRegi.EnumKey(HKLM, sBaseKey, sKeys)
NameError: name 'sKeys' is not defined

I don't know why. Could someone give me a hint?
Thanks very much.

--
Steven Nien

_______________________________________________
ActivePython mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Other options: http://listserv.ActiveState.com/mailman/listinfo/ActivePython

Reply via email to