Archive for the ‘Windows’ Category

You know how when you select an item in explorer, the color of the text for the highlighted item is white on dark-blue.

When you have an item selected in explorer and you switch to another program (but can see the explorer selected text still due to window overlap arrangement), you see that the selected item color changes to black on very-light-grey. This is very close to black on white (like all of the unselected items).

Any bad light conditions at all make this selection really difficult to see but I can’t find a Display properties color change selection for this.

This color is read from the HKEY_CURRENT_USER\Control Panel\Colors\ButtonFace registry key (as a Red Green Blue set), and changing it requires a restart for the setting to take effect.

If you’ve ever needed to expand and restore multiple files from the Windows Xp CD (and don’t want to run expand for each file by hand), the following batch file might come in handy:

@echo off
setlocal
set List=X:\path\*.ex_
for /f “delims=” %%a in (‘dir /b “%List%”‘) do expand %%a %%~na.exe

You’ll need to change “X:\path\” into the right path (where the source files are located. You should copy the files in question from the Xp CD to a folder on the hard disk).

Then replace *.ex_ (in that same line) with the right file type (for example *.dl_ – you can only expand one filetype at a time, since “expand” expects you to manually specify the output filename).

Finally, replace the %%~na.exe with the right output extension, for example %%~na.dll.

Enjoy.

This error might occur if Windows Management Instrumentation (WMI) components are missing or not registered correctly.

This error manifest itself, among others, by not displaying any more processor information in System Properties, and by returning a “Class no registered” error message after running the “systeminfo” command.

Registering the WMI components ought to resolve the problem:

The .dll and .exe files used by WMI are located in %windir%\system32\wbem. You might need to re-register all the .dll and .exe files in this directory. If you are running a 64-bit system you might also need to check for .dll and .exe files in %windir%\sysWOW64\wbem.

To re-register the WMI components, run the following commands at the command prompt:

cd /d %windir%\system32\wbem
for %i in (*.dll) do RegSvr32 -s %i
for %i in (*.exe) do %i /RegServer

