J
JohnJohnUSA
I ran the following program to retrieve entries from the window
registry on Windows XP
import win32api, win32co
aReg = win32api.RegConnectRegistry(None
win32con.HKEY_CURRENT_USER
aKey = win32api.RegOpenKeyEx(aReg
r"Software\Microsoft\Internet Explorer\PageSetup"
for i in range(100)
Name, Data, Type = win32api.RegEnumValue(aKey, i
print "Index=(", i,") Name=["
Name,"] Data=[",Data,"
Type=[",Type,"]
win32api.RegCloseKey(aKey
This is the program output
[code:1:8bb6fccb25]Index=( 0 ) Name=[ header
Data=[ &w&bPage &p of &P ] Type=[
Index=( 1 ) Name=[ footer ] Data=
&u&b&d ] Type=[ 1
Index=( 2 ) Name=[ margin_bottom ] Data=[ 0.75000
] Type=[ 1
Index=( 3 ) Name=[ margin_left ] Data=[ 0.75000
] Type=[ 1
Index=( 4 ) Name=[ margin_right ] Data=[ 0.75000
] Type=[ 1
Index=( 5 ) Name=[ margin_top ] Data=[ 0.75000
] Type=[ 1
Traceback (most recent call last)
File "F:/temp/Python Test Folder/Read Windows Registr
Entries (No error trapping).py", line 5, in -toplevel
Name, Data, Type = win32api.RegEnumValue(aKey, i
error: (259, 'PyRegEnumValue', 'No more data i
available.')[/code:1:8bb6fccb25
I received an error because I tried to read past the last entry fo
this key. The following is a modified version of the program to tra
any error on key entry retrieval
[code:1:8bb6fccb25]import win32api, win32con, sy
aReg = win32api.RegConnectRegistry(None
win32con.HKEY_CURRENT_USER
aKey = win32api.RegOpenKeyEx(aReg
r"Software\Microsoft\Internet Explorer\PageSetup"
for i in range(100)
try
Name, Data, Type = win32api.RegEnumValue(aKey, i
print "Index=(", i,") Name=["
Name,"] Data=[",Data,"
Type=[",Type,"]
except
brea
win32api.RegCloseKey(aKey)[/code:1:8bb6fccb25
This is the program output
[code:1:8bb6fccb25]Index=( 0 ) Name=[ header
Data=[ &w&bPage &p of &P ] Type=[
Index=( 1 ) Name=[ footer ] Data=
&u&b&d ] Type=[ 1
Index=( 2 ) Name=[ margin_bottom ] Data=[ 0.75000
] Type=[ 1
Index=( 3 ) Name=[ margin_left ] Data=[ 0.75000
] Type=[ 1
Index=( 4 ) Name=[ margin_right ] Data=[ 0.75000
] Type=[ 1
Index=( 5 ) Name=[ margin_top ] Data=[ 0.75000
] Type=[ 1 ][/code:1:8bb6fccb25
The latter program will trap any error resulting from trying t
retrieve the key values. What I want to do is to specifically tra
the error denoting that there is no more data available so I ca
continue executing more code as oppose to aborting the program. i
the error is something other than no more data available, then I wan
to abort the program with an error message
What code is needed to specifically trap the "no more data i
available" error
Thank you in advance for your help
registry on Windows XP
import win32api, win32co
aReg = win32api.RegConnectRegistry(None
win32con.HKEY_CURRENT_USER
aKey = win32api.RegOpenKeyEx(aReg
r"Software\Microsoft\Internet Explorer\PageSetup"
for i in range(100)
Name, Data, Type = win32api.RegEnumValue(aKey, i
print "Index=(", i,") Name=["
Name,"] Data=[",Data,"
Type=[",Type,"]
win32api.RegCloseKey(aKey
This is the program output
[code:1:8bb6fccb25]Index=( 0 ) Name=[ header
Data=[ &w&bPage &p of &P ] Type=[
Index=( 1 ) Name=[ footer ] Data=
&u&b&d ] Type=[ 1
Index=( 2 ) Name=[ margin_bottom ] Data=[ 0.75000
] Type=[ 1
Index=( 3 ) Name=[ margin_left ] Data=[ 0.75000
] Type=[ 1
Index=( 4 ) Name=[ margin_right ] Data=[ 0.75000
] Type=[ 1
Index=( 5 ) Name=[ margin_top ] Data=[ 0.75000
] Type=[ 1
Traceback (most recent call last)
File "F:/temp/Python Test Folder/Read Windows Registr
Entries (No error trapping).py", line 5, in -toplevel
Name, Data, Type = win32api.RegEnumValue(aKey, i
error: (259, 'PyRegEnumValue', 'No more data i
available.')[/code:1:8bb6fccb25
I received an error because I tried to read past the last entry fo
this key. The following is a modified version of the program to tra
any error on key entry retrieval
[code:1:8bb6fccb25]import win32api, win32con, sy
aReg = win32api.RegConnectRegistry(None
win32con.HKEY_CURRENT_USER
aKey = win32api.RegOpenKeyEx(aReg
r"Software\Microsoft\Internet Explorer\PageSetup"
for i in range(100)
try
Name, Data, Type = win32api.RegEnumValue(aKey, i
print "Index=(", i,") Name=["
Name,"] Data=[",Data,"
Type=[",Type,"]
except
brea
win32api.RegCloseKey(aKey)[/code:1:8bb6fccb25
This is the program output
[code:1:8bb6fccb25]Index=( 0 ) Name=[ header
Data=[ &w&bPage &p of &P ] Type=[
Index=( 1 ) Name=[ footer ] Data=
&u&b&d ] Type=[ 1
Index=( 2 ) Name=[ margin_bottom ] Data=[ 0.75000
] Type=[ 1
Index=( 3 ) Name=[ margin_left ] Data=[ 0.75000
] Type=[ 1
Index=( 4 ) Name=[ margin_right ] Data=[ 0.75000
] Type=[ 1
Index=( 5 ) Name=[ margin_top ] Data=[ 0.75000
] Type=[ 1 ][/code:1:8bb6fccb25
The latter program will trap any error resulting from trying t
retrieve the key values. What I want to do is to specifically tra
the error denoting that there is no more data available so I ca
continue executing more code as oppose to aborting the program. i
the error is something other than no more data available, then I wan
to abort the program with an error message
What code is needed to specifically trap the "no more data i
available" error
Thank you in advance for your help