<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nacimota.com &#187; Windows</title>
	<atom:link href="http://www.nacimota.com/tag/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nacimota.com</link>
	<description>Technology, Gaming and Development</description>
	<lastBuildDate>Wed, 30 Jun 2010 22:55:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Working with the Windows Registry</title>
		<link>http://www.nacimota.com/2009/07/03/working-with-the-windows-registry/</link>
		<comments>http://www.nacimota.com/2009/07/03/working-with-the-windows-registry/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 00:15:31 +0000</pubDate>
		<dc:creator>Nacimota</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Registry]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.nacimota.com/?p=20</guid>
		<description><![CDATA[Our website contains many tutorials that require editing the Windows Registry. Rather than summarizing the process in every article, I thought it might be better to make a more in-depth exploration separately. In this tutorial, I will explain what the Windows Registry is, how to edit its contents and the risks associated with doing so.

In the early days of Windows, applications would often store their configuration data in text documents called initialization files. Typically, these files would use an extension like .ini, .txt, .cfg, etc. One of the major problems with this particular system was that with the sheer number of applications installed, the .ini files would become scattered across the file system, making them difficult to track. After the release of Windows 95, in an effort to further standardize and manage configuration for applications and Windows, Microsoft encouraged software developers to use the Windows Registry as an alternative to INI files for storing configuration data. In the years that followed, the Windows Registry became the standard repository for application settings. <a href="http://www.nacimota.com/2009/07/03/working-with-the-windows-registry/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Our website contains many tutorials that require editing the Windows Registry. Rather than summarizing the process in every article, I thought it might be better to make a more in-depth exploration separately. In this tutorial, I will explain what the Windows Registry is, how to edit its contents and the risks associated with doing so.</em></p>
<p>In the early days of Windows, applications would often store their configuration data in text documents called initialization files. Typically, these files would use an extension like .ini, .txt, .cfg, etc. One of the major problems with this particular system was that with the sheer number of applications installed, the .ini files would become scattered across the file system, making them difficult to track. After the release of Windows 95, in an effort to further standardize and manage configuration for applications and Windows, Microsoft encouraged software developers to use the Windows Registry as an alternative to INI files for storing configuration data. In the years that followed, the Windows Registry became the standard repository for application settings.<span id="more-20"></span></p>
<p>Today, XML files are gaining popularity with developers as a new medium for storing application configuration data for a variety of reasons. However, the registry remains a very important component of Windows; for software developers and windows power users, the ability to manipulate it is an essential skill.</p>
<p>The Windows Registry is essentially a large hierarchical database. Its structure is not unlike that of the Windows file system. Data is stored in entries called values, which are stored in collections called keys. A key in regards to the registry is in essence, a folder of sorts. Keys usually contain a collection of values and sometimes subkeys, not unlike a folder filled with files and subfolders. This makes keys a little confusing, because typically the word ‘key’ in computing refers to the name part of a value in an associative array. Value in terms of the registry refers to both the name and the value of the entry. This is because in the earliest versions of Windows (3.1 and prior), keys in the registry could not contain multiple name/value pairs; it only contained a single value which was tied to the key itself. In this scenario, the structure of the registry much more resembles an associative array and the term ‘key’ makes perfect sense. The elements of the registry have not been given more appropriate names since.</p>
<p>Keys in the registry are arranged into logical groups called hives. The hives that make up the registry are stored in multiple files in various directories on the system (mainly %SystemRoot%\System32\config). Below is a list of the standard hives and their supporting files, according to Microsoft:</p>
<p style="TEXT-ALIGN: center"><img class="aligncenter size-full wp-image-49" title="Registry Hives" src="http://www.nacimota.com/files/2009/07/registry1.jpg" alt="Registry Hives" width="550" height="210" /></p>
<p>At the root of the registry there are typically five main keys visible in the registry editor, they are as follows:</p>
<p><strong>HKEY_CLASSES_ROOT (HKCR)</strong><br />
HKCR contains data concerning the relationships between applications and other items, such as file type associations. It is essentially a compilation of the classes stored in HKCU and HKLM.</p>
<p><strong>HKEY_CURRENT_USER (HKCU)</strong><br />
HKCU contains configuration data specific to the currently logged in user. The contents of HKCU are just a reflection of the data in HKU relating to the current user profile. As shown in the table above, all of the data in the HKCU hive is stored in a .dat file located in the user’s root folder (typically %SystemDrive%\Documents and Settings\&lt;Username&gt; or %SystemDrive%\Users\&lt;Username&gt; depending on the operating system).</p>
<p><strong>HKEY_LOCAL_MACHINE (HKLM)</strong><br />
HKLM contains settings for all users on the machine, rather than any specific user. As in HKCU, HKLM sorts driver and services information in the SYSTEM key, and configuration for windows and applications in the SOFTWARE key.</p>
<p><strong>HKEY_USERS (HKU)</strong><br />
HKU contains everything in HKCU as well as the same data for every other user on the machine. It also describes the default configuration for new users.</p>
<p><strong>KEY_CURRENT_CONFIG (HKCC)</strong><br />
HKCC contains data relating to the current hardware profile of the machine. Technically, it only contains information describing the difference between the current configuration and the standard configuration, which is stored in the SOFTWARE and SYSTEM keys of HKLM. HKCC is actually just a mirror of the contents in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current.</p>
<p>The Windows Registry cannot be more than 512 levels in depth, and no more than 32 levels can be created at once with a single API call.</p>
<p>Because virtually every Windows setting is stored in the registry, it is the ultimate tool when it comes to system configuration. For more or less the same reason, the registry can also be very dangerous if misused. Incorrect configuration of certain parts of the registry can cause a variety of problems, including rendering the operating system unusable. Centralizing system configuration makes settings more accessible to the operating system. Registry settings can be applied to users en masse via group policy, and the entire registry is relatively simple to back up. Due to the way the registry is stored on the system, storing strongly typed data is possible and parsing data is not necessary as it is with INI files, which results in faster reads. On the other hand, the registry’s binary structure also makes damage much harder to repair.</p>
<p>The easiest way to manipulate the registry is via the Registry Editor, which is a component of Windows. By default, there are no shortcuts to the Registry Editor, so we&#8217;re going to have to start it a little differently than most applications.</p>
<p>Open the start menu and click Run. Type <em>regedit</em> and hit enter. We could type the full address to the Registry Editor, but it just so happens that it is stored in the <em>system32</em> folder, which is where Run looks if an absolute path is not specified. If you&#8217;re using Windows Vista or Windows 7, just type <em>regedit</em> in the search box at the bottom of the start menu and hit enter.</p>
<p>At first glance, the Registry Editor looks similar to Explorer. You can navigate through keys using the tree on the left side of the window. Unlike explorer, subkeys won&#8217;t be displayed in the list view on the right, so you&#8217;ll have to use the tree to move around the registry. The list view shows each value of the current key. As discussed earlier, a value has its own name, type, and data. For the purposes of demonstration, we&#8217;re going to edit a value. The change we&#8217;re going to make is stopping an application from appearing in the &#8220;frequently used programs&#8221; list in the start menu (present in Windows XP onwards).</p>
<p>Windows keeps a small list of executables that shouldn&#8217;t be included on this list; it keeps this list in the registry of course. The value exists to stop certain system programs and applications that are unlikely to be run more than once from appearing on this list (things like installers and <a title="rundll32" href="http://support.microsoft.com/kb/164787" target="_blank">rundll32</a>). Let&#8217;s say I want to prevent Windows Media Player from appearing on this list (because I already have it on my Quick Launch bar). This value is located in the following key:</p>
<p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\FileAssociation</p>
<p>The parent keys in the above address basically break down like this:</p>
<p>Settings for the machine (not just this account) &gt;<br />
Settings for software on this machine &gt;<br />
Settings for software manufactured by Microsoft &gt;<br />
Settings for Microsoft Windows &gt;<br />
Settings for the current version of Microsoft Windows &gt;<br />
Settings for explorer (explorer handles the user interface, among other things) &gt;</p>
<p>So use the tree view on the left to navigate to this key. You should see roughly three or four values listed. The one we&#8217;re interested in is called <em>AddRemoveApps</em>; it&#8217;s a REG_SZ which is essentially a string value (a value that contains data composed of a sequence of characters, usually text of some description).</p>
<p>Double click on <em>AddRemoveApps</em> or you can right click on it and select <strong>Modify&#8230; </strong>from the context menu that appears. You should see a small dialog appear captioned &#8220;Edit String&#8221;. This is pretty self explanatory; to edit the value data, change the contents of the second text box and click OK. The contents of mine looks like this:</p>
<p><em>SETUP.EXE;INSTALL.EXE;ISUNINST.EXE;UNWISE.EXE;UNWISE32.EXE;ST5UNST.EXE;RUNDLL32.EXE;MSOOBE.EXE;LNKSTUB.EXE;MSASCUI.EXE</em></p>
<p>So what we have here is a list of executables separated by semicolons. To add Windows Media Player, jump to the end of the string, add a semicolon, then type the executable name:</p>
<p><em>SETUP.EXE;INSTALL.EXE;ISUNINST.EXE;UNWISE.EXE;UNWISE32.EXE;ST5UNST.EXE;RUNDLL32.EXE;MSOOBE.EXE;LNKSTUB.EXE;MSASCUI.EXE;WMPLAYER.EXE</em></p>
<p>You&#8217;ll notice I&#8217;ve typed <em>wmplayer.exe </em>in upper case; this is just for consistency, it isn&#8217;t actually case sensitive. Windows only checks this value when it attempts to add a program to the list, so if Media Player is already on your frequently used programs list, you will have to remove it yourself first (either by clearing the list, or right clicking on it and selecting <em>Remove from This List.).</em></p>
<p>You can also export entire keys (or the registry itself) into .reg files, which are basically text files with a special syntax which Windows can read. When you open a .reg file, Windows attempts to modify the registry based on the contents of the file. Since this is a potentially dangerous thing to do (especially if you don&#8217;t know where the file came from or what its purpose is), Windows will always ask for confirmation before executing a .reg file. If you want to read or edit a .reg file, you can do so with a text editor such as notepad.</p>
<p>Exporting allows you to back up the registry before making changes. In most cases, this isn&#8217;t strictly necessary if you&#8217;re careful, but it is a good practice to establish. To export a key, simply right click on it and select <em>Export.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nacimota.com/2009/07/03/working-with-the-windows-registry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hiding User Accounts on Windows</title>
		<link>http://www.nacimota.com/2009/07/01/hiding-user-accounts-on-windows-xp/</link>
		<comments>http://www.nacimota.com/2009/07/01/hiding-user-accounts-on-windows-xp/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 02:56:47 +0000</pubDate>
		<dc:creator>Nacimota</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Registry]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.nacimota.com/?p=15</guid>
		<description><![CDATA[On Windows XP, it is possible to hide user accounts from both the Welcome Screen and the User Accounts control panel. In this tutorial, I'll show you how. I'm sure people have various reasons for wanting to do this, so here we go. <a href="http://www.nacimota.com/2009/07/01/hiding-user-accounts-on-windows-xp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>Originally published in 2008</em></p></blockquote>
<p><em>On Windows XP and up, it is possible to hide user accounts from both the Welcome Screen and the User Accounts control panel. In this tutorial, I&#8217;ll show you how. I&#8217;m sure people have various reasons for wanting to do this, so here we go.</em></p>
<p>The first thing you want to do is head to the Control Panel and create the user you want to hide, if you haven&#8217;t done so already. I&#8217;m calling mine <em>Secret Account</em>. It&#8217;s important to take not of the exact name of the account, including character case, because we&#8217;ll need to use it later.</p>
<p>Notice that the account is shown in the User Accounts control panel. This is normal, of course.<span id="more-15"></span></p>
<p>If you log out, you&#8217;ll notice that the account is also shown on the Welcome Screen. Once again, standard windows behaviour.</p>
<p>In order to tell Windows to hide the account in both the Control Panel and the Welcome Screen, we need to make an edit to the Windows Registry.</p>
<p>To open the registry editor, select <strong>Run</strong> from the start menu, type <em>regedit</em> and click OK.</p>
<p>Once the Registry Editor opens, browse to the following key:</p>
<p><em>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList</em></p>
<p>In this key, you need to create a new DWORD value. Give it the exact name of the user account (case sensitive). In my case, I&#8217;m calling it <em>Secret Account</em>. The default value for a new DWORD should be <em>0&#215;00000000 (0)</em>, which is the value we want, as it hides the account. If this is not what your DWORD is set to, change it accordingly.</p>
<p>Once you&#8217;re done, close the Registry Editor and the effects should be instantaneous. Head back over to the Control Panel and the affected account should not be visable.</p>
<p>Log out to see the Welcome Screen. You&#8217;ll notice the account is no longer visible here either.</p>
<p>In order to log on using the hidden account, you&#8217;ll need to press <em>Ctr+Alt+Del</em> twice. You will be prompted with the classic NT log on window.</p>
<p>Input your username (case insensitive) and password (case sensitive), and click OK.</p>
<p>You can also use this method to show the Administrator account on XP, which is hidden by default.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nacimota.com/2009/07/01/hiding-user-accounts-on-windows-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
