Friday, February 03, 2012

Possible Fix: On boot, blank screen after Windows 7 logo

This past week, my HTPC spontaneously started having a problem where, when booting, after the Windows logo was displayed, I would just get a blank (black) screen.  Windows apparently loaded ok – I just couldn’t see anything the screen.  One afternoon, things were working fine, but later that evening (not having manually made any changes to the PC), the problem started occurring.

In an attempt to keep this post brief, I’m going to omit the myriad of troubleshooting steps that I went through to try to correct this, and just provide the one that worked for me. If you’re having a similar issue, you can skip to the end of this post for my solution, although I’d suggest at least skimming the System Configuration and Symptoms to get a better idea of whether or not this solution might be applicable for your situation as well.

System Configuration

This problem occurred on a PC running Windows 7 Home Premium 64-bit, with an nVidia GeForce GT 430 video card, connected via HDMI cable to a TCL L40FHDF12TA LCD HDTV.

Prior to the problem occurring, the PC was successfully sending both video and sound to the HDTV via an HMDI cable, connected to the HDMI-out on the video card, and one of the HDMI-in ports on the TV, at the TV’s native resolution of 1920x1080 (1080p).

Symptoms

  • Upon a reboot, the PC would correctly display the text-mode POST information, followed by the graphical Windows 7 logo; but after that, the TV would just display a blank (black) screen.  The TV would report it was getting a 1280x720 signal from the PC. Also, the normal Windows boot sound did not play (even though I did have the volume up on the TV).
  • The problem would persist even after turning the TV off and back on, or changing channels on the PC and then changing back to the “HDMI 1” input, or when disconnecting and reconnecting the HDMI cable (without rebooting).
  • When booting into Safe Mode, the Windows desktop would display properly, and the system would be usable (albeit without sound, and at a reduced screen resolution). 
  • At one point midway though the troubleshooting process, I got things “partially fixed” such that the Windows desktop would come up when booting normally (not into Safe Mode).  (Unfortunately, I don’t recall exactly which specific troubleshooting step I took over the course of the multi-hour troubleshooting process to make this happen.)  When in the system was in this state, I observed multiple problems:
    • In the Screen Resolution dialog, Windows would only let me let me set the monitor to a maximum resolution of 1280x720 – not the full resolution of 1920x1080 supported by the TV.
    • Windows recognized the monitor as a “Generic non-PNP monitor”, not as the actual TCL TV model.
    • No sounds would play. In the Sound dialog (accessed from the Control Panel), there was an nVidia HDMI sound output listed, but it had a listed status of “Not plugged in” (even though the HDMI cable actually was plugged in).
    • The nVidia Control Panel software showed that the monitor was connected via DVI – not via HDMI as it actually was connected.  The software didn’t display a dropdown that would allow the connection type to be changed.
  • The same symptoms persisted when connecting the PC to the TV via the video card’s DVI-out port, the TV’s HDMI-in, and a DVI-HDMI adapter (and rebooting).

Solution

After trying many things to fix this, what eventually ended up working for me to fix the problem was to use Windows 7 System Restore to restore the system to a restore point a couple of weeks before the problem started happening.  Once this was done, all symptoms immediately went away; the TV once again successfully sent video and sound to the TV, Windows recognized the monitor as a TCL TV (not as a “generic non-PNP monitor”), and Windows allowed me to change the screen resolution to the TV’s native resolution of 1920x1080.

I’m still somewhat mystified as to the initial root cause of the problem; my best guess is that some Windows system file related to display output was (somehow) damaged, and that this was corrected by the System Restore.  The only thing listed on the System Restore dialog between the present time and the restore point that I selected (other than several manual video driver updates that I had applied during the troubleshooting process) was a series of automatically installed Windows Critical Updates. 

(The problem apparently wasn’t with one of the nVidia video driver files, as I tried installing multiple different versions of the display driver software to correct the problem, without success.  I even went so far as to use a “driver cleaner” utility to clean out all of the old nVidia files and registry entries before re-installing a new driver.)

If you’re having the same problem that I was, this solution may or may not work for you.  Still, it may be worth trying a System Restore as part of your troubleshooting process if other more obvious solutions (checking cables, reinstalling the video driver, etc.) aren’t working for you.  I hope this helps!

Wednesday, February 01, 2012

How to configure Windows 7 to natively launch applications via custom keyword shortcuts

This article describes a way to configure Windows 7 to launch applications and websites from the “Search programs and files” field in the Windows 7 Start menu using custom-defined shortcut keywords – without using the mouse at all.  This is similar to the functionality of 3rd-party utilities such as Slickrun, Launchy, and Quicksilver, but with this method, no 3rd-party software is required!

