<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=Winreg.py</id>
	<title>Winreg.py - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=Winreg.py"/>
	<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Winreg.py&amp;action=history"/>
	<updated>2026-05-18T11:38:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=3225&amp;oldid=prev</id>
		<title>PeterHarding at 07:00, 23 October 2009</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=3225&amp;oldid=prev"/>
		<updated>2009-10-23T07:00:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:00, 23 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l504&quot;&gt;Line 504:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 504:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pywin&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PyWin&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cygwin&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cygwin&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Examples]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Examples]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=3111&amp;oldid=prev</id>
		<title>PeterHarding at 06:15, 19 July 2009</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=3111&amp;oldid=prev"/>
		<updated>2009-07-19T06:15:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:15, 19 July 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l506&quot;&gt;Line 506:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 506:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:pywin]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:pywin]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:cygwin]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:cygwin]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Examples]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=2076&amp;oldid=prev</id>
		<title>PeterHarding at 07:22, 2 May 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=2076&amp;oldid=prev"/>
		<updated>2008-05-02T07:22:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:22, 2 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l505&quot;&gt;Line 505:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 505:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:pywin]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:pywin]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:cygwin]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=2074&amp;oldid=prev</id>
		<title>PeterHarding at 07:20, 2 May 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=2074&amp;oldid=prev"/>
		<updated>2008-05-02T07:20:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:20, 2 May 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When attempting to install pywin under cygwin the install breaks as it depend on a _winreg (Windows Registry) module.  Have found reference to a _cygwinreg.py - check to see if I have put it here if you are interested.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When attempting to install pywin under cygwin the install breaks as it depend on a _winreg (Windows Registry) module.  Have found reference to a _cygwinreg.py - check to see if I have put it here if you are interested.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Also see [[winreg]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=The Script=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=The Script=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=2073&amp;oldid=prev</id>
		<title>PeterHarding: New page: =Overview=  I am still attempting to get pywin running using the Cygwin version of Python.  This is not so urgent now that I have worked out that I can run a Python script from the Cygwin ...</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Winreg.py&amp;diff=2073&amp;oldid=prev"/>
		<updated>2008-05-02T07:19:28Z</updated>

		<summary type="html">&lt;p&gt;New page: =Overview=  I am still attempting to get pywin running using the Cygwin version of Python.  This is not so urgent now that I have worked out that I can run a Python script from the Cygwin ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Overview=&lt;br /&gt;
&lt;br /&gt;
I am still attempting to get pywin running using the Cygwin version of Python.&lt;br /&gt;
&lt;br /&gt;
This is not so urgent now that I have worked out that I can run a Python script from the Cygwin shell which invokes the ActiveState Python binary and it uses the ActiveState internals.&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/c/PROGRA~1/ActiveState/Python/python.exe&lt;br /&gt;
#&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
import dbi&lt;br /&gt;
import odbc&lt;br /&gt;
import time&lt;br /&gt;
import getopt&lt;br /&gt;
import logging&lt;br /&gt;
&lt;br /&gt;
from datetime import datetime&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When attempting to install pywin under cygwin the install breaks as it depend on a _winreg (Windows Registry) module.  Have found reference to a _cygwinreg.py - check to see if I have put it here if you are interested.&lt;br /&gt;
&lt;br /&gt;
=The Script=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Module for accessing MWR.&lt;br /&gt;
&lt;br /&gt;
This module provides an advanced, easy-to-use API for&lt;br /&gt;
accessing and mutating the Microsoft Windows Registry.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
__version__ = &amp;#039;$Revision: 0 $&amp;#039;&lt;br /&gt;
__date__ = &amp;#039;March 19, 2007&amp;#039;&lt;br /&gt;
__author__ = &amp;#039;Stephen &amp;quot;Zero&amp;quot; Chappell &amp;lt;my.bios@gmail.com&amp;gt;&amp;#039;&lt;br /&gt;
__credits__ = &amp;#039;&amp;#039;&amp;#039;\&lt;br /&gt;
S. Schaub, for introducing me to programming.&lt;br /&gt;
B. Gates, for creating the Windows Registry.&lt;br /&gt;
F. Drake, for enforcing good Python documentation.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
import _winreg&lt;br /&gt;
import sys as _sys&lt;br /&gt;
import time as _time&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class HKEY:&lt;br /&gt;
    &amp;#039;Hive Constants&amp;#039;&lt;br /&gt;
    CLASSES_ROOT = -2147483648&lt;br /&gt;
    CURRENT_USER = -2147483647&lt;br /&gt;
    LOCAL_MACHINE = -2147483646&lt;br /&gt;
    USERS = -2147483645&lt;br /&gt;
    CURRENT_CONFIG = -2147483643&lt;br /&gt;
&lt;br /&gt;
class KEY:&lt;br /&gt;
    &amp;#039;Mode Constants&amp;#039;&lt;br /&gt;
    QUERY_VALUE = 1&lt;br /&gt;
    SET_VALUE = 2&lt;br /&gt;
    CREATE_SUB_KEY = 4&lt;br /&gt;
    ENUMERATE_SUB_KEYS = 8&lt;br /&gt;
    NOTIFY = 16&lt;br /&gt;
    CREATE_LINK = 32&lt;br /&gt;
    WRITE = 131078&lt;br /&gt;
    EXECUTE = 131097&lt;br /&gt;
    READ = 131097&lt;br /&gt;
    ALL_ACCESS = 983103&lt;br /&gt;
&lt;br /&gt;
class REG:&lt;br /&gt;
    &amp;#039;Type Constants&amp;#039;&lt;br /&gt;
    NONE = 0&lt;br /&gt;
    SZ = 1&lt;br /&gt;
    EXPAND_SZ = 2&lt;br /&gt;
    BINARY = 3&lt;br /&gt;
    DWORD = 4&lt;br /&gt;
    DWORD_BIG_ENDIAN = 5&lt;br /&gt;
    LINK = 6&lt;br /&gt;
    MULTI_SZ = 7&lt;br /&gt;
    RESOURCE_LIST = 8&lt;br /&gt;
    FULL_RESOURCE_DESCRIPTOR = 9&lt;br /&gt;
    RESOURCE_REQUIREMENTS_LIST = 10&lt;br /&gt;
    QWORD = 11&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class _Value(object):&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;_Value(value) -&amp;gt; _Value&amp;#039;&lt;br /&gt;
$ cat _winreg.py &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Module for accessing MWR.&lt;br /&gt;
&lt;br /&gt;
This module provides an advanced, easy-to-use API for&lt;br /&gt;
accessing and mutating the Microsoft Windows Registry.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
__version__ = &amp;#039;$Revision: 0 $&amp;#039;&lt;br /&gt;
__date__ = &amp;#039;March 19, 2007&amp;#039;&lt;br /&gt;
__author__ = &amp;#039;Stephen &amp;quot;Zero&amp;quot; Chappell &amp;lt;my.bios@gmail.com&amp;gt;&amp;#039;&lt;br /&gt;
__credits__ = &amp;#039;&amp;#039;&amp;#039;\&lt;br /&gt;
S. Schaub, for introducing me to programming.&lt;br /&gt;
B. Gates, for creating the Windows Registry.&lt;br /&gt;
F. Drake, for enforcing good Python documentation.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
import _winreg&lt;br /&gt;
import sys as _sys&lt;br /&gt;
import time as _time&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class HKEY:&lt;br /&gt;
    &amp;#039;Hive Constants&amp;#039;&lt;br /&gt;
    CLASSES_ROOT = -2147483648&lt;br /&gt;
    CURRENT_USER = -2147483647&lt;br /&gt;
    LOCAL_MACHINE = -2147483646&lt;br /&gt;
    USERS = -2147483645&lt;br /&gt;
    CURRENT_CONFIG = -2147483643&lt;br /&gt;
&lt;br /&gt;
class KEY:&lt;br /&gt;
    &amp;#039;Mode Constants&amp;#039;&lt;br /&gt;
    QUERY_VALUE = 1&lt;br /&gt;
    SET_VALUE = 2&lt;br /&gt;
    CREATE_SUB_KEY = 4&lt;br /&gt;
    ENUMERATE_SUB_KEYS = 8&lt;br /&gt;
    NOTIFY = 16&lt;br /&gt;
    CREATE_LINK = 32&lt;br /&gt;
    WRITE = 131078&lt;br /&gt;
    EXECUTE = 131097&lt;br /&gt;
    READ = 131097&lt;br /&gt;
    ALL_ACCESS = 983103&lt;br /&gt;
&lt;br /&gt;
class REG:&lt;br /&gt;
    &amp;#039;Type Constants&amp;#039;&lt;br /&gt;
    NONE = 0&lt;br /&gt;
    SZ = 1&lt;br /&gt;
    EXPAND_SZ = 2&lt;br /&gt;
    BINARY = 3&lt;br /&gt;
    DWORD = 4&lt;br /&gt;
    DWORD_BIG_ENDIAN = 5&lt;br /&gt;
    LINK = 6&lt;br /&gt;
    MULTI_SZ = 7&lt;br /&gt;
    RESOURCE_LIST = 8&lt;br /&gt;
    FULL_RESOURCE_DESCRIPTOR = 9&lt;br /&gt;
    RESOURCE_REQUIREMENTS_LIST = 10&lt;br /&gt;
    QWORD = 11&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class _Value(object):&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;_Value(value) -&amp;gt; _Value&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    def __init__(self, value):&lt;br /&gt;
        &amp;#039;Initialize the _Value object.&amp;#039;&lt;br /&gt;
        self.__value = value&lt;br /&gt;
        self.__repr = &amp;#039;%s(%r)&amp;#039; % (self.__class__.__name__, value)&lt;br /&gt;
&lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        &amp;#039;Return the object\&amp;#039;s representation.&amp;#039;&lt;br /&gt;
        return self.__repr&lt;br /&gt;
&lt;br /&gt;
    def __get_value(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return self.__value&lt;br /&gt;
&lt;br /&gt;
    value = property(__get_value, doc=&amp;#039;Value of this object.&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
class REG_NONE(_Value): pass&lt;br /&gt;
class REG_SZ(_Value): pass&lt;br /&gt;
class REG_EXPAND_SZ(_Value): pass&lt;br /&gt;
class REG_BINARY(_Value): pass&lt;br /&gt;
class REG_DWORD(_Value): pass&lt;br /&gt;
class REG_DWORD_BIG_ENDIAN(_Value): pass&lt;br /&gt;
class REG_LINK(_Value): pass&lt;br /&gt;
class REG_MULTI_SZ(_Value): pass&lt;br /&gt;
class REG_RESOURCE_LIST(_Value): pass&lt;br /&gt;
class REG_FULL_RESOURCE_DESCRIPTOR(_Value): pass&lt;br /&gt;
class REG_RESOURCE_REQUIREMENTS_LIST(_Value): pass&lt;br /&gt;
class REG_QWORD(_Value): pass&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class Registry(object):&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;Registry([computer]) -&amp;gt; Registry&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    def __init__(self, computer=None):&lt;br /&gt;
        &amp;#039;Initialize the Registry object.&amp;#039;&lt;br /&gt;
        self.__computer = computer&lt;br /&gt;
        self.__repr = &amp;#039;Registry()&amp;#039; if computer is None else &amp;#039;Registry(%r)&amp;#039; % computer&lt;br /&gt;
&lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        &amp;#039;Return the object\&amp;#039;s representation.&amp;#039;&lt;br /&gt;
        return self.__repr&lt;br /&gt;
&lt;br /&gt;
    def __iter__(self):&lt;br /&gt;
        &amp;#039;Iterate over hives defined in HKEY.&amp;#039;&lt;br /&gt;
        return (Key(key, computer=self.__computer) for key in map(HKEY.__dict__.__getitem__, filter(str.isupper, dir(HKEY))))&lt;br /&gt;
&lt;br /&gt;
    def __HKEY_CLASSES_ROOT(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return Key(HKEY.CLASSES_ROOT, computer=self.__computer)&lt;br /&gt;
&lt;br /&gt;
    def __HKEY_CURRENT_USER(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return Key(HKEY.CURRENT_USER, computer=self.__computer)&lt;br /&gt;
&lt;br /&gt;
    def __HKEY_LOCAL_MACHINE(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return Key(HKEY.LOCAL_MACHINE, computer=self.__computer)&lt;br /&gt;
&lt;br /&gt;
    def __HKEY_USERS(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return Key(HKEY.USERS, computer=self.__computer)&lt;br /&gt;
&lt;br /&gt;
    def __HKEY_CURRENT_CONFIG(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return Key(HKEY.CURRENT_CONFIG, computer=self.__computer)&lt;br /&gt;
&lt;br /&gt;
    HKEY_CLASSES_ROOT = property(__HKEY_CLASSES_ROOT, doc=&amp;#039;The CLASSES_ROOT hive.&amp;#039;)&lt;br /&gt;
    HKEY_CURRENT_USER = property(__HKEY_CURRENT_USER, doc=&amp;#039;The CURRENT_USER hive.&amp;#039;)&lt;br /&gt;
    HKEY_LOCAL_MACHINE = property(__HKEY_LOCAL_MACHINE, doc=&amp;#039;The LOCAL_MACHINE hive.&amp;#039;)&lt;br /&gt;
    HKEY_USERS = property(__HKEY_USERS, doc=&amp;#039;The USERS hive.&amp;#039;)&lt;br /&gt;
    HKEY_CURRENT_CONFIG = property(__HKEY_CURRENT_CONFIG, doc=&amp;#039;The CURRENT_CONFIG hive.&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class Key(object):&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;&amp;#039;&amp;#039;Key(key[, subkey][, mode][, computer]) -&amp;gt; Key&lt;br /&gt;
&lt;br /&gt;
    Key(key) -&amp;gt; Key&lt;br /&gt;
    Key(key, subkey) -&amp;gt; Key&lt;br /&gt;
    Key(key, mode=value) -&amp;gt; Key&lt;br /&gt;
    Key(key, subkey, mode) -&amp;gt; Key&lt;br /&gt;
    Key(key, computer=value) -&amp;gt; Key&lt;br /&gt;
    Key(key, subkey, computer=value) -&amp;gt; Key&lt;br /&gt;
    Key(key, mode=value, computer=value) -&amp;gt; Key&lt;br /&gt;
    Key(key, subkey, mode, computer) -&amp;gt; Key&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    def __init__(self, key, subkey=None, mode=None, computer=None):&lt;br /&gt;
        &amp;#039;Initialize the Key object.&amp;#039;&lt;br /&gt;
        if isinstance(key, (int, _winreg.HKEYType)) and subkey is None and mode is None and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key, &amp;#039;&amp;#039;)&lt;br /&gt;
        elif isinstance(key, Key) and subkey is None and mode is None and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key.__key, &amp;#039;&amp;#039;)&lt;br /&gt;
        elif isinstance(key, (int, _winreg.HKEYType)) and isinstance(subkey, str) and mode is None and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key, subkey)&lt;br /&gt;
        elif isinstance(key, Key) and isinstance(subkey, str) and mode is None and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key.__key, subkey)&lt;br /&gt;
        elif isinstance(key, (int, _winreg.HKEYType)) and subkey is None and isinstance(mode, int) and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key, &amp;#039;&amp;#039;, 0, mode)&lt;br /&gt;
        elif isinstance(key, Key) and subkey is None and isinstance(mode, int) and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key.__key, &amp;#039;&amp;#039;, 0, mode)&lt;br /&gt;
        elif isinstance(key, (int, _winreg.HKEYType)) and isinstance(subkey, str) and isinstance(mode, int) and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key, subkey, 0, mode)&lt;br /&gt;
        elif isinstance(key, Key) and isinstance(subkey, str) and isinstance(mode, int) and computer is None:&lt;br /&gt;
            self.__key = _winreg.OpenKey(key.__key, subkey, 0, mode)&lt;br /&gt;
        elif isinstance(key, int) and subkey is None and mode is None and isinstance(computer, str):&lt;br /&gt;
            self.__key = _winreg.ConnectRegistry(computer, key)&lt;br /&gt;
        elif isinstance(key, int) and isinstance(subkey, str) and mode is None and isinstance(computer, str):&lt;br /&gt;
            self.__key = _winreg.OpenKey(_winreg.ConnectRegistry(computer, key), subkey)&lt;br /&gt;
        elif isinstance(key, int) and subkey is None and isinstance(mode, int) and isinstance(computer, str):&lt;br /&gt;
            self.__key = _winreg.OpenKey(_winreg.ConnectRegistry(computer, key), &amp;#039;&amp;#039;, 0, mode)&lt;br /&gt;
        elif isinstance(key, int) and isinstance(subkey, str) and isinstance(mode, int) and isinstance(computer, str):&lt;br /&gt;
            self.__key = _winreg.OpenKey(_winreg.ConnectRegistry(computer, key), subkey, 0, mode)&lt;br /&gt;
        else:&lt;br /&gt;
            raise TypeError, &amp;#039;Please check documentation.&amp;#039;&lt;br /&gt;
        self.__keys = Keys(self.__key)&lt;br /&gt;
        self.__values = Values(self.__key)&lt;br /&gt;
        self.__repr = &amp;#039;Key(%s)&amp;#039; % &amp;#039;, &amp;#039;.join([repr(key)] + [&amp;#039;%s=%r&amp;#039; % (key, value) for key, value in zip((&amp;#039;subkey&amp;#039;, &amp;#039;mode&amp;#039;, &amp;#039;computer&amp;#039;), (subkey, mode, computer)) if value is not None])&lt;br /&gt;
&lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        &amp;#039;Return the object\&amp;#039;s representation.&amp;#039;&lt;br /&gt;
        return self.__repr&lt;br /&gt;
&lt;br /&gt;
    def save(self, file_name):&lt;br /&gt;
        &amp;#039;Save this key to file.&amp;#039;&lt;br /&gt;
        _winreg.SaveKey(self.__key, file_name)&lt;br /&gt;
&lt;br /&gt;
    def load(self, subkey, file_name):&lt;br /&gt;
        &amp;#039;Load subkey from file.&amp;#039;&lt;br /&gt;
        _winreg.LoadKey(self.__key, subkey, file_name)&lt;br /&gt;
&lt;br /&gt;
    def __get_keys(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return self.__keys&lt;br /&gt;
&lt;br /&gt;
    def __set_keys(self, keys):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        if isinstance(keys, str):&lt;br /&gt;
            _winreg.CreateKey(self.__key, keys)&lt;br /&gt;
        elif isinstance(keys, (list, tuple)):&lt;br /&gt;
            for key in keys:&lt;br /&gt;
                self.keys = key&lt;br /&gt;
        else:&lt;br /&gt;
            raise TypeError, &amp;#039;Key Could Not Be Created&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    def __del_keys(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        try:&lt;br /&gt;
            while True:&lt;br /&gt;
                _winreg.DeleteKey(self.__key, _winreg.EnumKey(self.__key, 0))&lt;br /&gt;
        except EnvironmentError:&lt;br /&gt;
            pass&lt;br /&gt;
&lt;br /&gt;
    def __get_values(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return self.__values&lt;br /&gt;
&lt;br /&gt;
    def __set_values(self, values):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        if isinstance(values, str):&lt;br /&gt;
            _winreg.SetValueEx(self.__key, values, 0, REG.SZ, _winreg.QueryValue(self.__key, &amp;#039;&amp;#039;))&lt;br /&gt;
        elif isinstance(values, (list, tuple)):&lt;br /&gt;
            for value in values:&lt;br /&gt;
                self.values = value&lt;br /&gt;
        else:&lt;br /&gt;
            raise TypeError, &amp;#039;Value Could Not Be Created&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    def __del_values(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        try:&lt;br /&gt;
            while True:&lt;br /&gt;
                _winreg.DeleteValue(self.__key, _winreg.EnumValue(self.__key, 0)[0])&lt;br /&gt;
        except EnvironmentError:&lt;br /&gt;
            pass&lt;br /&gt;
&lt;br /&gt;
    def __get_value(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return _winreg.QueryValue(self.__key, &amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    def __set_value(self, value):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        _winreg.SetValue(self.__key, &amp;#039;&amp;#039;, REG.SZ, value)&lt;br /&gt;
&lt;br /&gt;
    def __del_value(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        _winreg.DeleteValue(self.__key, &amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    def __get_info(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return Info(*_winreg.QueryInfoKey(self.__key))&lt;br /&gt;
&lt;br /&gt;
    keys = property(__get_keys, __set_keys, __del_keys, &amp;#039;Keys of this key.&amp;#039;)&lt;br /&gt;
    values = property(__get_values, __set_values, __del_values, &amp;#039;Values of this key.&amp;#039;)&lt;br /&gt;
    value = property(__get_value, __set_value, __del_value, &amp;#039;Value of this key.&amp;#039;)&lt;br /&gt;
    info = property(__get_info, doc=&amp;#039;Information about this key.&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class Keys(object):&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;Keys(key) -&amp;gt; Keys&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    def __init__(self, key):&lt;br /&gt;
        &amp;#039;Initialize the Keys object.&amp;#039;&lt;br /&gt;
        self.__key = key&lt;br /&gt;
        self.__repr = &amp;#039;Keys(%r)&amp;#039; % key&lt;br /&gt;
&lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        &amp;#039;Return the object\&amp;#039;s representation.&amp;#039;&lt;br /&gt;
        return self.__repr&lt;br /&gt;
&lt;br /&gt;
    def __len__(self):&lt;br /&gt;
        &amp;#039;Return the number of keys.&amp;#039;&lt;br /&gt;
        return _winreg.QueryInfoKey(self.__key)[0]&lt;br /&gt;
&lt;br /&gt;
    def __getitem__(self, key):&lt;br /&gt;
        &amp;#039;Return the specified key.&amp;#039;&lt;br /&gt;
        return Key(self.__key, key)&lt;br /&gt;
&lt;br /&gt;
    def __setitem__(self, key, value):&lt;br /&gt;
        &amp;#039;Assign the item to a key.&amp;#039;&lt;br /&gt;
        key = Key(_winreg.CreateKey(self.__key, key), mode=KEY.ALL_ACCESS)&lt;br /&gt;
        for name in value.values:&lt;br /&gt;
            key.values[name] = value.values[name]&lt;br /&gt;
        for name in value.keys:&lt;br /&gt;
            key.keys[name] = value.keys[name]&lt;br /&gt;
&lt;br /&gt;
    def __delitem__(self, key):&lt;br /&gt;
        &amp;#039;Delete the specified key.&amp;#039;&lt;br /&gt;
        _winreg.DeleteKey(self.__key, key)&lt;br /&gt;
&lt;br /&gt;
    def __iter__(self):&lt;br /&gt;
        &amp;#039;Iterate over the key names.&amp;#039;&lt;br /&gt;
        return iter(tuple(_winreg.EnumKey(self.__key, index) for index in xrange(_winreg.QueryInfoKey(self.__key)[0])))&lt;br /&gt;
&lt;br /&gt;
    def __contains__(self, item):&lt;br /&gt;
        &amp;#039;Check for a key\&amp;#039;s existence.&amp;#039;&lt;br /&gt;
        item = item.lower()&lt;br /&gt;
        for index in xrange(_winreg.QueryInfoKey(self.__key)[0]):&lt;br /&gt;
            if _winreg.EnumKey(self.__key, index).lower() == item:&lt;br /&gt;
                return True&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class Values(object):&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;Values(key) -&amp;gt; Values&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    TYPES = REG_NONE, REG_SZ, REG_EXPAND_SZ, REG_BINARY, REG_DWORD, REG_DWORD_BIG_ENDIAN, REG_LINK, REG_MULTI_SZ, REG_RESOURCE_LIST, REG_FULL_RESOURCE_DESCRIPTOR, REG_RESOURCE_REQUIREMENTS_LIST, REG_QWORD&lt;br /&gt;
&lt;br /&gt;
    def __init__(self, key):&lt;br /&gt;
        &amp;#039;Initialize the Values object.&amp;#039;&lt;br /&gt;
        self.__key = key&lt;br /&gt;
        self.__repr = &amp;#039;Values(%r)&amp;#039; % key&lt;br /&gt;
&lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        &amp;#039;Return the object\&amp;#039;s representation.&amp;#039;&lt;br /&gt;
        return self.__repr&lt;br /&gt;
&lt;br /&gt;
    def __len__(self):&lt;br /&gt;
        &amp;#039;Return the number of values.&amp;#039;&lt;br /&gt;
        return _winreg.QueryInfoKey(self.__key)[1]&lt;br /&gt;
&lt;br /&gt;
    def __getitem__(self, key):&lt;br /&gt;
        &amp;#039;Return the specified value.&amp;#039;&lt;br /&gt;
        item_value, item_type = _winreg.QueryValueEx(self.__key, key)&lt;br /&gt;
        return self.TYPES[item_type](item_value)&lt;br /&gt;
&lt;br /&gt;
    def __setitem__(self, key, value):&lt;br /&gt;
        &amp;#039;Assign the item to a value.&amp;#039;&lt;br /&gt;
        if isinstance(value, self.TYPES):&lt;br /&gt;
            _winreg.SetValueEx(self.__key, key, 0, list(self.TYPES).index(value.__class__), value.value)&lt;br /&gt;
        else:&lt;br /&gt;
            _winreg.SetValueEx(self.__key, key, 0, _winreg.QueryValueEx(self.__key, key)[1], value)&lt;br /&gt;
&lt;br /&gt;
    def __delitem__(self, key):&lt;br /&gt;
        &amp;#039;Delete the specified value.&amp;#039;&lt;br /&gt;
        _winreg.DeleteValue(self.__key, key)&lt;br /&gt;
&lt;br /&gt;
    def __iter__(self):&lt;br /&gt;
        &amp;#039;Iterate over the value names.&amp;#039;&lt;br /&gt;
        return iter(tuple(_winreg.EnumValue(self.__key, index)[0] for index in xrange(_winreg.QueryInfoKey(self.__key)[1])))&lt;br /&gt;
&lt;br /&gt;
    def __contains__(self, item):&lt;br /&gt;
        &amp;#039;Check for a value\&amp;#039;s existence.&amp;#039;&lt;br /&gt;
        item = item.lower()&lt;br /&gt;
        for index in xrange(_winreg.QueryInfoKey(self.__key)[1]):&lt;br /&gt;
            if _winreg.EnumValue(self.__key, index)[0].lower() == item:&lt;br /&gt;
                return True&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
class Info(object):&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;Info(keys, values, modified) -&amp;gt; Info&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    def __init__(self, keys, values, modified):&lt;br /&gt;
        &amp;#039;Initialize the Info object.&amp;#039;&lt;br /&gt;
        self.__keys = keys&lt;br /&gt;
        self.__values = values&lt;br /&gt;
        self.__modified = modified&lt;br /&gt;
        self.__repr = &amp;#039;Info(%r, %r, %r)&amp;#039; % (keys, values, modified)&lt;br /&gt;
&lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        &amp;#039;Return the object\&amp;#039;s representation.&amp;#039;&lt;br /&gt;
        return self.__repr&lt;br /&gt;
&lt;br /&gt;
    def __get_keys(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return self.__keys&lt;br /&gt;
&lt;br /&gt;
    def __get_values(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return self.__values&lt;br /&gt;
&lt;br /&gt;
    def __get_modified(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return self.__modified&lt;br /&gt;
&lt;br /&gt;
    def __get_difference(self):&lt;br /&gt;
        &amp;#039;Private class method.&amp;#039;&lt;br /&gt;
        return _time.time() + 11644473600.0 - self.__modified / 10000000.0&lt;br /&gt;
&lt;br /&gt;
    keys = property(__get_keys, doc=&amp;#039;Number of keys.&amp;#039;)&lt;br /&gt;
    values = property(__get_values, doc=&amp;#039;Number of values.&amp;#039;)&lt;br /&gt;
    modified = property(__get_modified, doc=&amp;#039;Time last modified.&amp;#039;)&lt;br /&gt;
    difference = property(__get_difference, doc=&amp;#039;Seconds since modified.&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
################################################################################&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    _sys.stdout.write(&amp;#039;Content-Type: text/plain\n\n&amp;#039;)&lt;br /&gt;
    _sys.stdout.write(file(_sys.argv[0]).read())&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[category:Python]]&lt;br /&gt;
[[Category:pywin]]&lt;/div&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
</feed>