PowerGUI QuickConsole

One thing that really drives me nuts is waiting for PowerShell to open. It takes a lot longer than command prompt sometimes. Additionally, I am always trying to close out of applications I am not currently using as to not clutter my task bar. This makes the slowness even more annoying for me! It might seem wacky but I can’t help it! :)

After talking about the PowerGUI Add-On API, I got to thinking that it would be pretty slick to use the PowerGUI console out side of the script editor. In addition it would be nice to tuck it away in the notification tray for future use. This morning I spent some time and created the PowerGUI QuickConsole.

The QuickConsole simply hosts the PowerGUI Script Editor console window in a friendly, dedicated window. Upon minimization, it will tuck itself into the notification tray where it can be quickly popped out for more PowerShell fun. I’ve attached the source to this blog post. Feel free to modify, extend and distribute! You’ll need to have PowerGUI 3.1 installed for this to work.

A shout out to Philipp Sumi for his great WPF NotifyIcon project! I used it for the tray icon.

QuickConsole Source

QuickConsole Binaries

You can leave a response, or trackback from your own site.

2 Responses to “PowerGUI QuickConsole”

  1. Cliff Williams says:

    Crashes on 64 bit Windows 7

    Faulting application name: QuickConsole.exe, version: 1.0.0.0, time stamp: 0x4eda89c6
    Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e21213c
    Exception code: 0xe0434352
    Fault offset: 0x000000000000cacd
    Faulting process id: 0x13c8
    Faulting application start time: 0x01cd0da90ee62955
    Faulting application path: C:\Program Files (x86)\PowerGUI\QuickConsole\QuickConsole.exe
    Faulting module path: C:\Windows\system32\KERNELBASE.dll
    Report Id: 4cc7df01-799c-11e1-91f9-5c260a76633a

    also

    Application: QuickConsole.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.Windows.Markup.XamlParseException
    Stack:
    at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
    at System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
    at System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
    at System.Windows.Application.LoadBamlStreamWithSyncInfo(System.IO.Stream, System.Windows.Markup.ParserContext)
    at System.Windows.Application.DoStartup()
    at System.Windows.Application.b__1(System.Object)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
    at System.Windows.Threading.Dispatcher.WrappedInvoke(System.Delegate, System.Object, Int32, System.Delegate)
    at System.Windows.Threading.DispatcherOperation.InvokeImpl()
    at System.Threading.ExecutionContext.runTryCode(System.Object)
    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
    at System.Windows.Threading.DispatcherOperation.Invoke()
    at System.Windows.Threading.Dispatcher.ProcessQueue()
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
    at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
    at System.Windows.Threading.Dispatcher.WrappedInvoke(System.Delegate, System.Object, Int32, System.Delegate)
    at System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
    at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
    at System.Windows.Application.RunInternal(System.Windows.Window)

Leave a Reply


+ 6 = fourteen