As an example, this technique could be used to set up the keyword “ff” as a shortcut for launching the Firefox browser.  You would be able to launch Firefox from anywhere in Windows simply by typing the following four keystrokes:

[Windows Key]
ff
[Enter]

Doing this would bring up the Windows start menu and enter “ff” into the “Search programs and files” field; after having followed the steps detailed in the remainder of this post, Windows will recognize “ff” as a “Program”, and therefore will give it the focus automatically; you can then just press Enter to launch “ff”, which is configured as a shortcut for launching Firefox.  This is shown in the highlighted portions of this screen capture of the Windows 7 Start menu:

ff_shortcut_highlighted

Step 1. Create a “Shortcuts” folder

Create a new folder named Shortcuts at location:

%appdata%\Roaming\Microsoft\Windows\Start Menu\Programs\

The folder doesn’t have to be named Shortcuts; you can use something else if you like. 

Note that because this folder is created under the Start Menu\Programs folder, this new folder and its contents will show up as a folder on your Start menu. 

Why does the folder need to be created at this location?  This needs to be done so that Windows will recognize shortcut files placed in that folder as “Programs” when the shortcut filename is keyed in to the “Search programs and files” field on the Start menu.

Step 2. Create a shortcut to the new Shortcuts folder

This step is optional, but to make things easier, I suggest that the first new shortcut you create is a shortcut to bring up the Shortcuts folder itself in a new Windows Explorer window. 

One way to do this is to manually open up an Explorer window (Shortcut key: [Windows Key] + e) and enter in that window’s address bar:

%appdata%\Roaming\Microsoft\Windows\Start Menu\Programs\Shortcuts

Then, drag the yellow folder icon from the left side of the address bar into the main area of the window to create a shortcut to that folder. 

Finally, rename the shortcut (Shortcut key: [F2]) from Shortcuts – Shortcut to just shortcuts

Once this is done, you can test the new shortcut by pressing [Windows Key] to open up the Start menu, typing in “shortcuts”, and pressing [Enter].  A new Windows Explorer window should open, showing the Shortcuts folder.

Step 3. Create Application Shortcuts

Now you’re ready to create some shortcuts to run applications!  To create a named shortcut to launch a particular application, just create a shortcut to that application in the Shortcuts folder you created, and name the shortcut file to whatever you want the keyword to launch the application to be.  Then, to test the shortcut, press [Windows Key], key in the shortcut name, and press [Enter]. 

One easy way to create a shortcut to a particular program is to use the right mouse button to drag and drop that program’s entry from the Start menu to a Windows Explorer window that’s open to the Shortcuts folder.  After dropping the item, select “Create Shortcuts Here” from the context menu that appears.

After keying in the shortcut name (and before pressing enter), you should see your custom shortcut appear immediately as the first item in the list of real-time search results that Windows generates under the “Programs” heading.  Since Windows considers the shortcut to be a “Program,” pressing enter causes Windows to run that program without you even needing to arrow key down to that search result in the Start menu – Windows selects it for you by default.  Nice!

One caveat: For me, for certain single-character shortcuts (such as “g”, but not “n”), Windows doesn’t recognize the shortcut file as a “Program” in the start menu. If a given single-character shortcut doesn’t work for you, I’d suggest trying a two (or more) character shortcut keyword instead; all two-or-more-character shortcut keywords that I’ve tried have worked for me.

To give you some ideas on getting started with creating your own shortcuts, here are just a few of the shortcuts that I currently have set up on my local PC:

ecl Eclipse IDE
ff Firefox
irfan IrfanView
n2 Notepad2
pdn Paint.NET
timer Orzeszek Timer
vs Visual Studio IDE
wmp Windows Media Player

These shortcuts even work with parameters, for example, with my configured “timer” shortcut, I can key in “timer 5m” to start Orzeszek Timer running with a 5-minute timer.

Step 4. Create Website Shortcuts

You can also set up shortcuts to launch a particular website in your default web browser.  To do this, just create a new shortcut from Windows Explorer in your Shortcuts folder (right-click | New | Shortcut), and in the item location field, paste the URL of the target website (such as “http://blog.jonschneider.com”, without the quotes).  Then, name the new shortcut with the keyword you’d like to type to launch that website, and that’s it!

Open Question: Websites with Parameters

One thing I have not yet figured out how to do using this technique is to elegantly set up a shortcut to launch a website with a particular parameter.   For example, I’d like to be able to key in “g search terms” to bring up Google in a new tab and the default browser, and run a search for search terms.  That is, a new browser tab would be opened with the url http://www.google.com/search?q=search term.  If anyone knows of an elegant way to do this (without resorting to the use of a 3rd-party background program like Slickrun), please leave a comment and let me know!