Trapped In A Dialog
As you may know, I sometimes use Jing to take screenshots. Usually, this is when Snipping Tool stops working, and my kill the process trick doesn’t revive it.
Lately, when I booted my machine, I saw this dialog appear:
Learn Jing Now? No thanks, I already know how to use Jing. So… what other options do I have?
- “Replay”
- “Sign Up Now”
That’s it. The usual Minimize-Maximize-Close buttons from Windows aren’t there, and I don’t see a Close button. Replay just starts the tutorial video again, and Sign Up Now sounds like I have to register for something . I already created a Screencast account – I remember doing that specifically to satisfy Jing. So, as far as I know, I don’t need to sign up. Yet, the text above the Sign Up Now button seems to suggest that I should click it… but I know I already signed up, why would I do it again? Because of the resulting confusion, I see the dialog as having a poor user interface. While it is visually appealing, I’m really not sure what I’m supposed to click. I’ve also been trained to avoid registration forms – I only use them when I absolutely have to. After all, each time I register somewhere – it takes time, and the information I provide could be exposed in one more location.
If I decide I want to close the window, I have to get creative… I can either:
- Right-click the window in the taskbar, and select Close Window.

- Press ALT+F4.
- Open Task Manager, and kill the process from there.
It could have been easily averted with a Close button, or at least clearer instructions. If I have to sign up again to use Jing, then tell me why. If I have to click that button to get to the login page, then that’s terrible – just put a Login button alongside Sign Up Now. Either way, make it clear.
How to Temporarily Disable System Beeps
Computers have a means of communicating without external speakers – they do so via hardware beeps. These are the main scenarios I’ve seen where a computer beeps:
- There is a problem when the system tries to boot, so it attempts to communicate what went wrong – via a sequence of beeps.
- Too many keys were pressed at once on the keyboard.
- The system is configured to beep whenever an alert dialog appears.
The last one I found particularly annoying when I was developing Visual Basic 6 applications at my day job. For some reason, Visual Studio 6 likes to communicate with you via alert dialogs. Visual Studio .NET corrected this – instead of a typical alert box, they list the errors and warnings in another pane. Despite this, some of our code was still in VB6, so I had to use it. Thankfully, there is an easy way to disable the beeps.
In Windows Server 2003:
1) Click Start > Run.
2) When the Run dialog appears, type “cmd” and press ENTER.
3) When the command prompt appears, type “net stop beep”, and press ENTER.
If you want to disable the beep permanently, here are some instructions.
Changing Drive Letters In Windows
At home, I use multiple external hard drives; however, I don’t always leave them on. I usually have just one of them running at a time. Today, when my turned on my main external hard drive, it was assigned the drive letter I by Windows, whereas it usually used F. This caused some problems – some of my shortcuts expect it to be the F drive.
When I look at my drives in Windows, here is what I see:

My drives. Notice how "F" is actually free?
Looking at the drives, I don’t quite understand why Windows thought I would be a good idea. I’m guessing it remembers another drive that had F, and wants to reserve it. Why it didn’t do that before, is beyond me.
To correct the shortcuts, I had to change the drive letter of the drive – which would make the paths valid again. I only had to do this once before, so I thought I’d offer the steps here, in case someone else would find it useful. The change is made using the Disk Management tool that comes with Windows.
In Windows 7, either:
- Search for “Disk Management” in the Start menu, and select the “Create and format hard disk partitions” option.
or
- In a “Run Command” window, enter “diskmgmt.msc”.
You’ll be presented with the Disk Management screen:
Once there, simply right-click the disk you wish to change, and select “Change Drive Letter and Paths”.
You’ll be presented with the following dialog:

Select the drive letter, and press “Change”.
When the dialog opens, select the letter you want to use. In my case, I changed the “Assign the following drive letter:” field value from I to F.

After that, press OK. You’re get a warning saying:
Some programs that rely on drive letters might not run correctly. Do you want to continue?
Copying the Contents of Windows Dialogs
As a developer, I very often see error messages – some of those originate from the products I develop, and I have to report them as bugs. Whenever I get an error message in a dialog, I typically take a screenshot, and add that to the bug base issue. That’s fine, but it means people can’t search for that error message in the bug base – in order to enable that, I’d usually just manually type out the error message, rather than take a screenshot. That was before. Today, I’d just press CTRL+C to copy the error dialog contents.
That’s right, whenever you see a dialog in Windows, like this:
You can press CTRL+C to copy, and then open up Notepad, and press CTRL+V to paste:

