Showing posts with label Tweaks. Show all posts
Showing posts with label Tweaks. Show all posts

Wednesday, April 27, 2011

Copy Your Hard Drive with Windows 7

I got a new SATA hard drive and decided to make it my primary drive. My current hard disk was IDE and was pretty old, so the decision made sense. But I really didn't want to reinstall everything, so I looked into copying the old hard disk into the new one. This is called Disk Cloning and there are lots of programs that do this. I just wanted the easiest way.

I first looked into Hiren's Boot CD because I had used Hiren's Recovery Tools before. You burn a CD, boot from it, and one of its tools clones the hard drive. I was too lazy to create a boot CD, so I read on. I read about Clonezilla, Aconis (not free), and Paradigm (maybe free?), which all required you to make a system image (a file that's a snapshot of a hard disk), but ultimately decided I didn't want to look into third party software if possible. (It takes me a while to read enough to convince myself that third-party software isn't going to mess up my computer and is going to be user friendly enough to use.) I'm using Windows 7 and read that the built in Backup and Restore program worked well. I didn't have to download anything or burn anything, so I decided to try that first.

To use it, you need:

  • The Windows 7 Installation CD (or you'll need to create a system repair CD)
  • Your original hard drive
  • Your new hard drive
  • And some other storage system (DVDs/External Hard Drive/Internal Hard Drive) to store the image of your original hard drive.

WARNING: The new hard drive and other storage system must be at least the size of your original hard drive. The other storage system CAN NOT be the new hard drive.

To use Windows 7's backup and restore tool:

  1. Go to Start Bar -> Control Panel -> Backup and Restore -> Create a System Image
  2. Choose where you want to store the image and press next
  3. Choose the drive (the other storage system) you want to back up and press "Start Backup"

It took about an hour and a half to create a backup image for a 200GB system. When the backup is done, shut down your machine.

THIS IS IMPORTANT: You now need to unplug the power to your original hard drive (or otherwise remove it from your system.) Your new hard drive and other storage system must remain accessible.

Then boot from your Windows 7 Installation CD (or a system repair disk.) You'll get the Windows 7 Installation Menu. Choose your language, then choose "Restore from System Image."

The system image you just made should already be selected. Choose it and press next.

By default, the system restore program will take every hard disk on your system (except for the one holding the system image), delete it, format it, and restore the system image on it. So make sure to exclude any hard disks you don't want to be replaced on the next screen, then continue.

When I first tried this, I got an error that said no suitable disks were found. I wasted half an hour trying to figure out what was wrong. I ended up needing to cancel, select "Command Prompt" from the tools menu, and then doing the following:

  1. Type "diskpart"
  2. Type "select disk=disk0"
  3. Type "detail disk"
  4. (Read the output and make sure this disk is the new hard drive)
  5. Type "clean"
  6. Type "exit"

Select "Restore system from System Image" and this time there hopefully won't be an error.

Your system should restore and you should boot up into windows (you may need to go into your system BIOS to make sure your new drive is set as a boot device.) You can shut down the computer and plug your old hard disk back in if you'd like to continue using it for storage. Make sure it's not your primary boot device in BIOS! If windows doesn't show the old drive, you may need to right click "My Computer", select "Manage", select "Disk Management", and then right click your old drive and select "Online."

When I finished switching my primary drive, I brought up my Windows System Rating. Up to a 5.9 ... ... ... ... it makes me want to upgrade my machine more. Microsoft and your achievement points.... *sigh*

Thursday, April 21, 2011

PS3 Controller on PC

(This was actually a really old post, which I dredged up so I could add a notice mentioning MotionInJoy, which I'm currently using. It has a lot of options and works perfectly on Windows 7 with no problems. It shows ads, but I'm pretty sure it doesn't install anything nefarious on your system. So... use MotionInJoy instead of whatever I talked about here. MotionInJoy avoided all the annoying driver signing this old post talked about too.)

I got a Playstation 3 controller to work with windows as a game controller, which is awesome. I'm not using it over Bluetooth, I have the controller plugged into the USB port. I've found a lot of fun indie games that I intended to play for the PC (La Mulana, Cave Story, Knytt), but wanted a controller to maximize enjoying them.

Besides the hardware, all you need is the driver and setup executable. You can get these over at http://ps3-hacks.com. It may not necessarily work very easily... I couldn't get the controller to work on my XP desktop (I'm almost positive it's due to conflicts with other drivers, but don't want to waste anymore time debugging), but it worked immediately without any problems on my Vista laptop. My suggestion would be to give up (or reinstall your entire system) if you follow the instructions and it still doesn't work. Make sure to press your PS Home button before complaining that it doesn't work.

I also have a x64 Windows 7 machine at home. By following this guide, I've been able to get the PS3 controller working. The (huge) downside is that the application uses an unsigned driver, which means you have to run Windows 7 in a special mode. The guide will explain that a little more. By the way, I do not suggest changing system properties to always allow unsigned drivers. It just doesn't seem like a good idea, plus, it puts an annoying watermark on your background.

After getting the controller to work, I had problems with actually using it to play games. Some of my games didn't give me very good joypad mapping options, mainly in not supporting all of the PS3's 16 buttons. But then I found XPadder... check out http://www.xpadder.com! (Note that versions 5.3 and below are free (softpedia link), but versions above 5.3 must be purchased. I suggest supporting the other Jonathan's efforts.) XPadder easily lets you map keyboard key(s) to any button on any gamepad supported by windows. It is REALLY awesome. I can even play Guilty Gear and pull off supers with the press of one button since it lets you map sequences.

Suddenly, fighting games (Guilty Gear), platformers (Cave Story), and RPGs (Ys) are something I'm willing to play on my PC.

Also, using PS2 Emulators with save states for my old games is pretty awesome.

Monday, January 04, 2010

Driverless Network Printer on Windows 7

Sheesh, I spent like half an hour trying to add a network printer on my new Windows 7 machine. When I tried to add an HP Laserjet 1200 PCL5 printer, it said a driver couldn't be found, even though I saw Windows 7 had the driver when I tried to add it locally. This is how I ended up adding the printer (instructions were found at: http://www.sevenforums.com/drivers/2726-printer-network-no-driver.html). You'll need some computer know-how, but it's not too tough. Essentially, you create a local printer, then change its settings to your network printer:

0. Go to "Devices and Printers" from the start menu.
1. Add Printer (click)
2. Choose local printer
3. Choose use existing port
4. If your network printer type is not listed, click windows update (requires internet).
5. Wait...
6. Check to see if your printer is now listed. If not, this guide won't work.
7. Choose newly listed printer.
8. Printer will then install.

And to now use your network printer...

1. Right click printer icon. Left click printer properties.
2. Click port tab.
3. Add new port. Local port
4. Type in address of shared printer ie \\Name or ip address of computer with attached shared printer\Shared printer name
5. Click general tab. Print test page. See if your test page printed.

Saturday, October 31, 2009

Removing and Ejecting Disks

Requires: Windows XP Professional

So, you plug in a USB drive, do your stuff, and then you want to take it out. Pretty common today, right? So you've got to go to your taskbar, right click that "Safely Remove Drive" icon, and so on. I thought it was kind of annoying, so I looked for a way to do this without having to use the mouse (and that was free.) And I eventually found it at this site. His english isn't too great, but he's not a native speaker and it's not -that- hard to understand.

As he says, there are several tools that claim to do this. Don't use them because they don't work correctly. For example, in XP, DevEject fails to let you know if the operation failed. If you google "safely remove usb xp command line" you'll get articles talking about the devcon tool. Don't use that either because devcon causes the device in question to be uninstalled. This is not desired and does NOT cause the device to be "unplugged." So use the tools from http://www.uwe-sieber.de/usbstick_e.html.

So yay, now you can do usb stuff from command line. Sometimes you'll get a failure message. Unless you accidentally specified a non-removable drive, the most likely reason for this is that Windows has "locked" some of the files on the drive. So annoying, especially since you'll not know how to unlock them, since you probably already closed all he programs that were using it. If that's the case, use this program, "Unlocker", to free up those files. It works like a charm and appears in the right click menu for easy use. Download unlocker: http://ccollomb.free.fr/unlocker/

Thursday, August 27, 2009

Code Launcher

Requires: Windows (2000 and higher) and Ruby

When I first started playing with lots of languages two years ago, I built a simple extensible ruby script for myself that compiles/executes source code. I called it "Code Launcher." I was using Textpad mostly at that time, so I set up Textpad to run codeLauncher on the active file with the press of "ctrl-1". "Code Launcher" has a different effect depending on the extension of the currently opened file. For example, I have HTML files open in firefox, ruby code run through a batch file (so it can have a guaranteed pause), and java code compiled and then run through a batch file. It's a simple idea, but it was also a really useful idea that I still use for quick coding. Here's the code for it... the nicest thing about it is that you can add and take from it freely and quickly. Build in special cases for yourself and whatnot.

  1. # This program was created for use in TextPad, so that I could add this  
  2. # as a user tool which would do exactly what I wanted to the current open file.  
  3. # This way, I didn't need a different user tool (and different key shortcut)   
  4. # for every different kind of file.  I did this in Ruby because I had been learning   
  5. # it and liking it a lot at the time.  
  6. #  
  7. # The current problem with it is that there can not be more than one parameter.  
  8. #  
  9. # This program requires ruby 1.8 and AutoIt3 installed.  
  10. # 03/20/07  
  11.   
  12. require 'win32ole'  
  13.   
  14. class CodeLauncher  
  15.     def initialize( fileParam, promptForParams = false, browser = "C:\\Program Files\\Mozilla Firefox\\firefox.exe" )  
  16.         params = ""  
  17.         exit if( !fileParam )  
  18.   
  19.         #Get parameters if parameters are asked for  
  20.         if( promptForParams )   
  21.             require 'getParams.rb'  
  22.             app = FXApp.new("Get Parameters", "FXRuby")  
  23.             gp = GetParams.new(app)  
  24.             app.create  
  25.             app.run  
  26.             params = gp.param  
  27.             params = "\" \""+params+"\""  
  28.         end  
  29.   
  30.         #parse out the file name  
  31.         if( fileParam =~ /(.*)\\(.*)\Z/ )  
  32.             fileDir = $1  
  33.             fileName = $2  
  34.         else  
  35.             exit  
  36.         end  
  37.         extension = $2 if( fileName =~ /(.*)\.(.*)\Z/ )  
  38.   
  39.         #Special Cases (if any, for quick parameter testing)  
  40.   
  41.         #Extension based general executions/compilations  
  42.   
  43.         # Ruby, simpy open using a batch file (for the pause effect)  
  44.         if( extension == "rb" || extension == "rbw")  
  45.             runInCmd( fileDir, fileName, params, true )  
  46.         end  
  47.   
  48.         # Java, compile the code an run in a batch file (for the pause effect)  
  49.         if( extension == "java" )  
  50.             runInCmd( fileDir, "javac\" \""+fileName, "", false )  
  51.             runInCmd( fileDir, "java\" \""+fileName.chomp(".java"), params, true )  
  52.         end  
  53.   
  54.         # HTML, open the page in the browser  
  55.         if( extension == "html" )  
  56.             openInBrowser( browser, fileDir+"\\"+fileName )  
  57.         end  
  58.   
  59.         # PHP, open the page in the browser  
  60.         if( extension == "php" )  
  61.             openInBrowser( browser, fileDir+"\\"+fileName )  
  62.         end  
  63.   
  64.         # JSP, open the page in the browser  
  65.         if( extension == "jsp" )  
  66.             openInBrowser( browser, fileDir+"\\"+fileName )  
  67.         end  
  68.   
  69.         # batch, simply open the batch file  
  70.         if( extension == "bat" )  
  71.             runInCmd( fileDir, fileName, params, false )  
  72.         end  
  73.     end  
  74.   
  75.     #Run the code  
  76.     def runAutoIT3( cmdString )  
  77.         au3 = WIN32OLE.new("AutoItX3.Control")  
  78.         au3.opt("WinTextMatchMode", 2)  
  79.         au3.RunWait( cmdString )  
  80.     end  
  81.   
  82.     def openInBrowser( browser, url )  
  83.         runAutoIT3( browser+" \""+url+"\"" )  
  84.     end  
  85.   
  86.     def runInCmd( fileDir, command, params, leaveOpen )  
  87.         cmdString = ""  
  88.         if( leaveOpen )  
  89.             cmdString = "cmd.exe /c \"codeLauncherPause.bat \"" + fileDir + "\" \""+ command + params + "\"\""  
  90.         else  
  91.             cmdString = "cmd.exe /c \"cd " + fileDir + " && \"" + command + params + "\"\""  
  92.         end  
  93.         runAutoIT3( cmdString )  
  94.     end  
  95. end  
  96.   
  97. if __FILE__ == $0  
  98.     #Get Parameters  
  99.       
  100.     filename = ARGV[0]  
  101.     exit if( !filename )  
  102.     browser = ARGV[1]  
  103.       
  104.     browser = "C:\\Program Files\\Mozilla Firefox\\firefox.exe" if( !browser )  
  105.       
  106.     #execute  
  107.     CodeLauncher.new( filename, false, browser )  
  108.     exit  
  109. end  
  1. cd %1  
  2. %2 %3  
  3. pause  
And setting CodeLauncher to be run through "ctrl-1" in Textpad is pretty easy. Go to configure, then select preferences, then select tools. Add a DOS Command, name it whatever you want. I called mine Code Launcher.

Click Apply, then expand Tools. For Parameters, type "codeLauncher.rb $File". For Initial Folder, enter the full path to the codeLauncher.rb script. Make sure "Close DOS window on exit" is checked. Then click OK. You're all set.



As a parting note, make sure whatever you're using to develop code with does code launching (maybe build/execute is a better term) and make sure you tailor fit it to your usage. Any decent development environment does... F5 is a common key to try. This is really basic funcitonality that makes a developer's life tons easier.

Friday, July 31, 2009

Replacing Explorer Navigation

Requires: Windows 2000/XP, AutoIt3, and PS Hot Launch.

In internet explorer, you can use either backspace or alt-left to go to the previous page; the state is saved so that all selected items are still selected and all text in forms is still entered. In windows explorer (y'know, what you Windows users use to traverse your systems) for XP the same thing seems to happen. However, this is not the case.

Backspace actually corresponds to "Move Up One Directory" and Alt-left corresponds to "Back." If you are used to using Backspace to go back on web pages, I would suggest getting used to Alt-Left. Alt-Forward will move you forward (so it makes more sense) and making backspace go back may lead to problems will filling out web forms. I mapped Alt-Up to move up a directory and Alt-Down to close the active window, using AutoIt scripts and PS Hot Key. It took a while to wean off using backspace, but Alt-[Direction] actually makes more sense, is more unlikely to cause errors, and works the same on all windows computers. And so it's the better alternative than remapping keys.

(Haha, I've lied. I ended up switching all my Alt-[Direction] shortcuts with Ctrl-[Direction], unless there's a program conflict. I used AutoIt scripts mapped to key combinations via PS Hot Keys. Ctrl instead of Alt made it a lot easier to use the commands one handed and I don't use other people's machines all that often anyway.)

Tuesday, June 30, 2009

Removing and Ejecting Disks

Requires: Windows XP Professional

So, you plug in a USB drive, do your stuff, and then you want to take it out. Pretty common today, right? So you've got to go to your taskbar, right click that "Safely Remove Drive" icon, and so on. I thought it was kind of annoying, so I looked for a way to do this without having to use the mouse (and that was free.) And I eventually found it at this site. http://www.uwe-sieber.de/usbstick_e.html His english isn't too great, but he's not a native speaker and it's not -that- hard to understand.

As he says, there are several tools that claim to do this. Don't use them because they don't work correctly. For example, in XP, DevEject fails to let you know if the operation failed. If you google "safely remove usb xp command line" you'll get articles talking about the devcon tool. Don't use that either because devcon causes the device in question to be uninstalled. This is not desired and does NOT cause the device to be "unplugged." So use the tools from http://www.uwe-sieber.de/usbstick_e.html.

So yay, now you can do usb stuff from command line. Sometimes you'll get a failure message. Unless you accidentally specified a non-removable drive, the most likely reason for this is that Windows has "locked" some of the files on the drive. So annoying, especially since you'll not know how to unlock them, since you probably already closed all he programs that were using it. If that's the case, use this program, "Unlocker", to free up those files. It works like a charm and appears in the right click menu for easy use. Download Unlocker: http://ccollomb.free.fr/unlocker/

Sunday, May 24, 2009

Remapping keys for closing windows

Requires: Windows 2000/XP, AutoIt3, and PS Hot Launch.

Really simple tweak today. In Windows, the shortcut to close a window is "Alt-f4." That annoys me. I mean, it takes two hands, the keys are far apart, blah blah blah... Really, this is one of those things that I probably should have just gotten used to, but... I didn't. Instead, I found a way to use "ctrl-down", which works well for me since I'm using "ctrl-(other arrow keys)" for navigating windows explorer. I find it easier and faster to use the right ctrl with the arrow keys for quick navigation. My solution uses an Auto It script and PS Hot Launch.

The AutoIt script is really simple:

      WinClose( "" )

It'll close the program that currently has focus. Simply save that code and map it (using PS Hot Launch) to "ctrl-down." You can use PS Hot Launch to to make up a lot of your own commands and tweak all your keyboard shortcuts without actually changing the keys. The only thing to be careful about is not ruining pre-existing shortcuts.

As I was writing this, I realized the title could be misread to mean closing the Windows Operating System. In case that mistake lead you to read this, I'll give you a tip to close that from Command Line. Simply type in:

      shutdown -s -f -t 0

This'll shut down the computer, not give you program warnings, and do it without a delay. Do "shutdown -?" for more options. Cinchy. You can put the code in a batch file and then map it to a key or put it on your desktop and click on it when you want to shutdown. I think it's a better method than the click through GUI.

Tuesday, March 10, 2009

Limited User Accounts

I'm usually working on a Solaris machine at work, but occasionally I need to use Windows. I don't do much development on it, but I use it a lot for creating presentations, reports, and design documents, as well as sending e-mails. When I use Windows at work (which isn't really that often), I'm forced to use a machine where I've only got a Limited User Account (LUA). I understand the account type is necessary the way we're doing things at work. But it was annoying because the LUA account prevents me from installing a lot of the programs I'm used to having and a lot of the OS tweaks I'm used to doing.

Apparently, there are a bunch of people who purposefully don't use an Administrator account, primarily for safety reasons. They've got a website over at http://nonadmin.editme.com where they explain how they use Windows with an LUA and are still be able to do all their day to day tasks. That website was an excellent resource. While it hasn't convinced me to use an LUA at home, I no longer have any complaints about using it at work. I got all my most important programs installed. I thought I'd share the two most important workarounds for me.

1. Installing DLLs

There's a program called RegSvrEx that will allow you to register your DLLs when you have a LUA. It's a replacement for RegSvr. Instead of registering the DLL globally (which is potentially dangerous for everyone, I guess), it has an option to just register the DLL for your account (which can only be dangerous for you.) So download the program from http://www.codeproject.com/w2k/regsvrex.asp and run it from command line using "RegSvrEx /c [path to dll]".

2. Adding Right Click Options

Notepad sucks. It really, really sucks. Not only will it mess up UNIX text files, it takes forever to open large files, looks really ugly... man, Notepad isn't good for much. As a text editor, I usually use Textpad. I couldn't get Textpad to install with an LUA, so I went with Notepad++, which is also excellent. But everything still opens with Notepad. Bah. This workaround allowed me to add Notepad++ to my right click menu, which saved me from so many "Open With" dialogues. It's really simple to do. Create a "notepadplus.reg" file with the following contents for your preferred editor and then execute it. This script is easily modifiable for whichever program you want to add to your menu. Please note that you will be modifying your registry:
  1. Windows Registry Editor Version 5.00  
  2.   
  3. [HKEY_CLASSES_ROOT\*\shell]  
  4.   
  5. [HKEY_CLASSES_ROOT\*\shell\[texteditor name]]  
  6.   
  7. [HKEY_CLASSES_ROOT\*\shell\[texteditor name]\command]  
  8. @="\"[path to editor, don't forget to escape '\' characters]\" \"%1\""  

Sunday, October 19, 2008

Reactivating Dynamic Drives for Windows XP Professional

Requires: Windows XP Professional and optionally Ruby, AutoIt

Here's a quick thing that I learned and set up. First, the problem. I frequently use a usb external hard drive at home. As a dynamic disk, everytime I plugged the hard drive in I had to right click my computer, select manage, select disk management, select my external hard drive, and reactivate the disk. Or (after I removed the "My Computer" icon from my desktop) control panel->administrative tools->computer management->disk management->external drive->reactivate disk. It's not too much of a hassle, but it is stupidly annoying to have to go through that sequence often. If you have multiple disks that you want to manually individually activate, always have certain dynamic drives plugged in and want them activated at startup, or (like me) you just don't want to touch the mouse if there's another way, then you'd want a way to automate this process. So I found a way to avoid all the mindless clicking.

It's not really anything new. It's just making use of the diskpart command line utility. Here's documentation on diskpart. I wrote a small ruby script to run the diskpart for me. You can use a static batch script and text file to do this as well. In my actual implementation, I have a different ruby script that makes sure I'm activating the "right" disk. But this sample solution will always activate disk 1:
activateDynamicDisk.rb
view plaincopy to clipboardprint?
  1. require 'win32ole'  
  2. f = File.new( "online.txt", "w" )  
  3. f.print( "select disk 1\n" )  
  4. f.print( "online\n" )  
  5. f.close  
  6. au3 = WIN32OLE.new("AutoItX3.Control")  
  7. au3.Run( "diskpart /s c:\online.txt" )  
  8. File.delete( "online.txt" )  
Really easy, eh? You can easily set it up to run every time windows boots up. I should also mention dynamic drives only work with Windows XP Pro, so my external drive is unusable with a home edition. Now, the next trick is figuring out how to run this script whenever I plug the device in. I wonder how that's done.

Wednesday, October 15, 2008

Requirements for Tweaks

On this blog, I'm going to occasionally talk about tweaks I make to my machines (of various OSes.) When I say tweak, I mean a special configuration or short script to make my computer more suited to my needs. So basically a hack, but without the bad connotation people give the word "hack" nowadays.

As I've been reinstalling machines, I've been making notes about what I do to them and thought it would be useful to have an easy to find reference online, so I'll be posting cleaned up versions of these notes. Each tweak requires a certain environment (OS and programs), so I'm going to go over the common requirements in depth in this post. That way, when I reference a program, I'll just link here. I'll add to the following list as needed. Here's the list so far:

Windows XP Professional (SP2/SP3) - This is one of Microsoft's Windows Operating System (OS) versions. I'll leave it up to you to figure out how to get the OS and how to install it. XP Professional is different than XP Home, so the tweaks I describe may not be compatable with both. I use Professional myself and don't have access to a Home machine to test things on.

Windows Vista Ultimate - This is one of Microsoft's Windows Operating System (OS) versions. It's newer than XP. I'll leave it up to you to figure out how to get the OS and how to install it. Vista is different than XP, but many of the tweaks I describe should be compatable with both. The only version I have access to is Ultimate.

Solaris 10 - This is one of Sun's Solaris Operating System (OS) versions. It is UNIX based and is notably different from previous versions due to its zones. This is one of the Operating Systems I use most at work.

AutoIt - Auto It is a freeware automation language for Windows. It allows you to easily simulate a windows user with a script... you can send key presses or text to any windoe application. AutoIt scripts end with au3. AutoDownload an installer from http://www.autoitscript.com/autoit3/

PS Hot Launch - PS Hot Launch is a Windows program that allows you to map keyboard shortcuts to files. Invoking the keyboard shortcut will execute the file specified. For example, you can make ctrl-win-w open microsoft word and win-v open your winamp. Using too many of these is not a good idea because you'll probably start running into conflicts. But for a few applications, this program can work wonders. Play around with it. Download this from: http://www.pssoftlab.com/pshl_info.phtml

Ruby - Ruby is a dynamic, reflective, general purpose object-oriented programming language. It's a scripting language very much like Perl. Ruby scripts end with either rb or rbw (windowless). In order to run ruby scripts, you need the Ruby VM. You can download it from http://www.ruby-lang.org. There are installers for all of the popular Operating Systems under downloads. Once you've installed ruby, add the fxruby gem by running "gem install fxruby" in a command/terminal prompt. Fxruby is what I use for GUIs.

Batch Files - A batch file is a Windows text file, with the extension .bat or .cmd, containing a series of commands intended to be executed by the command interpreter. When a batch file is run, the shell program (usually COMMAND.COM or cmd.exe) reads the file and executes its commands, normally line-by-line. A batch file is analogous to a shell script in Unix-like operating systems. When working in windows, it's very useful knowing how to batch script as it allows you to lots of automation.

Saturday, September 30, 2006

Screen Saving and Locking

I use dual monitors and I liked the windows screensaver that cycles through your images. However, that screensaver only works on one screen (at least for me) and I am using two. I found the google pack screensaver which will get the images on both screens (and do some other nifty stuff, like an photo stacking effect and specifying multiple image directories to draw from.) I use a modified version of the screensaver that removes the google logo and doesn't require you to download the entire google pack.

Here's the link.

If that link doesn't work, use this one.

Oh, and there's another screensaver related thing I did. We all know how to set the screensaver to turn on and lock after "x" minutes. And we (probably) all know how to lock windows manually (I use the built in win+l shortcut myself.) But... how can you turn on the screensaver and lock windows manually?

If you run the screensaver by double-clicking it (or executing the file without any options), it actually runs in its "test" mode, so the computer isn't locked. In order to get it to run AND lock the computer, use a batch file (text file that ends in .bat) with the following text:

::initiate screensaver of choice
"[insert path to google screensaver program; i.e. C:\gbsaver.exe]" /s

::lock the workstation
%windir%\system32\rundll32.exe user32.dll,LockWorkStation
I mapped that batch file to "win+;" using PS Hot Launch and it has worked very well for me; instant screen lock and a nice showing off of pictures to my friends to coworkers. I bet they really apreciate that.

I do realize that since I'm using LCD monitors, screensavers don't really save the screen. With CRT monitors, screensavers changed the image on the monitor so that no image got "burned" into it (my wife's old crt had an error message ghosted into it.) With LCD monitors, it just wastes power and probably wears down the life of the LCD. This tweak was for fun; I have the monitor power off after 10 minutes or so anyway. I mainly use it to show off my cool images and getting rid of the boring lock screen. Also, it helps me not feel so bad about downloading so many wallpapers, but never using them. Read more about screen savers and their history at wikipedia.

Wednesday, September 27, 2006

Changing That Green XP Start Button

Here's all the best information I could gather on changing the look and feel of the Windows XP non-classic start button. You know, that annoyingly green button on your side bar. I'm pretty sure that somewhere there's a program that you can simply run to do this all for you. But these instructions are all "do-it-yourself"... meaning you'll be playing with the registry and system resources. I think it's pretty fun, pretty simple, and gives you a better idea of how Windows works. Have fun and say goodbye to your bright green start button! And good luck trying to think of something better to put there, I just got replaced the button with a line and an all black windows logo icon. And that's all I have to say.

Changing the color of the start button

Changing the text and image on the start button

- Image Replacement tips from Yuki (above link) -

I would like to comment about the shape of the start button icon.

There are some examples of customized start button icon in the web; they all are rectangular in shape. But you notice that Windows default flag icon is not such a shape and it "blends" to the start button.

This blending is produced by an "alpha channel" in the default bitmap image. To see it, open the bitmap in the explorer.exe with ResHacker, choose "Action -> Save(S) [Bitmap : 143 : 10xx]...", and save it as .bmp file. Then you can open it with an image processing program such as Photoshop and see the alpha channel in the channel palette. You can not see it by simple copy and paste from ResHacker to Photoshop.

Alpha channel is a grayscale image hidden in the file that indicates the "opaqueness" of the entire image. White means complete opaque, black means transparent and gray indicates semi-transparent with its darkness.

You can create your own image with an alpha channel like the original. Don't forget to check the "Include alpha channel" checkbox in save dialog of Photoshop. Save your own, replace it with original bitmap in explore.exe and you can have your beautifully "blended", custom shaped start button icon.

The size of default icon is 25 pixels in width and 20 pixels in height for "Luna" theme (ID=143), but you may notice a complete black (transparent) region of 5 pixels width at the rightmost of the image. Apparently, this region is intended to make a space between the icon and the following text. So if you make an icon with no margin (or no alpha channel), the icon sticks to the text. This is not beautiful, of course. So the default size of Luna theme icon can be explained as 20 * 20 pixels with 5 pixels space. Curiously, the default icon for "Classic" theme (ID=176) is 16 * 16 pixels, without any space. Luna theme can be space-consuming. This is probably for considering generalization of wide-screen. The size of icon is not restricted to 25 * 20, so you can create smaller icon instead.

By the way, I think it is dangerous to overwrite explorer.exe without testing. You can test it by Ctrl-Alt-Delete, quit explorer.exe, run your own such as C:\WINDOWS\explorer2.exe as a new task, and see it.

You can rename explorer.exe while it is running. So you can easily rename explorer.exe in simple safe mode with explorer. Command prompt is not necessary. Safe mode is necessary to bypass system file protection. Go to C:\WINDOWS in safe mode, rename explorer.exe to explorer_orig.exe , rename your explorer2.exe to explorer.exe and restart the PC.