PuTTY window is there, although it gets the "transparent" property for some bogus reason. A lighter workaround than the ones I've seen so far is to set visibility back.
The following methods work on 32 bit Vista Home Premium, SP2. YMMV.
Method 1, a short AutoHotkey script:
; Must be launched when putty.exe is already running
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
WinWait, PuTTY Configuration
WinSet, Transparent, 255
Method 2, Powershell script called from batch file (it doesn't need any additional programs):
$definition = @"
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
public static void ShowWin()
IntPtr hwnd = FindWindow("PuTTYConfigBox", "PuTTY Configuration");
SetWindowLong(hwnd, -20, 524288);
add-type -MemberDefinition $definition -Namespace my -Name WinApi
until(Get-Process putty -ErrorAction SilentlyContinue | Select -p Responding)
Then you may call it from a batch file (eg.
PuTTY.bat), placed in the same position where
start "" "%ProgramFiles%\PuTTY\putty.exe"
rem Use %ProgramFiles(x86)% for 32 bit PuTTY on 64 bit Vista
powershell.exe -ex remotesigned -f unhide.ps1
Please see credits on comment below.