The dialog title, contents, and even the button text are saved to the clipboard.
I had no idea this was possible until I read a Lifehacker article explaining it. Since I’ve started using it, I’ve found it very useful in my every day work. Maybe you will too!
Just a note, though – it doesn’t seem to work everywhere. For example, JavaScript alert dialogs can’t be copied in Firefox, but they can in Internet Explorer.
Blocking Websites with the Windows Hosts File
Sometimes I decide that I never want to re-visit a particular website ever again, and I want a way to block it indefinitely. Normally, I just learned to ignore a website simply out of self-discipline. Lately, I decided I wanted something more secure. After all, even with self-discpline, I could still accidentally visit said site from a link found on another unblocked site. I figured out a good solution: the Windows hosts file.
Windows features a special file simply called “hosts”, without an extension. This file allows users to map hostnames to IP addresses. More importantly, however, is that when Windows tries to locate nodes on any given network, it will take the hosts file into consideration. It will actually consider the hosts file prior to querying DNS server, and any mappings found within will override those in the DNS. This effectively allows us to write custom redirections that affect the entire system – this was the key to blocking the website. To demonstrate how I used this to my advantage, here’s what the default HOSTS file looks like in Windows 7:
#def Copyright (c) 1993-2009 Microsoft Corp.# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a ‘#’ symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
If I wanted to permanently block:
- kanyewest.com
- kanyeuniversecity.com
I would add the following entries to the file, in bold:
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a ‘#’ symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 kanyeuniversecity.com
127.0.0.1 www.kanyeuniversecity.com
127.0.0.1 kanyewest.com
127.0.0.1 www.kanyewest.com
By doing this, I’m telling Windows that whenever it encounters one of those domains, it should immediately resolve them to the IP 127.0.0.1, rather than querying the DNS server for the IP. The IP 127.0.0.1 is a special “loopback” IP – it pretty much points to whatever machine you are currently using. That’s how these domains are blocked – Windows will actually be told to use 127.0.0.1, which will definitely not work (since the local machine is not a web server, and is not configured to serve such content). This exact technique is used by Spybot Search & Destroy‘s Immunize feature – so when you open your HOSTS file, you might already see a bunch of entries blocked.
Notice, also, how I added two entries per website I want to block – one with “www.”, and one without it. I considered this necessary because of the following: from the point of view of a DNS server, “www.websitenamehere.com” and “websitenamehere.com” are two completely different domains; however, in most cases, on the Internet, they tend to be configured to point to the same IP address, so we rarely see instances where they behave differently. Still, since they are different at the DNS level, both possibilities needed to be added to HOSTS file.
Ultimately, once configured, the end result is this: whenever you try to access a blocked site, you’ll get this type of error:

Error seen when attempting to visit a site that has been blocked via the Windows hosts file. This example showcases Firefox, but keep in mind that the block is system-wide. Other browsers will react similarly.
There you have it – a way to block websites in Windows, and a browser-independent one at that. As for the procedure for editing the HOSTS file, it differs depending on which version of Windows you are using. For Windows Vista and Windows 7, click here. For Windows XP and older versions of windows, click here. These links will simply trigger appropriate Google searches, as I don’t have articles that cover these steps yet.
Enabling Theme Support in Windows Server 2003
Microsoft’s Server operating systems are specifically aligned to offer, above all, top reliability and performance. It is therefore no surprise that Windows Server 2003, at first glance, seems to lack the standard Luna desktop theme that XP users have been accustomed to. Here’s the thing: The feature isn’t missing, it’s just “hidden” by default.
Solution
Here’s how to enable it:
1) Open the Services Management Console by entering “services.msc” in the Run dialog.
To open the Run dialog, click Start > Run, or press Windows Key + R.
2) Locate the Themes service, right-click it, and select Properties.
3) On the General tab, select the Startup Type dropdown, and choose Automatic.
4) Click Apply.
5) Click OK.
6) Right-click the Themes service again, and select Start.
7) Close the Service Management Console.
Right-click on the desktop, and select Properties.
9) On the Themes tab, select the Theme dropdown, and choose Windows XP.
10) Click Apply.
11) Click OK.
The Windows XP option, by default, is not listed as an available theme in the Display Properties dialog. When we started the Themes service, the option was added… and there you have it. You can now use the XP theme (Luna), in a Windows Server 2003 environment.
File Locking: Access Is Denied? Not Anymore.
I’m sure most of you have encountered this type of error, at one time or another, while using Windows:

