Will these macros do the trick for you? I did you WindowManager mentioned above, recompiling it to work for 2008, but still found it a little flakey. Also, I don't use the "Auto Apply Layouts" functionality in WindowManager, so these macros work great for me for switching from dual-monitor working to laptop-only working.
Sub DualMonitorConfiguration_Save()
SaveWindowConfiguration("Dual Monitor Layout")
End Sub
Sub DualMonitorConfiguration_Load()
LoadWindowConfiguration("Dual Monitor Layout")
End Sub
Sub LaptopOnlyConfiguration_Save()
SaveWindowConfiguration("Laptop Only Layout")
End Sub
Sub LaptopOnlyConfiguration_Load()
LoadWindowConfiguration("Laptop Only Layout")
End Sub
Private Sub SaveWindowConfiguration(ByVal configName As String)
Dim selectedConfig As WindowConfiguration
selectedConfig = FindWindowConfiguration(configName)
If selectedConfig Is Nothing Then
selectedConfig = DTE.WindowConfigurations.Add(configName)
End If
selectedConfig.Update()
DTE.StatusBar.Text = "Window configuration saved: " & configName
End Sub
Sub LoadWindowConfiguration(ByVal configName As String)
Dim selectedConfig As WindowConfiguration
selectedConfig = FindWindowConfiguration(configName)
If selectedConfig Is Nothing Then
MsgBox("Window Configuration """ & configName & """ not found.")
Else
selectedConfig.Apply()
DTE.StatusBar.Text = "Window configuration applied: " & configName
End If
End Sub
Private Function FindWindowConfiguration(ByVal name As String) As WindowConfiguration
Dim selectedLayout As WindowConfiguration
For Each config As WindowConfiguration In DTE.WindowConfigurations
If config.Name = name Then
Return config
End If
Next
Return Nothing
End Function