Restart Windows. If that does not help, you may try repairing the WMI using the comprehensive rebuild method provided in article Repairing and re-registering the WMI. (http://windowsxp.mvps.org/repairwmi.htm)

Windows Xp reads information from media to let you find out properties (width, height, bitrate and/or others) of avi, mpg, asf, etc. files. This “behavior” can lock your avi files from being deleted, moved or renamed, and sometimes it’s just plain annoying.

To disable this action, use Regedit to delete the “Default” value for the HKEY_CLASSES_ROOT\SystemFileAssociations\.<EXT>\shellex\PropertyHandler key (where <EXT> is the extension you want to disable for. example: HKEY_CLASSES_ROOT\SystemFileAssociations\.avi\shellex\PropertyHandler).

You can unregister the media indexer for all media files by running

regsvr32 /u shmedia.dll

and/or unregister the image indexer with

regsvr32 /u shimgvw.dll

Having problems with Yahoo Messenger (7/8/9) opening links in Internet Explorer although Firefox is set as default browser?

Simply run

firefox.exe -silent -setDefaultBrowser

and it should get fixed.

Bruce Sanderson’s

How to clean up printer drivers

If the Print Spooler service fails when printing, when Windows starts or it can not be restarted, the usual reason is that one or more printer drivers is defective.  If the Print Spooler service is not running, the Printers and Faxes folder will be empty and you can not use it to remove (or add) printers or printer drivers.  If you have a Lexmark printer, see special information about Lexmark printer drivers.

It’s important to only install printer drivers that are designed and built specifically for the Windows version you have.  This is particularly important for Windows XP; many of the CDs and floppy disks distributed with printers (particularly older models) do not have Windows XP drivers – check the printer manufacturer’s web site for printer drivers for the version of Windows you have (see Links).

A common cause of printer driver problems is to upgrade to Windows XP from Windows 95, 98 or ME without first removing the printer and the printer drivers.

The steps on this page will remove all printers and printer drivers from the computer.  The printing subsystem is then “clean” and ready for printers to be added using printer drivers specifically for the Windows version you have.

If you have drivers for several printer models installed (e.g. on a Print Server computer) it may only be necessary to remove the defective printer drivers.  At steps 2, and 7, just delete the entries for the printers or printer drivers you suspect are defective.  Unfortunately, the files that comprise the drivers are all in the same folder.  Also, the same files may be used by the drivers for several printer models.  So, selectively deleting the driver files at step 12 may be difficult or impossible.  With Windows 2000 and XP, in most cases, deleting the registry entries for the drivers (step 7) will be sufficient, so you may want to skip steps 10 through 12 if you have multiple printer models and don’t want to re-install all of them.

Check in Control Panel, Add/Remove Programs; if there is an entry relating to one of the printers, select it, then click Change/Remove.  Follow the dialog and “uninstall all” or “remove all” as appropriate.  Some “printer software” have programs that show up here and it will be a good idea to remove those before going any further.

If the Print Spooler service is operational:

  1. Open the Printers (Printers and Faxes on Windows XP) folder
  2. delete all of the printers
  3. click File, Server Properties
  4. select the Drivers tab
  5. for each entry:
    1. select the entry
    2. click Remove

Usually, this will do a pretty good job of cleaning out drivers with Windows 2000 and later (not so with Windows NT 4).

If the Print Spooler service is not operational, or you want to make certain there are no printer driver remnants, either follow the instructions below or use cleanspl.exe from the Windows 2000, XP or 2003 Resource Kit (http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en).  cleanspl.exe from the Windows 2003 Resource Kit tools will work on Windows XP.

Some information about cleanspl.exe:

  • cleanspl.exe does a very thorough job of cleaning up the print spooler stuff, but it does not remove the spooler service dependency on the Lexmark service (see special information about Lexmark printer drivers).
  • You can use it to clean up the spooler stuff on another computer (i.e. remotely).
  • When you run it, it asks you if you want to remove some things that are actually delivered (and installed by default) with Windows.  In most cases, you should answer No to the corresponding prompts (you don’t want to remove the Standard TCP/IP Port or the BJ Language Monitor).

Here’s how to clean up the print spooler stuff if cleanspl.exe is not available or you prefer to do things manually.

Warning! be very careful using regedit – if you delete the wrong things, you may render your computer inoperative!

  1. open regedit (e.g. click Start, key regedit and press Enter)
  2. navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers

under this key, there will be the keys Version-2 and Version-3 (one or the other of these may be absent – not a problem)

the sub-keys under these contain the printer driver configuration information

delete all the sub-keys inside Version-2 and Version-3, but not these keys themselves

The Microsoft Knowledgebase article at http://support.microsoft.com/default.aspx?scid=kb;en-us;312052 lists some other registry entries to delete, but this is not usually necessary.

  1. open a Command Prompt window
  2. key the commands
    net stop spooler
    net start spooler
  3. open Windows Explorer
  4. navigate to %systemroot%\system32\spool\printers\ and delete any files there.  By default, this is where the print spooler stores print files.
  5. navigate to %systemroot%\system32\spool\drivers\w32x86 (%systemroot% is usually Windows, but it might be winnt or something else; this is set when the OS is installed).
  6. inside w32x86, there will be folders with the names 2 and 3 (one or more of these may be absent – not a problem)
    delete all of the files and sub-folders in each of the 2 and 3 folders, but not the folders themselves
    inside w32x86, there may be other folders with names starting with “hewlett_packard”, “hphp” or something else; delete these folders also
  7. restart the print spooler (see steps 8 and 9 above)

At this point, the system should be pretty well back to the way it was before any printers were installed.

Some would suggest restarting Windows at this point, but with Windows 2000 and later, this does not seem to be required.

If you have a Lexmark printer, these additional steps may be necessary (thanks to Robert Orleth [MSFT] for providing this information).  The Lexmark printer installation process sometimes installs a service that makes the print spooler service dependent on itself.  If there is a problem with Lexmark service or a Lexmark printer driver (or you removed it using the steps above), the print spooler service may not start (see also http://support.microsoft.com/default.aspx?scid=kb;en-us;324757).  The steps below make the print spooler service only dependent on the Remote Procedure Call (RPC) service (RPCSS), which is normal.  The print spooler service dependencies are stored in the registry at

HKEY_LOCAL_MACINE\SYSTEM\CurrentControlSet\Services\Spooler\DependOnService

The sc config command at step 16 resets the value of that entry.

  1. Open a Command Prompt window
  2. key the command
    sc config spooler depend= RPCSS
    (note the space after the = but not before)
  3. restart the print spooler (see steps 8 and 9 above)

Article taken from http://members.shaw.ca/bsanders/CleanPrinterDrivers.htm

Stop ACTA
own-nightwish