Cannot delete file: Access is denied.
It appears when you try to delete a file or folder that is currently in use by an application. To be completely accurate, the file needs to be in use and locked by the application to prevent external edits – the lock is likely the reason we see the error message. Sometimes it is really obvious which application has a locked handle on the file – for example, if it is complaining about a Word document – perhaps the document is still open in Word. Personally, I consider scenarios like that acceptable because they can be solved easily; unfortunately, all too often I get into trickier situations where I can’t figure out which application is holding onto my file. In those cases, I used to just reboot, and that would usually solve the problem. Yet, there were still cases where rebooting didn’t even do the trick.
Eventually, I was tired of struggling in those moments, and began searching for an application that could help – that’s when I found Unlocker. It allows you to remove locks from individual files via an “Unlocker” option within the Windows context menu. Definitely a nice feature… but listen to this – they took it a step further via a system tray program called Unlocker Assistant. If you encounter the “Access is denied” error while Assistant is loaded, Unlocker will automatically pop up a few seconds after you click “OK”, and it will show you the culprits:
From their interface, you have the option of either killing the process, or unlocking the files themselves – effectively breaking the hold the application has on the file without having to terminate it. Very handy. You can download Unlocker here.
If you’re more inclined to trust Microsoft-sanctioned applications, grab Process Explorer – a Sysinternals app. I didn’t try it for this purpose specifically, but from what I’ve read, it isn’t as simple as Unlocker when it comes to removing the “Access is Denied” error specifically. It serves multiple purposes, whereas Unlocker is specialized.
Applying a Custom Filter in an Open File Dialog
What I’m going to cover now is a pretty minor feature of Windows. I would of skipped this article, but I encountered a few people that never heard of this trick. I’ve personally found it useful in scenarios where I was working with custom file extensions… for example, I knew that a particular file with the uncommon extension “.def” could be opened in Microsoft Access. The file extension “.def” is not typically associated with Microsoft Access, but I knew it was a valid file.
To explain how the feature works, consider your typical, everyday “Open File” dialog:
In this example, the dialog wants you to select a “.torrent” file by default. Because this is the active filter, you only see files that have a “.torrent” extension in the folders you view. What if you had a file with a “.abc” extension – and you knew it was a valid torrent file, just with a different extension? If you wanted to select it, you’d have to change the filter dropdown to “All Files”, and then find it that way. If you had a lot of files in the same folder as the “.abc” file, you’d have to look through the list to find the one you want.
Wouldn’t it be great if you could simply filter for “.abc” files, even though the dropdown doesn’t have it as an option? Guess what… you can.
Simply type:
*.abc
in the “File name” textbox, and click press Enter.
This is the result:
Notice how the “.torrent” file is no longer visible? This is because we just applied a custom filter, one that told the dialog to only display the files having an extension of “.abc”. This little trick can be useful when you’re dealing with lots of a files - it can reduce the clutter and make it easy to find something specific.
Here’s an interesting detail: if you take another look at the filter dropdown, as show in the screenshots, you’ll notice that the filter itself is shown in the name of the dropdown choice. Consider the “Torrents” filter from the above screenshot:
Torrents (*.torrent)
The portion within the parentheses (green font) is the filter that Windows is internally applying when you select the dropdown. All we’re really doing by typing the filter directly in the “File name” textbox is bypassing the limited options in the user interface, likely using the same approach as Windows would had the option been available as a dropdown.
Why Vista's User Account Control Feature Isn't So Bad
When I first got around to using my copy of Windows Vista regularly, I quickly became annoyed of one particular feature – User Account Control (UAC).
At first, I saw it as an acceptable comprimise for the sake of security… but after a while, it became clear that most the apps I use actually need Administrative access. I found myself forgetting to launch the shortcuts with Administrative privileges, and then I’d have to close the application, and launch it properly by right-clicking and saying “Run as administrator”.

Eventually, I grew so frustrated that I turned the feature off, just to avoid the hassle. For a long time, I went without it – and then we got new machines at work, and we were told to install Vista Business on all of them. Since it was a work machine, I decided to leave UAC enabled, for security’s sake. It wasn’t always pleasant; however, at least I knew my machine was more secure – and so the cost of having to right-click, and select “Run as administrator” was acceptable given that it was within the context of work.
I put up with it until, one day, I was checking out the Properties of a shortcut… when I discovered a checkbox I’d never noticed before.

This checkbox, when enabled, made it so the UAC prompt appeared automatically after launching a shortcut, rather than me having to right-click it, and select “Run as administrator”. This feature alone made me realize that UAC isn’t so bad. The real cost of using UAC was having to right-click the shortcut and select “Run as administrator” (for me, anyway).
I could hardly believe that I had missed this feature – but when I asked fellow developer friends of mine, I realized some of them missed the feature as well. This got me wondering… maybe there are others that still don’t know this?











