zLauncher v7.x
Introduction
Broadly speaking, the purpose of zLauncher is to present a pop-up menu of launchable items (executables, UWP/“Metro” apps, scripts, documents, folders, shortcuts, URLs, etc.) specified in an INI file by either one (or both) of two methods:
(1) as individually specified items and submenus of items, using a syntax described elsewhere in this help file but which in its simplest form really comes down to item-name = what-to-launch, -or-
(2) as automatically created submenus of launchable .LNK shortcuts when entries in the INI file point in a particular way to their root folders, i.e. this feature “absorbs” all the shortcuts in and under a given root folder, like a Start menu or Desktop folder, and presents it as a submenu of items and submenus. As of zLauncher v4.x, two separate root folders can be specified together to merge their .LNK shortcuts into a single submenu tree. Also starting in v4.x, a new type of automatic submenu can be created consisting of all the UWP/“Metro” apps available to the user without having to specify each one individually. Two additional types of automatic submenus can be created starting in v7.x: a submenu consisting of all the Control Panel items available in the current Windows version, and submenus containing all the favorites/bookmarks in the default (or any specified) Microsoft Edge or Google Chrome profile. These capabilities are described in the detailed INI Syntax page of this help file.
When first run, zLauncher will offer to provide and use a starter INI file that creates the sample menu shown below (hummingbird not included 😉), demonstrating many features and ready for your own subsequent modifications.


Installation

zLauncher is fully portable and requires no traditional “installation”. However, as it consists of a small number of compressed executables which anti-virus programs (and Windows Defender SmartScreen) tend to regard with suspicion, zLauncher is now distributed exclusively as a signed and uncompressed installation EXE the only function of which is to extract the program's files to the folder of your choice and, optionally, to configure the program to launch at logon for the installing user. While zLauncher will run fine from any location you select, choosing a folder under %ProgramFiles% (such as C:\Program Files\zLauncher) is highly recommended as it will grant it a Windows capability known as “UIAccess” that allows its “convenience features”, such as “paste as keystrokes” and “always on top” among many others, to be applied to elevated app windows (without zLauncher itself running elevated, i.e. “as Admin”, which in any case is not recommended).

The EXE download (zLauncherSetup.exe – get it from https://vCloudInfo.com/zLauncher) extracts 4 files: zLauncher.exe and zLauncher-x64.exe, the main executables (use the one that matches your operating system bitness), zLauncherMsg.exe, a helper app that must be kept in the same folder as the others, and zLauncher.chm, this help file.

Info Good to know: Files downloaded from the Internet by most browsers will have a so-called “Mark-Of-The-Web” (“MOTW”) attached, basically a reminder that it came from the web (implemented on Windows as an NTFS Alternate Data Stream). When an EXE file with an MOTW is executed, Windows will display a scary warning and will block the execution until the message is acknowledged. For this reason, it is best to first remove zLauncherSetup.exe's MOTW before executing it, which is done via the Unblock option in its Properties dialog – if the Unblock option is not presented, then the file (most likely) has no attached MOTW.

zLauncher was developed and tested on Windows 10 x86/x64 and Windows 11, and fully tested on Windows 7 x86/x64 as well as on Windows Server versions 2008 R2, 2019, and 2022, including multi-user Remote Desktop Services environments. Obviously, any UWP / “Metro” items defined in the INI file will fail to launch on Windows 7, and for the most part on Windows Server as well given their limited UWP support. One difference to note on Windows 11 due to its "simplified" (aka immersive) shell context menus is that Show more options (or Shift + F10 or Shift + Right-Click) is usually needed to access the full set of context menu entries that zLauncher optionally adds to shell items while it's running, as is in fact still the case for the context menu entries added by most third-party application. However, as of v6.x, a new feature allows an item's expanded “classic” context menu to be invoked directly using only the mouse, either via middle-click (the default) or via right-click, in the latter case replacing the simplified context menu (which in turn is then assigned to middle-click). These two options (and a third one corresponding to neither) are found in zLauncher's Options menu and the choice, once made, is persistent in subsequent zLauncher runs until changed.

Mail Use the e-mail link in the About zLauncher dialog (currently jacques@vcloudinfo.com) or @JacqBens on X/Twitter to report any issues or to make suggestions for future zLauncher versions.

Warning Important Note: Without getting into a lot of legalese, zLauncher was developed for the use and amusement of its author, Jacques Bensimon, who makes it freely available subject to every usual (and unusual!) disclaimer regarding its safety and compatibility in any particular environment. Its executables are currently compressed using MPRESS, which may trigger warnings from certain anti-virus programs. If this occurs and you're uncomfortable about creating an exclusion for zLauncher, simply delete the program files and we'll nonetheless remain friends.

Version History

v7.x introduces the following improvements and features:
  • a powerful "Universal Find" capability that can search for files and folders under any root folder (generally much faster than Windows does) or for text in any Edit or RichEdit field in any application window, optionally using regular expressions in either scenario,
  • hotkey-driven screenshot capture to PNG files of the entire display, the active window, the window under the mouse, selected screen regions, or the last captured region – this feature integrates with the new image viewer (below) for reviewing past captures,
  • an image files viewer targeting the currently selected files or set of textual file paths, including indirect @strings (that resolve to an image file path),
  • a live text file viewer (especially useful on active log files), a simple hex file viewer, and a live clipboard viewer,
  • the ability to add a "Control Panel" submenu that lists all available control panels (as was available in pre-Win10 Start menus),
  • the ability to add submenus containing all the Edge favorites or Chrome bookmarks from any specified browser profile,
  • snippets can now be organized into categories displayed as submenus off the main Snippets menu,
  • optional strong encryption on disk of the user snippets file with selectable unlock passphrase, making snippets viable for storing & retrieving passwords or other sensitive information,
  • a "hotsnip" feature for expanding pre-defined abbreviations into full snippets while typing,
  • the ability while typing in any window to insert the full path of any user or public shell folder (for example your Downloads folder's) from a pop-up menu, with either explicit or expanded environment variables,
  • the ability while typing in any window to enter a math expression to be replaced by its result when you type =,
  • the ability to spell-check the selected text in the current window (regardless of its nature) with optional paste back of the corrected text,
  • a feature to export the current clipboard to another machine's specified user profile and for that profile's user to then import it,
  • a hotkey that displays all processes currently using a given file (potentially preventing its modification or deletion), including their full executable paths,
  • a hotkey that displays the process tree (all ancestors) of a given process either from a Task Manager selection or from a Process ID,
  • a hotkey that displays a file's full set of attributes or decodes a given 32-bit attributes value (DWORD),
  • full attributes and security zone information are now available via the Properties+ (Ctrl+Alt+?) feature,
  • a timestamp converter to/from Unix Epoch and Windows FILETIME (QWORD) timestamps,
  • hotkeys to move the currently active window to the location of the mouse pointer, even if the window is off-screen and not presently visible,
  • a hotkey to close the active window and all its matching windows, useful when not using the option to combine taskbar buttons,
  • an "RGB color picker" that continuously displays the coordinates and color of the pixel under the mouse,
  • a new non-standard RegEx replacement syntax that allows calculated results based on the captured strings,
  • improvements to several existing features, including multiple code efficiency enhancements.
v6.x introduced the following improvements and features:
  • much improved regional support: the item names in shortcut submenus now match the names that Windows uses in the current UI language, and all zLauncher features that rely in some way on recognizing certain shell folders and dialogs now work as expected with non-English UI languages,
  • Ctrl + Shift + N for an IPv4 subnet calculator,
  • a “Create/Pin a submenu shortcut” item in the zLauncher Options menu allows creating shortcuts to any zLauncher submenu and pinning them to the Taskbar, thus creating the equivalent of toolbars (a lost feature in Windows 11),
  • a “Select Settings URI” dialog in the zLauncher Options menu to list, copy, or launch the identifier of any available panel in the Settings app of your specific Windows 10 or 11 build,
  • a “Hotkey Control & Reference” dialog in the Options menu to enable/disable specific hotkeys in case of conflict with other apps’ hotkeys, either temporarily or permanently until changed,
  • the Ctrl + Shift + ? "Properties+" feature now displays the number of files, directories, and total bytes in a folder, much faster than Explorer does, especially on very large folders,
  • “Show/Hide all tray icons” in the Options menu (another feature lost in Windows 11),
  • new shell context menu items to browse folders and open files "as administrator",
  • the “Paste snippet” feature now supports multiple selectable modes, including standard Paste and Paste-as-Keystrokes (“PaK”), either fast or slow and with or without a delay,
  • most zLauncher hotkey convenience features can now also be defined as zLauncher menu items (“direct actions”) and can thus be invoked without using the keyboard,
  • the ability already mentioned above to directly invoke expanded Explorer context menus via middle-click or right-click,
  • further code optimizations, such as improved icon selections and faster initial menu build at launch.
v5.x introduced the following improvements and features:
  • a boatload of new “convenience features”: (see Convenience Items for details and corresponding hotkeys):
    • Regular Expression Search & Replace,
    • Sorting Tool,
    • Date/Time Calculator,
    • Clock/Timer,
    • “Snippets” feature,
    • Window Information,
    • Characters/Lines Count,
    • Enhanced Properties,
    • Copy as Text stripping HTML tags,
    • Indirect “@string” resolution,
    • zLauncher Hotkeys Quick Reference.
  • full Windows 11 support,
  • Dark Mode menus (based on current default app mode),
  • full Unicode support in the 32-bit version and in all features of both versions,
  • context-sensitive Help via F1 in many dialogs,
  • additional details in System Info dialog,
  • many code improvements and optimizations.
v4.x introduced the following improvements and features:
  • signed executables and “UIAccess”, which in most scenarios allow several convenience features to act upon elevated app windows,
  • shortcuts from two separate folder trees can now be merged into a single zLauncher “shortcut submenu” (see INI Syntax),
  • a new “SUB” specification can be used to create a submenu containing all “Metro” apps available to the user (see INI Syntax),
  • files can now be dragged from Explorer to specific zLauncher hot zones to drop their paths into common types of console windows, even elevated ones (see Convenience Items),
  • the mouse wheel can now be used to scroll through zLauncher menus and middle-click to select the highlighted item (see Displaying the Menu),
  • Ctrl + Shift + H to hide the active window, and Ctrl + Alt + H to unhide one or all previously hidden windows (see Convenience Items),
  • various code and UI improvements, including reminder tooltips when hovering over or dragging into a hot zone.
v3.x introduced the following features:
  • Ctrl + Shift + V / Ctrl + Alt + V for “paste as keystrokes” (see Convenience Items),
  • quick addition of temporary or permanent zLauncher menu items without manually editing the INI file (see INI Editing),
  • Run with arguments feature extended to all executable types, shortcuts, and certain script types (see Convenience Items),
  • ability to bring up the local taskbar and Start button on top of full-screen apps and remote sessions (see Displaying the Menu),
  • right-clicking zLauncher menu items to display their properties (see Displaying the Menu),
  • minor code optimizations.
v2.x introduced the following features:
  • Thin Mode, which lets you configure a machine as a limited-purpose “thin client” device,
  • the ability to add temporary items to the zLauncher menu (via its context menu),
  • displaying the Run dialog (from the context menu),
  • additional “convenience items” Run with arguments for .exe files and “copy as unformatted text” hotkey,
  • a new System Info button in the About dialog to report session and display information, including monitor resolutions, color depth, and scaling factor,
  • improved icon selection for folders customized via a desktop.ini file and for certain UWP apps.
v1.x, the initial release.


Displaying the Menu
For easy access to one’s frequently used apps and utilities without fumbling for the Start menu or Taskbar pinned items, the driving principle behind zLauncher was that it be possible to make its menu appear easily and in a variety of ways no matter what else is running on the Windows desktop and what application window currently has focus, even a full-screen one, and that it should always pop up near the location of the mouse pointer once invoked. With that in mind, the principal way to invoke the menu is to right-click at any extreme edge of the screen, i.e. after moving the mouse as far as it will go up, down, left, or right, except for a chunk of the corners. Specifically, 200 pixels are excluded on both ends of the four 1-pixel wide so-called “hot zones”. For example, on a 1080-pixel vertical screen edge, the hot zone consists of its middle 680 pixels.
Things get only slightly more complicated with multiple monitors: since there’s essentially zero chance of consistently clicking the last pixel at the boundary between two monitors, the hot zones are defined in the same fashion but only at the four edges of the “virtual rectangle” that encompasses all the monitors, even if they don’t actually form a complete rectangle because of different resolutions or orientations. In order to show the hot zones of a particular monitor arrangement, run zLauncher with the parameters /Visible color (color is a primary color name like Red, Yellow, Green, Blue, etc., ideally one that contrasts reasonably well with the screen background). When the /Visible option is used, the hot zones become … well, visible (they’re normally transparent) and also become 3-pixels wide. Once the hot zone locations are learned for a particular monitor arrangement, run zLauncher without this option.
Other aspects of the hot zones worth mentioning are that (1) they keep themselves topmost on the screen (without ever stealing focus), checking about every 5 seconds, so neither the taskbar nor any full-screen app or remote session can in theory ever make them unavailable, (2) they are automatically reconfigured at the correct new locations whenever the screen resolution or scaling factor (DPI setting) changes, (3) they can be temporarily disabled via the zLauncher tray icon’s context menu, and (4) an INI file option allows selecting which among the possible hot zones are created, from all four (the default) to none.
In addition to the hot zones, there are several other ways to make the zLauncher menu pop up. Try them all, see which ones are most to your taste:
  • the “Browse Back” side button on many mice, the one closest to your wrist (admit it, you never use it! 😉), by far my favorite method and the reason I'll never again buy a mouse without side buttons,
  • the Win + Z hotkey,
  • click on the “Z” tray icon,
  • middle-click on the Start button (and, in Windows 11 only, on any empty area of the taskbar), and
  • the Show zLauncher menu item near the bottom of the context menu of every file, folder, drive, and folder’s “empty space”, including the Desktop’s, whether in an Explorer folder or a standard Open/Save dialog. This item also appears in the Start menu.
All but the last method above fall in the category of “hotkeys” and can all be temporarily disabled via the tray icon’s context menu , individually via the Hotkey Control & Reference dialog, or permanently via an INI file option. The last method is one of several “shell items” that only exist while zLauncher is running and that can be disabled entirely via an INI file option.
Note 1: holding down Shift while right-clicking a "Hot Zone" or while clicking the “Browse Back” side mouse button (if available) will temporarily display the local taskbar (including the Start button) on top of full-screen windows (including remote sessions) rather than display the zLauncher menu. This is useful to access the local Start menu and local apps obscured by full-screen remote sessions without having to minimize the entire session.
Note 2: right-clicking a zLauncher menu item will display its properties (executable, parameters, etc.) rather than launch it.
Note 3: holding down Ctrl while clicking a zLauncher menu item will attempt to launch it elevated (i.e. “as Admin”). If on the other hand the item was defined in the INI file to run elevated, this will have the opposite effect and a “normal” launch will be attempted.
Starting in v4.x, zLauncher menus can be navigated using the mouse wheel to scroll through their items and the middle-button to select the currently highlighted item. Note that the mouse must be held still when using this feature, as any movement will immediately bring the highlight back to the menu item currently under the mouse (a Windows behavior).


INI Location
When it starts, zLauncher expects to find its zLauncher.ini in one of the following three locations, in decreasing priority order:
  1. In its working directory at launch. This allows running the program with different INI files (i.e. different menu definitions and options) at different times by using different zLauncher shortcuts each with its own “Start in:” location, or via batch Start commands with different /D working directory specifications. When a new instance of zLauncher starts, it automatically replaces the currently running instance, which makes it easy to switch among different menu definitions.
  2. In the user’s %AppData%\zLauncher directory, a private location that typically (but not necessarily) corresponds to “C:\Users\username\AppData\Roaming\zLauncher”. This allows a common zLauncher shortcut to provide a different custom menu to each user.
  3. In zLauncher’s own program directory, i.e. the directory that contains the zLauncher executables. If this last option is used to provide a common menu to multiple users, steps should be taken to prevent competing modifications to the INI file, via security permissions on the INI file and/or via the INI option AllowEditINI=N which is described on the INI Options page of this help file.
If a zLauncher.ini is not found in one of the above three locations, the program will offer to create and use a (private) starter INI in the second location, %AppData%\zLauncher. It creates the sample menu shown on the Introduction page.


INI Editing
zLauncher.ini is a plain text file that can be edited with your text editor of choice. If it must contain any non-ANSI characters, such as letters from a non-Roman alphabet or exotic special characters, save the file with Unicode encoding, sometimes called UTF-16 or UTF-16 LE depending on the editor – UTF-8-encoded INI files are not fully supported by Windows, so ANSI and Unicode encodings are the only reliable options. Unicode is recommended.
To simplify the process of locating and editing the currently active INI file, the zLauncher tray icon's right-click context menu, also known as the zLauncher Options menu, by default offers the following (highlighted) items:
The Edit zLauncher INI item opens the INI file that was used to create its current menu in whatever editor is currently associated with .ini files, typically Notepad. Since the INI file is only used at program start, it can be freely modified while the program is running, and INI changes will only take effect the next time zLauncher starts. This is most conveniently accomplished via the Restart zLauncher item.
While editing the INI, which typically involves adding or modifying menu item definitions, the five Select … -> Clipboard context menu items highlighted above come in handy: since item definitions involve specifying files (executables, documents, etc.) and sometimes folders, icons, UWP/AppX apps (which the menu labels “shell apps”), and Settings panels, these options present appropriate dialogs to select each of the five types of items and place the eventual selection on the clipboard, ready for pasting into the INI file.
Select shell app -> Clipboard merits further discussion: it presents a system-generated virtual folder that displays not only all the available UWP/AppX apps but also all the “traditional” desktop apps that happen to have shortcuts in the Start menu. When a selection is made (by right-clicking an app and selecting the -> Clipboard option), a special “launch string” of the form shell:AppsFolder\something is placed on the clipboard, ready for pasting into the INI file. For example, the launch string for the Alarms & Clocks applet is shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App. Note the “!” in the string: if there isn’t one in the launch string of the selected app, then that app is not a UWP app and would best be specified “normally” in the INI file (i.e. via its .exe). While functional, the launch string for a traditional non-UWP app sometimes makes its target unclear, prevents zLauncher from automatically determining an appropriate icon for it, and eliminates the ability to pass it parameters, to specify a working directory, to launch it minimized / maximized / hidden, or “as admin” or “as another user”. Bottom line, using Select shell app -> Clipboard for specifying a traditional desktop app is probably best avoided.
Select Settings URI -> Clipboard, new in v6.x, presents a dialog listing the identifiers (“URIs”) of all the different Settings panels potentially available within the running Windows 10 or 11 build. These URIs are of the form ms-settings:something and can be used as the targets of zLauncher menu items, ideal for panels you need to access frequently. For example, the Windows Update Advanced Options panel is ms-settings:windowsupdate-options. The dialog has a Filter option to only show URIs containing some specified text, and can also be used to test-launch a selected URI to confirm its target.

As of zLauncher v3.x, new items (executables, scripts, documents, etc.) can be quickly added to the zLauncher menu without explicitly editing the INI file: this can be done via their Explorer context menu's Add to zLauncher menu item or, in the case of the active process with focus, via the Ctrl + Shift + Z hotkey. The resulting dialog allows making the new menu item temporary (it will appear in a submenu named $Temporary and will disappear the next time zLauncher is started from scratch) or permanent, in a submenu named $Automatic which will be stored in the INI file. If desired, items in the [$Automatic] submenu can later be modified, deleted, or moved to different submenus by editing the INI file.

The Options Menu
In addition to right-clicking the zLauncher tray icon, the Options menu shown above can be displayed in two other ways:
  • via the zLauncher Options item automatically added to the bottom of the zLauncher menu (see the example on the Introduction page), and
  • by clicking the “Browse Forward” side button on many mice, the one furthest from your wrist (yeah, you don't use that one either! 😉)
Among other items of interest available in the Options menu (shown above) which are not described elsewhere are the following:
  • Create/Pin a submenu shortcut allows creating shortcuts to any zLauncher submenus and optionally pinning them to the Taskbar, thus creating the equivalent of toolbars (especially convenient in Windows 11 which lacks toolbars),

    Pin Submenu

  • Live Clipboard View continuously displays the clipboard's content in a text window (and if the clipboard contains an image, a Show button will display the image in zLauncher's Image Viewer),
  • Show RGB Color Picker continuously displays the mouse pointer's pixel position and RGB color values in a small tooltip (until dismissed via Hide RGB Color Picker),
  • Show Run Dialog displays the standard Run dialog close to the mouse pointer's position,
  • Expanded context menus via ... can be used to display the full classic context menu of Explorer items using either Middle-click (the default) or Right-click – if the Neither option is selected, then Shift+F10 or Shift+Right-Click can be used to display full context menus (instead of the Show more options item in Windows 11's simplified context menu),
  • Show/Hide all tray icons can be used to immediately show or hide all icons in the Taskbar's notification area – these items only appear on Windows 11,
  • Key Identification Tool brings up a small window that can be used with unfamiliar keyboards (such as Mac and non-US keyboards) to locate keys corresponding to Ctrl, Alt, Win, special characters, etc.,
  • About zLauncher displays a dialog showing the zLauncher version and contact information, as well as a System Info button that provides information that may be useful when seeking support or for other purposes.


INI Options
In addition to menu item definitions, the INI file can include an optional [$Options] section to override the defaults shown below:
[$Options]
HotZones = TBLR
HotZoneTips = Y
AllowEditINI = Y
Hotkeys = Y
ShellItems = Y
ThinMode = N
ThinApp =
ThinExit =
  • HotZones selects which hot zones to create (Top, Bottom, Left, and/or Right, in any order), for example HotZones=LR for only the Left and Right screen edges, and HotZones= for none of them.
  • HotZoneTips=N would disable the display of the “Right-click for zLauncher menu” pop-up tooltip shown whenever the mouse is hovering over a hot zone.
  • AllowEditINI=N would remove Edit zLauncher INI and its five related Select … options from the tray context menu, along with Add a menu item directly and Show Run dialog.
  • Hotkeys=N would disable not only the previously described Win+Z hotkey and mouse-based methods of displaying the zLauncher menu (other than hot zones), but also the many “convenience hotkeys” described elsewhere in this help file. A better option capable of disabling only selected hotkeys is provided by the Hotkey Control & Reference dialog shown here.
  • ShellItems=N would eliminate the previously described Show zLauncher menu shell context menu items along with several other convenience shell items described here.
  • ThinMode / ThinApp / ThinExit – see the "Thin Mode" section below for details.
Note that simultaneously turning off hot zones, hotkeys, and shell items via these options would leave clicking the tray icon as the only remaining way to display the zLauncher menu. So much for easy access!
Note also a good use of the HotZones option: by default, when simultaneously running zLauncher on both a client machine and in a full-screen remote session (via any number of technologies from Microsoft, Citrix, VMware, etc.) with all hot zones enabled, the client machine’s hot zones always win, so right-clicking any screen edge always pops up the client’s menu, not the remote session’s. By, for example, using HotZones=RL on the client and HotZones=T in the session, both menus can now be accessed via hot zones by going either to the right/left edges of the screen for the local menu or to the top edge for the session menu. This will even work with multiple full-screen remote sessions since their hot zones can’t interfere with each other.
On the subject of remote sessions, zLauncher always attempts to “activate” (i.e. bring to the front and give focus to) whatever application window it just launched, so when used within a full-screen remote session to launch a local application via a client hot zone, the application window will generally appear above the remote session rather than stay hidden behind it, which is a frequently requested and potentially very useful capability. Clicking anywhere within the remote session will immediately reactivate it and likely obscure any local windows launched in this manner.
Thin Mode
When Thin Mode is enabled (via ThinMode=Y in the [$Options] section), zLauncher becomes suitable for use as an alternative Windows shell, replacing Explorer.exe. This would be enforced via the "Custom User Interface" user group policy setting, and would typically be used to convert (for users targeted by the policy) a standard Windows machine into a “thin client” device designed only to access a corporate remote computing system such as Microsoft AVD or Windows 365, Citrix Virtual Apps & Desktops, VMWare Horizon, etc. Specifically, with Thin Mode enabled, zLauncher behavior changes in the following ways:
  • If a non-empty ThinApp entry is specified (using the standard zLauncher launch item syntax), this item will automatically be launched when zLauncher starts. For “thin client” purposes, this would typically be either a pre-configured client application used to access the remote system, (Microsoft Remote Desktop, Citrix Workspace, VMware Horizon Client, etc.) or a browser URL to a corporate portal from which remote sessions can be launched.
  • If a ThinExit entry specifies either Logoff, Reboot (or Restart), or Shutdown (or Powerdown), the specified action will be performed if either the originally launched ThinApp item (if any) or zLauncher itself is closed or terminated. Any still running remote session(s) will typically be disconnected in that case. NOTE: If one of these "ThinExit" actions is specified, do NOT use a UWP/Metro app (such as the original Edge browser in older Windows 10 builds, or a Store version of the applicable remote computing client) as the auto-launch "ThinApp" – zLauncher cannot reliably track such apps and the specified exit action will therefore be performed immediately upon launching the app!
  • Before launching any UWP app (if any are made available to users via zLauncher, for example the Settings app), zLauncher will check whether Explorer is currently running (a requirement to activate UWP apps) and if not, will first start a hidden instance of Explorer. This ability to launch UWP applets is typically missing from thin client shell replacements.
If ThinMode is enabled without specifying a ThinApp auto-launch item or a ThinExit action, the last item above is the only thing that changes in zLauncher's behavior, which you may find useful in other circumstances where Explorer might not be currently running.

Note to Administrators: For use as a thin client shell, zLauncher will likely need to be combined with additional "lockdown" group policies to restrict possible user actions. Also consider carefully what launch items to make available via zLauncher's menu (device-related control panels & Settings would be typical), and which of its options to possibly disable (such as INI editing, some or all hotkeys, etc.) For simplicity and consistency when implementing Thin Mode, a meticulously constructed zLauncher.ini stored in zLauncher's own program folder and protected from user modification is probably the best option.


INI Syntax: Populating the zLauncher Menu
This page describes the syntax for adding individual items and submenus (including “shortcut” and “Metro” submenus) to zLauncher's INI file.
The actual menu definition starts with a mandatory [Main] section, which can be anywhere in the INI file. Within the [Main] section and in any [submenu] section, a standard menu item has the following syntax, consisting of up to 5 fields separated by the | (vertical bar) character:

Item Name = executable or verb | switches/parameters/document/URL/folder | working_directory | Min, Max or Hide option | icon_to_use

  • Most of the 5 fields above are optional, but at least the 1st or 2nd must be provided. Spaces around the "=" and "|" characters improve readability but are optional and ignored.
  • A full path must be used in the 1st field if the executable (.exe, .com, .cpl, or .scr) isn't either found in the system %PATH% or “known” to the Windows shell (for example via an App Paths Registry key).
  • Double-quotes are unnecessary and ignored in all but the 2nd field, in case the command syntax requires them.
  • Windows 10/11 UWP ("Metro") & MSIX-installed apps are specified in the 1st field with a "launch string" of the form shell:AppsFolder\PackageFamilyName!AppID, and only the 5th (icon) field may also be used in that case. Use the zLauncher tray icon's right-click + Select shell app -> Clipboard feature to obtain the correct launch string for any UWP/MSIX app.
  • Scripts (like .cmd, .vbs, .ps1, etc.), shortcuts, .msc consoles, etc. are considered documents and are specified in the 2nd field. As with all documents, the 1st field is optional in these cases if the file type is associated with an appropriate application, which is generally the case for most script types.
  • If the 2nd field is the path to a file, the 1st field can consist of a shell verb (like properties, edit, print, etc.), if the verb applies to the file's type (or, like open, to all types).
  • The 1st field, even if otherwise empty, can start with *A followed by a single space to launch the app or script elevated (i.e. as Admin), if UAC is enabled.
  • The 1st field, even if otherwise empty, can start with *U followed by a single space to launch as a different user. A credentials prompt will be displayed when the item is launched.
  • If the 2nd field (parameters) must contain the pipe character |, typically when CMD.exe or PowerShell.exe is the executable, it needs to be entered as ^| to not be interpreted as a | field separator.
  • If an item name (on the left of the = sign) contains an ampersand, it needs to be entered twice to be displayed correctly in the menu: for example, Snip && Sketch = ...
Special item codes:

SEP = Adds a horizontal SEParator line at this point of the current menu or submenu.
COL = Breaks up the current menu into another COLumn at this point.
SUB = submenu name [| *display name] Inserts a SUBmenu at this point. A [submenu name] section should then be provided in the INI file, otherwise the submenu will be empty. A rarely necessary optional display name can be provided (preceded by a vertical bar and asterisk) to override the submenu name, for example if two different submenus must have the same display name.
or
SUB = submenu name | folder_path Inserts a “shortcut submenu” that will present every .LNK shortcut in the entire folder_path tree as items and submenus. There is no need to create a corresponding [submenu name] section in the INI file when defining a shortcut submenu.
or
SUB = submenu name | folder_path_1 | folder_path_2 Inserts a “shortcut submenu” that combines the .LNK shortcuts in both specified folder path trees as items and submenus. If a same-named item is found at the same location in both folder trees, the one in the second specified folder will be the one presented in the submenu (i.e. folder_path_2 has priority over folder_path_1).
or
SUB = submenu name | @Metro Inserts a submenu that automatically presents all UWP/Metro apps (including Store-delivered desktop apps) available to the user. As above, there is no need to create a corresponding [submenu name] section in the INI file when using this feature. Note that the app enumeration is performed internally via PowerShell, so a user block on executing PowerShell commands would result here in an empty submenu.
or
SUB = submenu name | @CPanels Inserts a submenu that automatically presents all the control panels registered in the current Windows version. Again, there is no need to create a corresponding [submenu name] section in the INI file when using this feature. Note that some control panels may be listed that have no effect when invoked (despite being registered).
or
SUB = submenu name | @EdgeFavs or @ChromeFavs [| profile] Inserts a submenu that automatically presents all the favorites (bookmarks) defined in the default Microsoft Edge (Google Chrome) browser profile. To specify a different profile than the default, add a vertical bar followed either by the full path to the browser profile folder (which must contain a file named Bookmarks) or only the profile folder name (less reliable) or the profile's display name used within the browser.
  • Here again, if a submenu name contains an ampersand, it needs to be entered twice to be displayed correctly in the menu, both in the SUB = line and, if applicable, in the corresponding [submenu name] section header.
Special icon codes, for use as the optional 5th field in an item definition line:

DIR A generic directory/folder icon will be used.
NET A generic network folder icon will be used.
DRV A drive icon will be used, automatically chosen based on the drive type of the 2nd field.
URL A generic URL icon will be used, a globe.
REG The registered icon for the file type of the 2nd field will be used. This will be tried automatically if the 1st field is empty or only consists of a verb.
  • In addition to the above special codes, an icon can be specified either as a bare filepath (.ico, .exe, .dll, etc.), or as filepath,# (,0 = 1st icon, ,1 = 2nd, ...), or as filepath,-# (a negative # is a resource ID number).
  • When a specified icon isn't found or one can't be determined automatically, a "?" or generic shortcut icon will be used, depending on the item, which may still be launchable if otherwise well specified.
  • Specifying something in the 5th field (icon) always overrides the automatic icon determination that zLauncher attempts otherwise.
Should all the above options appear overwhelming, remember that a zLauncher INI file (menu definition) need not be complex. Here’s a tiny example that creates a fully functional menu with a submenu. The sample INI provided upon first run is much more involved to demonstrate many of the available features.
[Main]
Notepad = notepad.exe
Calculator = calc.exe
SUB = Other

[Other]
Paint = mspaint.exe
Character Map = charmap.exe
which creates this menu: SimpleMenu
Or try this fun example that in just a few lines makes practically every Desktop and Start menu shortcut, UWP/“Metro” app, and “WinX” (Start button right-click menu) item available from the zLauncher pop-up menu (assuming certain profile subfolders aren't being redirected):
[Main]
SUB = Desktop | %Public%\Desktop | %UserProfile%\Desktop
SUB = Programs | %ProgramData%\Microsoft\Windows\Start Menu\Programs | %AppData%\Microsoft\Windows\Start Menu\Programs
SUB = Apps | @Metro
SUB = WinX | %LocalAppData%\Microsoft\Windows\WinX
which creates this menu: FunMenu
The above two menu examples illustrate extremes of two “philosophies” of zLauncher usage: the first makes just a few frequently used tools available from an easily popped-up menu with little further navigation, while the other makes practically every available app and configuration tool available at the cost of more menu & submenu navigation. Most users will over time likely settle somewhere between these two extremes, but all will have equal access to the “convenience features” described here.


“Convenience Items”

The zLauncher extras described on this page are unrelated to its core “mission”, presenting a menu of launchable items, but provide useful capabilities that might otherwise have to be provided by separate utilities. Most are hotkeys, which as mentioned elsewhere can all be temporarily disabled via the tray icon’s context menu, entirely via the Hotkeys=N INI option, or individually via the Hotkey Control & Reference dialog described later on this page. The last few convenience items described below are shell context menu items added to files and folders (only while zLauncher is running), and they can be prevented from being created using the ShellItems=N INI option.

Info Good to know: Several of the hotkey features described on this page target the selected file(s) in an Explorer window (including the Desktop and any standard File Open or Save dialog). In most cases, these features will also work if the full path(s) to the file(s) are selected in a text window. When using textual paths to target more than a single file (when the feature allows it), the paths must be on separate lines. Also, all features described as targeting “the selected file”, “the selected files”, or “the selected text” will work even if nothing is selected in the current window, in which case they will attempt to target whatever files or text are currently on the clipboard.

Hotkeys: §
  • Ctrl + Shift + A: Display the selected file's or folder's full set of attributes (as in the 1st sample dialog below), or decode the selected (hex or decimal) 32-bit attribute value, even if it describes an impossible combination of attributes (2nd sample dialog).

    File Attributes Decode Attributes

  • Ctrl + Shift + C and Ctrl + Alt + C: open CMD to the currently active Explorer folder or Open/Save dialog location, normally if using Shift, elevated (i.e. as admin) if using Alt. This will also work if the active folder is the Desktop itself, or an unqualified shell folder like Documents or Downloads, even if it’s redirected to a non-standard location like a network share or OneDrive.

  • Ctrl + Shift + D: Display a Date/Time calculator with two functions: (1) calculate the (positive or negative) number of days + hours + minutes + seconds between two given timestamps (use the ◄ button to perform this calculation), or (2) add or subtract a given number of days + hours + minutes + seconds to one timestamp to arrive at another (use the ▼ button to perform this calculation). Use the ! button next to either timestamp field to set it to the current date & time. The date & time display formats used by the calculator obey the currently active Windows regional settings.

    Date/Time Calculator

  • Ctrl + Alt + D: Display a Timestamp Converter that simultaneously shows (1) a UTC (not local) Date & Time, (2) its corresponding Hex and Decimal Unix (“Epoch”) timestamp (the number of elapsed seconds from January 1, 1970, 00:00:00 UTC), (3) its corresponding Hex and Decimal 64-bit Windows “FILETIME” timestamp (the number of elapsed 100-nanosecond units from January 1, 1601, 00:00:00 UTC, often seen in the Registry as QWORD values). The Recalculate button becomes available whenever any field in the dialog is modified and updates all fields based on the last modified one (shown next to the button). Use the ! button next to the date & time field to set it to the current UTC timestamp and update all the other fields accordingly.

    Timestamp Converter

  • Ctrl + Shift + F and Ctrl + Alt + F: Invoke the Universal Find feature (normally if using Shift, elevated if using Alt), a powerful capability described in detail on this page.

  • Ctrl + Shift + G: Perform a Regular Expression (RegEx) Search & Replace operation on the text selected in the active window, on the full paths of items selected in an Explorer window, or on the contents of the clipboard if nothing is selected in the active window. See this page for details of the available options, and this page for a summary of the Perl-compatible Regular Expression syntax used by zLauncher.

    Ctrl + Alt + G: Activate the RegEx Search & Replace dialog with word wrapping enabled in the Input and Result text boxes. Note that word wrapping only affects the display of the text fields, not their content, and that it cannot be turned off once the dialog is displayed.

  • Ctrl + Shift + H: Hide the currently active window. Use Ctrl + Alt + H to later display a menu of previously hidden windows and unhide one or all of them. In the case of a Metro app, its window will be hidden but its Taskbar icon might remain visible though non-functional (a Windows behavior). If Restart zLauncher is used, the previously hidden windows will remain hidden and can still be unhidden via Ctrl + Alt + H, but if zLauncher is closed (via Exit zLauncher, by launching a new zLauncher instance, logging off, etc.), the hidden windows will immediately all be unhidden.

    Unhide Menu

  • Ctrl + Shift + I or Ctrl + Alt + I: Respectively Paste or Copy a previously saved “snippet” of text selected from a pop-up menu (see the images below). Use either hotkey followed by selecting the New snippet menu item to create and save a snippet (a bit of reusable text of arbitrary length) under the label of your choice. To edit a snippet, right-click the item in either menu. The Enter key can be used to insert line breaks in a snippet, and Ctrl + Tab to insert tab characters. Snippets can be organized into categories that will appear as submenus – either type a new category name or select an existing one from the dropdown when creating or editing a snippet. As seen below, the Paste snippet menu offers a Snippet paste mode submenu with options to paste normally (via Ctrl+V) or using various forms of Paste-as-Keystrokes (“PaK”) like those described below on this page.

    Paste Snippet Menu Snippet Dialog Copy Snippet Menu

    As seen in the Add/Edit Snippet dialog above, any snippet can optionally be assigned a so-called “hotsnip”, a short abbreviation associated with the snippet. When the Hotsnips feature is enabled (via an item that appears in the Ctrl+Shift+I Paste Snippet menu), typing a snippet's associated hotsnip followed by pressing the spacebar while entering text in practically any application or window will automatically replace the hotsnip with the entire corresponding snippet, stopping immediately after its last character for you to continue typing, if needed. For example, if the Blog Site snippet shown in the sample dialog above has been created, typing blg<space> in a browser's address bar (or anywhere else) would result in the text https://vCloudInfo.com actually being typed. To avoid unexpected hotsnip replacements while you type, you should obviously select as hotsnips memorable letter combinations that don't form a real word or aren't likely to ever be typed followed by a space. If you forget what hotsnips you've already defined, use the List/Locate Hotsnips menu item shown above to see a menu of hotsnips and the category\snippet to which they've been assigned – select a hotsnip from that menu to view or edit its corresponding snippet.

    zLauncher currently provides two very special pre-defined hotsnips: (1) typing @@<space> displays a menu of your Windows profile's shell folders (Documents, Downloads, etc.) as well as all public shell folders (Public Desktop, Public Start Menu, etc.) – selecting an item from this menu enters its full path in whatever window currently has input focus, with environment variables retained or expanded, and (2) typing ##<space> prompts you to type a mathematical expression followed by the = character, at which point the expression will be replaced by its result. Typing another # while entering the expression will reinsert the last entered expression for correction or expansion, and pressing the Esc key will cancel the process and erase whatever portion of an expression has been typed to that point. The expression syntax used by this “inline calculator” feature is VBScript's, which uses + - * / for the standard arithmetic operations, ^ for exponentiation, \ for integer division, Sqr() for square root, and even supports trigonometric and other advanced math functions. See Microsoft's VBScript reference for full details.

    A user's snippets are stored in a particular format in file %AppData%\zLauncher\Snippets.ini and should not be relied upon to store passwords or other sensitive data unless the Enable Snippet Encryption option (shown in the snippet menus above) is used – it securely encrypts this file on disk. When enabling encryption, you will be asked to provide and confirm a passphrase which you'll have to provide in future zLauncher sessions if and when you first invoke one of the snippets menus. If however you enable the hotsnips feature (which requires access to your snippets), you will be prompted to provide the passphrase at the start of future zLauncher sessions (see the 2nd dialog below) – you may however dismiss the dialog (by clicking Cancel or pressing Esc) to leave hotsnips disabled until needed, at which point using Ctrl + Shift + I or Ctrl + Alt + I will give you the opportunity to enter the passphrase. The passphrase will of course also be required if you decide to disable snippet encryption (i.e. to decrypt Snippets.ini). Important: whether encrypted or not, Snippets.ini should never be edited manually – damaging its specific organization and binary control codes could render your snippets inaccessible, as forgetting your passphrase definitely would.

    Snippet Encryption Snippet Access

  • Ctrl + Shift + K: Display a Clock/Timer continuously showing the system time (accurate to the second) in the current date & time regional formats (especially useful on Windows 11 as it originally lacked a clock display showing seconds). Clicking anywhere in the window (or pressing Enter when the window has focus) adds a line with the current time, and further clicks add additional lines with the current time and a calculated hours:minutes:seconds offset since the previous time (like a lap timer on a stopwatch). Right-clicking anywhere in the window copies all the “lap times” to the clipboard.

    Clock/Timer

  • Ctrl + Shift + L: Display the dialog below which can export the current clipboard to the selected user profile on a specified network computer. The target user (if also running zLauncher) can then use Ctrl + Alt + L to import it. This Export feature requires network access to the target computer's C$ share and sufficient permissions to the target user's profile. The computer name can be typed or selected from a list of previous export targets, and the target profile can either be typed or selected from a list of discovered profiles on the target machine – a button is provided to refresh the profile list. An option is also provided to only export the clipboard's text format content rather than all formats currently present on the clipboard (some of which may not necessarily be usable in the target profile).

    Export Clipboard

  • Ctrl + Shift + M or Ctrl + Alt + M: Move the active window's upper-left or lower-right corner, respectively, to the approximate position of the mouse pointer. This is especially useful when the active window is off-screen and not visible, maybe as a result of having been positioned on a monitor that is not currently connected or available.

  • Ctrl + Shift + N: Display an IPv4 (network) calculator that provides subnet information (number of available hosts, first host, last host, etc.) based on an input IP address and mask (specified as the number of network bits in the address). Note that, to avoid input errors, the Mask field is read-only and can only be modified using the network Bits field (allowed values 1-30). The Result field contents are automatically recalculated whenever any input field is modified and can be copied to the clipboard using the Copy button.

    IP Calculator

  • Ctrl + Shift + P and Ctrl + Alt + P: open PowerShell to the currently active Explorer folder or Open/Save dialog location, normally if using Shift, elevated (i.e. as admin) if using Alt. This will even work if the active folder is the Desktop itself, or an unqualified shell folder like Documents or Downloads, even if it’s redirected to a non-standard location like a network share or OneDrive.

  • Ctrl + Shift + R and Ctrl + Alt + R: Run whatever text is currently selected in the active app window (normally if Shift, elevated if Alt – think Alt = Admin). Limitation: since this works via zLauncher sending Ctrl+C to the active window to (temporarily) use the clipboard to retrieve the selected text, this won’t work automatically with apps that don’t implement Ctrl+C = “Copy to clipboard”. The workaround is simple: first copy whatever you want to launch to the clipboard (however it’s done in the app) and then press the Ctrl+Shift+R or Ctrl+Alt+R hotkey. For safety however, zLauncher will ask for confirmation in this case because it’ll detect that sending Ctrl+C to the active window didn’t actually update the clipboard, so it could have been an unintended launch attempt with random clipboard contents. What can be run via these hotkeys? Not only programs (and their parameters), folders, documents, URLs, etc., but also Registry keys, for example from a Knowledge Base article in a browser directly to Regedit, at the closest possible key to the selected one if it doesn’t currently exist.

  • Ctrl + Shift + S: Sort the text selected in the active window, the full paths of items selected in an Explorer window, or the contents of the clipboard if nothing is selected in the active window. See this page for details of the Sorting Tool's many options.

  • Ctrl + Alt + S: Spellcheck the text selected in any window, with the option to paste back the corrected text (which should only be used if the original text was unformatted as all formatting would likely be lost upon paste-back). This feature uses Windows' built-in spellcheck capability and is most useful for quick checks while typing in applications that lack a native spellcheck capability. It is also, to my knowledge, the only zLauncher feature that does not work as intended in Windows 7 – text will appear in the window (which can be used as a convenient scratchpad), but no spellchecking will occur.

    Spellcheck

  • Ctrl + Shift + T: toggle the currently active window’s “Topmost” (always-on-top) status. A little tooltip will appear near the mouse pointer to confirm whether topmost was turned ON or OFF for that window, which to be clear can be any app window.

  • Ctrl + Alt + T: Display the Process Tree (the parent processes, the ancestors) of the highlighted item in Task Manager's Details view or in a Processes using ... dialog (the next feature described on this page). This hotkey can also be used on a window information dialog (see the Ctrl+Shift+W feature below) to show the ancestors of the described process, or simply on a selected numeric process ID. If the active window when Ctrl+Alt+T is pressed (Task Manager for example) is elevated, the ancestor identification mechanism will also attempt to run elevated.

    Process Tree

  • Ctrl + Shift + U and Ctrl + Alt + U: Identify all processes currently using (technically owning a handle to) the selected file, useful for example when a file can't be modified or deleted because it's being reported as in use. If Alt is used rather than Shift, the identification process will attempt to run elevated. A tooltip will display the progress of the process enumeration before the dialog is finally displayed. This feature only works with files, not folders.

    Processes Using

  • Ctrl + Shift + V or Ctrl + Alt + V – “Paste-as-Keystrokes” (PaK) feature: paste the clipboard's text content by sending keystrokes to the active window (at full speed if Shift is used, slowly if Alt). This is useful to “paste” the local clipboard's contents (like passwords, URLs, even entire scripts) into remote consoles or other apps that don't support a normal Paste function. To support target windows (like some RDP sessions) that intercept these hotkeys, hold Ctrl down for an extra half-second when typing the hotkey while focus is elsewhere: this will start a 9-second countdown during which focus can be restored to the target window before keystrokes are sent to it. A tooltip is presented throughout the process and can be clicked to cancel the PaK operation.

  • Ctrl + Shift + W and Ctrl + Alt + W: show information about the window currently under the mouse pointer, including information about the process that owns it and about its parent process, if available. If Alt is used rather than Shift, the information gathering process will attempt to run elevated, which may result in more complete information. Note that the window of interest need not be the active window, it merely needs to be the one currently under the mouse pointer.

    Window Info

  • Ctrl + Shift + Y and Ctrl + Alt + Y: copY unformatted text to the clipboard, also stripping any HTML markup elements if Ctrl + Alt + Y is used. This again won't work if the app window containing the selected text doesn't implement Ctrl+C = “Copy to clipboard”, but the same workaround as above will work: first copy the text to the clipboard, then use either hotkey to strip the clipboard of any formatting (and optionally of all HTML). A tooltip near the mouse pointer will confirm that the operation has been performed. As an additional convenience, Ctrl + Shift + Y can also be used to copy the full paths of files and folders selected in the active shell window, separated by newlines.

  • Ctrl + Shift + #: Display (in a tooltip shown briefly near the mouse pointer's position) a count of lines and characters selected in the active application window, or of the text contents of the clipboard if nothing is selected in the active window.

  • Ctrl + Shift + ?: Display the Properties of the selected file/folder (or of the file/folder represented by the path selected as text in the active app window), with additional information for some item types. Specifically, (1) the Properties of files determined to be executables (regardless of file type) will show the executable's “bitness” (x86 or x64) and its so-called subsystem (GUI, Console, or Driver) in the dialog's title bar, (2) the Properties of a Windows Installer (.msi) file will show the product's version in the title bar, (3) MSI shortcuts' Properties (that have a grayed-out Target field that only shows the product name) will display the shortcut's “actual” EXE target in the preceding field, (4) “Metro” app shortcuts (which also have a grayed-out Target field) will display the app's full “launch string” (aka its “AUMID”), and (5) the Properties of drives and directories will display their number of files, subdirectories, and total bytes using a much faster method than Explorer's.

    Ctrl + Alt + ?: Display the Properties dialog focused immediately on its Security tab, especially useful on shortcuts with inaccessible targets, which normally prevents accessing any tab other than Target. This tab will also contain the file's or folder's full attributes list and the Internet security zone to which it belongs.

  • Ctrl + Shift + @: Resolve and display the text corresponding (in the current Windows UI language) to a selected Windows indirect @string such as are found in various areas of the Registry, in many shell folders' hidden desktop.ini files, and elsewhere.

    Indirect String 1 Indirect String 2

  • Ctrl + Alt + @: Display the selected image file(s), or the image file pointed to by an indirect @string, in zLauncher's Image Viewer. This feature is described in detail on this page.

  • Ctrl + Alt + F4: Close the current window and all other windows of the same type (for example all Notepad windows or all Explorer folders). This is similar in behavior to the Close all windows feature available from Taskbar buttons when the option to combine them is enabled, and is most useful when that option is not enabled.

  • Screen Capture Hotkeys: This extensive feature, designed for simple serial screen captures of windows, screen areas, or entire displays (especially useful for documenting app installations or other activities) uses various PrtScn key combinations and is described in detail on this page.

  • Shift + “Browse Back” mouse side button, if available: displays the local Taskbar, even if it's currently obscured by a full-screen remote session (or if it's auto-hidden). Once displayed, the Taskber can be used to activate a local window or launch a new app from the Start menu, which in most cases will be displayed on top of the remote session.

  • Ctrl + “Browse Back” and Ctrl + “Browse Forward” mouse side buttons, if available: these hotkeys will, respectively, minimize the active window or restore the last minimized window. This is most useful to minimize full-screen apps and remote session windows when they're obscuring something on the local desktop (such as an applet previously launched via zLauncher) even if the target window lacks a Minimize button. Although this capability is available at all times and with practically any app window, it is especially useful in Thin Mode.

§ Most of the above hotkeys rely in one way or another on zLauncher's ability to interact with application windows, and would normally not be effective on windows that belong to elevated processes (i.e. apps running as administrator). As of v4.x, however, if zLauncher is running from anywhere under %ProgramFiles% as recommended, the hotkeys will under most circumstances be effective on all app windows, elevated or not.

To invoke the hotkeys involving a special character (like #, ?, and @ above), only press the specified Ctrl/Shift/Alt modifier keys + whatever key presents that character in the current regional keyboard layout, ignoring whatever modifiers would normally be required to type the character in question.

Given the large number of convenience hotkeys in zLauncher, a Hotkey Control & Reference ... item is available from its tray icon context menu to display the following hotkey disable/enable & reference panel. Clicking a checkbox to disable or enable a hotkey (for example because it conflicts with a different application's hotkey) takes immediate effect for the duration of the current zLauncher run, and clicking the Save selections in INI button will cause the selections to persist in future zLauncher runs until changed. Also, clicking a hotkey name in that window (shown in blue) will open this help file at the location that describes the hotkey.

Quick Reference

“Drag to Consoles via the Hot Zones” feature:

A common annoyance for Windows users with administrator rights running elevated console windows, specifically CMD, PowerShell, or Windows Terminal windows, is that the operating system's process integrity mechanism prevents files or folders from being dragged into them from Explorer as a means of capturing their full paths (which does work as expected with non-elevated console windows). If running from anywhere under %ProgramFiles%, zLauncher provides a workaround for this issue (as of v4.x) by capturing the paths of items dragged from Explorer & dropped onto one of three among its hot zones (hot zones are described here), then turning around and “dropping” those paths into the appropriate console, whether elevated or not. Specifically,
  • the paths of items dropped onto the hot zone at the Left screen edge will be dropped into the topmost or last active CMD window,
  • the paths of items dropped onto the hot zone at the Right screen edge will be dropped into the topmost or last active PowerShell window, and
  • the paths of items dropped onto the hot zone at the Top screen edge will be dropped into the topmost or last active Windows Terminal window.
This capability actually improves upon Windows' normal “drag to console” feature in two ways: (1) multiple files and folders can be dragged & dropped simultaneously and all their paths will appear in the target console, separated by spaces, and (2) only paths containing spaces will be double-quoted. If the dragged items are held briefly over a hot zone before being dropped, a tooltip will appear confirming the expected operation (“Drop to CMD”, “Drop to PowerShell”, or “Drop to Windows Terminal”). After the drop, nothing will happen and a message will be displayed if no console window of the selected type was found.

Shell Items:

  • Run with arguments... will place the target executable's full path into a Run dialog, ready to accept switches and parameters. If zLauncher determines that the executable is a console (non-GUI) program, its path will be preceded by an appropriate %ComSpec% (CMD.exe) invocation to ensure that the launched console window remains open once the program exits so that its results may be reviewed. This item also appears in the context menu of shortcuts and of certain script types.

  • -> Clipboard as Image will place the image contents of the file into the clipboard, only useful if the file actually contains an image. This capability uses a Windows-native image extraction method that supports most common image formats.

  • -> Clipboard as Text will place the contents of the file into the clipboard as text, mostly useful if the file actually contains text (rather than binary data or code).

  • Hex File View... will display a simple hexadecimal view of the file's contents. This feature is limited by memory size and other factors, but it can easily handle several-megabyte files. The viewer is not an editor, so changes to the window contents will not affect the file.

    Hex Viewer

  • Live File View... will display the file's contents and refresh automatically as they change, ideal for viewing live log files. The view can be paused and manually refreshed if desired, and the window contents can be modified and copied as needed, which will not actually affect the file's contents.

    Live Viewer

  • Open as administrator with... will offer to open the file with elevated permissions using the program of your choice.

  • Also, the option Browse as admin will appear in the context menu of all drives and directories to allow browsing them in an Explorer-like elevated window. Items opened from such a window will generally also be opened elevated.


RegEx Search & Replace

This page describes the RegEx Search & Replace dialog and its options. It can be used in conjunction with any text editor or by itself to perform (or simply test) a RegEx-aware replacement operation on the selected text in the editor (or on the text content of the clipboard if nothing was selected in the active app window when the dialog was invoked via Ctrl + Shift + G or Ctrl + Alt + G). The dialog is resizable and offers full Unicode input & output support. A summary of Regular Expression syntax and definitions of many of the terms used on this page are provided on the next page.

The first example below converts a list of file & folder paths to Comma-Separated Values (CSV) format separating each item's path, name, and extension, while the second example uses the non-standard “expression syntax” described on the RegEx Summary page to add Batting Average and Slugging Percentage columns to a table showing a number of players' At Bats, Hits, Doubles, Triples, and Home Runs:

RegEx Dialog 1 RegEx Dialog 2
  • Input text: the text subject to the Search & Replace operation. It will be automatically populated with whatever text was highlighted in an application window when one of the two hotkeys was used, or with a list of selected file and folder paths if it was an Explorer window. If nothing was selected, this field will be populated with the text contents of the clipboard, if any. It can also be manually populated (and edited) by typing or pasting text into it. If Ctrl+Shift+G was used to invoke this dialog, each line of input in this field (and in the Result text field) will be displayed on a single line without word wrapping, regardless of its length. Use Ctrl+Alt+G to instead invoke the dialog with word wrap enabled. For simplicity in working with RegEx, the only line separator in this (and any other) field is a single newline (aka line feed) character (represented by \n in regular expressions) – if the source application window uses carriage return + line feed as line separators (the Windows standard), they will be correctly reinserted if and when the result is pasted back or copied to the clipboard.

  • Regular Expression: the RegEx pattern to be searched for in the input text.

  • Load / Save: These buttons allow saving and later retrieving the current regular expression, options, and replacement text together into a file with extension .zrgx, by default in a Documents subfolder named zRegEx. When loading a saved .zrgx file, its contents will replace the saved fields and options unless the saved regular expression or replacement text were empty, in which case the current corresponding field will be left as is. Be sure to use descriptive names for these files to clarify the search & replace operations they represent.

  • Case-insensitive: if checked, performs a case-insensitive search, equivalent to the (?i) RegEx option.

  • Multiline: if checked, treats the input as a collection of individual lines, equivalent to the (?m) RegEx option.

  • Ungreedy: if checked, makes quantifiers “ungreedy”, equivalent to the (?U) RegEx option.

  • DotAll: if checked, causes the period (.) to match all characters, including newlines (which it does not normally match), equivalent to the (?s) RegEx option.

  • Replacement text: the text, possibly including backreferences, that will replace every matched substring of the input text in the result text.

  • “Find only” Mode: When this mode is enabled, the Replacement text field is temporarily replaced by ►$0◄, which causes the Result text field (after evaluation via the Evaluate Result button) to consist of a copy of the input text with each matching string “bracketed” by those triangular characters for easy visual identification. A pop-up tooltip will indicate the number of matches found and include a reminder that the F3 key can now be used to navigate the result text from one match to the next (and Shift+F3 to go from one match to the previous). Since “Find only” is only intended for verifying or troubleshooting the regular expression, the Exit & Paste and Copy to Input buttons will be disabled in this mode. Once “Find Only” Mode is unchecked, the Replacement text field will be restored to its previous contents.

  • Evaluate Result: This button actually performs the RegEx search & replace operation and populates the Result text field either with the modified input text if the operation was successful (even if no matches were found) or otherwise with details of whatever issue was encountered, such as a RegEx syntax error. The text box below the button will be updated with the number of matches or with an indication of the nature of any encountered issue.

  • Result text: the result of the RegEx search & replace operation on the input text.

  • Copy to Input: This button copies the result text up to the input text field, ready for further processing, typically with a different regular expression and replacement text.

  • Cancel: This button will dismiss the dialog without making any change to the source application window (from which the input text was initially copied) or to the clipboard (if that was the source of the input text).

  • Exit & Paste: This button will exit the dialog and paste the result text back into the source application window (typically a text editor like Notepad), replacing whatever text is (still) highlighted there (without changing the current contents of the clipboard). However, if the source window is no longer available, the result text will instead be copied to the clipboard and a message to that effect will be displayed.

  • Copy & Exit: (not shown above) When the source of the input text was either a list of file and folder paths copied from an Explorer window or the current contents of the clipboard, “Copy & Exit” will replace “Exit & Paste” as the name of the above button. It will copy the result text to the clipboard and exit.
As long as zLauncher remains running and the screen resolution hasn't changed, new invocations of RegEx Search & Replace will bring the dialog back at the same position and with the same dimensions as it had when last closed. The previous regular expression, replacement text, and options will also be restored. Once zLauncher is restarted, however, the first invocation will go back to defaults.


RegEx Syntax Summary

Basics

A regular expression (or RegEx) is a string of characters that describes a search pattern to be located in some given input text. The pattern can consist of both literal characters and special characters (or character sequences) with specific interpretations, the most common and useful ones among which are described on this page. The particular regular expression syntax used by zLauncher's RegEx Search & Replace feature is the so-called Perl-Compatible Regular Expression (or PCRE) syntax, described in further detail at www.pcre.org. We start with a few basics:

  • Match anywhere: By default, a regular expression matches a substring anywhere inside the text to be searched. For example, the regular expression abc matches abc123, 123abc, and 123abc456. To require the match to occur only at the beginning or end, use the anchors ^ or $ described below.

  • Escaped characters: Most characters can be used literally inside a regular expression. However, the characters \ . * ? + [ { | ( ) ^ $ (which otherwise have special meaning in a RegEx) must be preceded by a backslash to be taken literally. For example, \. is a literal period, and \\ is a literal backslash. Escaping can be avoided by using \Q...\E, i.e. any sequence of characters enclosed between \Q and \E is taken literally, even if some of its characters would otherwise have a special interpretation within a RegEx.

  • Case-sensitive: By default, regular expressions are case-sensitive. This can be changed to case-insensitive inline within the RegEx by the special sequence (?i) (described below) and back to case-sensitive by (?-i). The zLauncher Search & Replace dialog also offers a “Case-insensitive” checkbox to change the default, subject to being changed inline as described here, if needed.
Options

The following (?x) character sequences can be used inline within a RegEx to change certain default behaviors. The default behavior can in each case be restored later within the same RegEx via the corresponding sequence (?-x). Note that the letters in each option are case-sensitive. Some of the terms (like anchor, quantifier, and class) used to describe the options in this section are explained in the subsequent section.

(?i) | Case-insensitive matching: Treats the letters A through Z as identical to their lowercase counterparts. This commonly used option is also available as a checkbox in the RegEx Search & Replace dialog, and can be turned off inline using (?-i).
(?m) Multiline: Treats the input text as a collection of individual lines (if it contains newlines) rather than as a single continuous string of characters. Specifically, it changes the following:
  • The caret (^) anchor matches at the start of input (as always) and now also immediately after all newlines (but it does not match after a newline at the very end of input).

  • The dollar-sign ($) anchor matches at the very end of input (as always) and now also before any newlines in the input.
This option is also available as a checkbox in the RegEx Search & Replace dialog, and can be turned off inline using (?-m).
(?U) | Ungreedy: Makes the quantifiers * + ? {} consume only those characters absolutely necessary to form a match, leaving the remaining ones available to the rest of the pattern. When this option is not in effect, an individual quantifier can be made ungreedy by following it with a question mark. Conversely, when it is in effect, the question mark makes an individual quantifier greedy. This option is also available as a checkbox in the RegEx Search & Replace dialog, and can be turned off inline using (?-U).
(?s) | DotAll: Causes a period (.) to match all characters including newlines (which it does not normally match). Regardless of this option, a negative class of the form [^...] always matches newlines. This option is also available as a checkbox in the RegEx Search & Replace dialog, and can be turned off inline using (?-s).

Common Symbols & Syntax
. By default, a dot matches any single character except a newline, unless the DotAll inline option (?s) is in effect, in which case it also matches newline.
*

The asterisk quantifier matches zero or more occurrences of the preceding character, class, or subpattern. For example, X* matches any number of consecutive X characters and .* matches any sequence of characters (by default excluding newlines).

? The question mark quantifier matches zero or one occurrence of the preceding character, class, or subpattern, thus denoting an optional item in a pattern.
+ The plus sign quantifier matches one or more occurrences of the preceding character, class, or subpattern. Unlike the * quantifier, a + thus requires at least one instance of the preceding item for a match to occur.
{min,max} | The braces quantifier matches between min and max occurrences of the preceding character, class, or subpattern. The simplified forms {n} and {n,} mean exactly n and at least n occurrences of the preceding item, respectively.
[...] Class of characters: Square brackets enclose a list of characters, such as [abc], one or more range(s) of characters, such as [A-Za-z0-9], or both in any order, such as [&@A-Z#%]. A class matches with any single character within it, and may be followed by one of the quantifiers *, ?, +, or {min,max}. Inside a class, most characters are taken literally and so don't need to be escaped except for ^, -, ], and \ which have special meaning inside a class and must therefore be written as \^, \-, \], and \\.
[^...] Negative class of characters: A caret (^) following the opening square bracket of a class turns it into a negative class that matches with any single character not in the class. For example, [^0-9] matches any character that is not one of the decimal digits. As noted above, a negative class will match newlines (regardless of the DotAll setting) unless \n is explicitly added within the brackets.
\d | Matches any single digit, equivalent to the class [0-9]. Conversely, capital \D matches any non-digit.
\s | Matches any single whitespace character (space, tab, and newline). Conversely, capital \S matches any non-whitespace character.
\w | Matches any single “word” character, namely alphanumeric or underscore, equivalent to the class [a-zA-Z0-9_]. Conversely, capital \W matches any “non-word” character.
^
$

Anchors: Caret (^) and dollar sign ($) are called anchors because they tie the pattern to the beginning or end, respectively, of the input text (or of individual lines within the input text when the Multiline option is in effect). Anchors match positions rather than characters.

  • ^ at the beginning of a pattern requires the match to occur at the very beginning of input (or of a line when Multiline is in effect).

  • $ at the end of a pattern requires the match to occur at the very end of input (or of a line when Multiline is in effect).

The two anchors may be combined to require matching all of the input (or entire lines when Multiline is in effect).

\b | \b signifies “word boundary” and is an anchor that matches any position in the input that immediately precedes or follows a sequence of “word” characters (see \w above). It may be used multiple times in a RegEx and is typically used to require matches to occur at the beginning or end of a word, or to prevent matching on words that are part of longer words. Capital \B signifies the opposite, requiring matches to not occur at a word boundary.
| Vertical bar separates two or more alternatives, matching if any of the alternatives is satisfied. It has low priority when evaluating a RegEx, so is frequently used within parentheses (see the next item).
(...) Parts of a RegEx may be placed in parentheses for several reasons, among which:
  • To force the order of evaluation, as in (Mon|Wednes|Fri)day to match specific weekdays.

  • To apply a *, ?, +, or {min,max} quantifier to a sequence of characters or to a portion of the RegEx (called a subpattern).

  • To “capture” a subpattern either for later reference within the same RegEx via a backreference \1, \2, ... (see below), or for reinsertion into the “replace” text of a Search & Replace operation via a backreference $1, $2, ... To use parentheses without the side-effect of capturing a subpattern, insert ?: as the first two characters inside the parentheses.
\t
\n
\x hh 		Although the RegEx field in the Search & Replace dialog allows literal tabs and newlines to be used (tabs are entered using Ctrl+Tab), it is best for readability to use the escape sequences \t for tab and \n for newline. Also, any ANSI character may be specified using \x hh, where hh is the character's hex code between 00 and FF.
\1, \2, ...
\g n, \g{n} 		Backreferences: The “backreferences” \1, \2, ... match the result of the first, second, ... subpattern previously captured (with parentheses) by an earlier section of the RegEx. For backreferences to captured subpatterns beyond the ninth, use the alternate backreference syntax \g n or preferably \g{n}, for example \g{12}.

Greed: By default, the *, ?, +, or {min,max} quantifiers are greedy because they consume all characters up through the last possible one that still satisfies the entire pattern. To instead have them stop at the first possible character, follow them with a question mark. If the Ungreedy option is in effect, an added ? has the opposite effect, making the quantifier greedy.

Look-ahead and look-behind assertions: The groupings (?=...), (?!...), (?<=...), and (?<!...) are called assertions because they require a condition to be met but don't consume any characters. For example, abc(?=.*xyz) is a positive look-ahead assertion that requires the string xyz to exist somewhere to the right of the string abc. Conversely, (?!...) is a negative look-ahead because it requires that the specified pattern not exist to the right of the assertion. Similarly, (?<=...) and (?<!...) are, respectively, positive and negative look-behind assertions that require that the specified string exist or not exist to the left of the current position. Look-behinds don't support the quantifiers *, ?, and +.

Replacement Text

Except for the items in the following table, all characters in the “Replacement text” field of zLauncher's RegEx Search & Replace dialog are interpreted literally and don't require being escaped.

$0
$1, $2, ...
${n} 		Backreferences: The backreference $0 inserts the entire text matched by the RegEx into the replacement text, and the backreferences $1, $2, ... insert the first, second, ... subpatterns captured (using parentheses) by the RegEx. For backreferences to captured subpatterns beyond the ninth, place the number between braces, as in ${12}.
$U n, $U{n}
$L n, $L{n}
$T n, $T{n} 		Case-modified backreferences: Inserting a U, L, or T immediately after the $ in the above backreferences will respectively also change their case to Uppercase, Lowercase, or Title case (first letter of each word capitalized).
$t
$n
$$ 		Although the replacement text field in the Search & Replace dialog allows for literal tabs and newlines to be used (tabs are entered using Ctrl+Tab), it is best for readability to use the non-standard escape sequences $t for tab and $n for newline. Because of its special use in the replacement text field, a literal dollar sign must be entered as $$.
$H n, $H{n}
$C n, $C{n} 		Non-standard conversion backreferences: Inserting an H immediately after the $ in a replacement backreference will convert each character of the matched text to its 4-hex-digits Unicode representation. Conversely, inserting a C immediately after the $ in a backreference to a match consisting of 1 or more hex digits will convert the entire match to the corresponding single Unicode character. A match containing anything other than hex digits or not corresponding to a valid Unicode character will be converted to a � character. Control character codes (range 00-1F and 7F) will be converted to their corresponding Unicode “symbol”, like ␉ ␊ ␡ etc. Again, these are zLauncher-specific non-standard extensions to RegEx replacement syntax that would have unexpected results in any other Regular Expression Search & Replace system.
$[expr] Non-standard expression backreference: a $ in a replacement string followed by a mathematical expression in square brackets, typically involving $n numeric backreferences, will be replaced by its result. As a simple example, $[($1+$2)/2] will be replaced by the average of the first two captured substrings. The expression syntax used by this feature is VBScript's, which uses + - * / for the standard arithmetic operations, ^ for exponentiation, \ for integer division, Sqr() for square root, and even supports trigonometric and other advanced math functions. See Microsoft's VBScript reference for full details. Again, this is a zLauncher-specific highly non-standard extension to RegEx replacement syntax that will not have the expected result in any other Regular Expression Search & Replace system.


Sorting Tool

This page describes the Sorting Tool dialog and its options. It can be used to sort the selected lines of text in an app (or the text content of the clipboard if nothing was selected in the active app window when the dialog was invoked via Ctrl + Shift + S). The dialog is resizable and offers full Unicode input & output support.

This example sorts a list of file paths in reverse filename order (by sorting on the characters that follow the last \). Note that, as seen here, some options are incompatible with others and will be automatically disabled (grayed out) when incompatible options are selected:

  • Input text: the text lines to be sorted. This field will be automatically populated with whatever text was highlighted in an application window when the hotkey was used, or with a list of selected file and folder paths if it was an Explorer window. If nothing was selected, this field will be populated with the text contents of the clipboard, if any. It can also be manually populated (and edited) by typing or pasting text into it.

  • Case-sensitive: causes the sorting operation to be case-sensitive, which for the Roman alphabet sorts upper-case letters before their lower-case counterparts.

  • Locale-based: locale-dependent (always case-insensitive) sorting option that, for example, will generally treat accented versions of the same letter as being equivalent.

  • Numeric: sorts lines that consist of (or begin with) a number numerically (whereby for example 2.5 comes before 12) rather than lexically (the default, whereby 12 comes before 2.5).

  • Reverse Order: if checked, reverses the order of the sort, i.e. sorts from high to low.

  • Deduplicate: if checked, removes duplicate lines from the sorted list so that every remaining line is unique. Note that the type of sort determines what items are considered identical: for example, in a standard case-insensitive sort, ABC and abc would be considered duplicates, and in a numeric sort, 2 and 2.0 would be duplicates, as would 0.2E1 and 0x02 (since scientific notation and hexadecimal numbers are also supported in numeric sorting).

  • Random!: randomly shuffles rather than sorts the input lines.

  • Sort After Last \: sorts based on the substring of each line that follows its last backslash character. Lines without a backslash are treated as if they started with one, i.e. the entire line is considered while sorting.

  • Sort @ Position [#]: sorts based on the substring of each line that starts at the specified position, useful to sort data lines that have fixed column widths based on the contents of a particular column.

  • Sort: This button actually performs the sorting operation and populates the Result text field with the sorted lines.

  • Stable Sort: This button performs the sorting operation using a modified method that maintains the original order of lines considered identical (based on the selected options).

  • Result text: the result of the sorting operation on the input text.

  • Copy to Input: This button copies the result text up to the input text field, ready for further sorting, typically with a different set of options.

  • Cancel: This button will dismiss the dialog without making any change to the source application window (from which the input text was initially copied) or to the clipboard (if that was the source of the input text).

  • Exit & Paste: This button will exit the dialog and paste the result text back into the source application window replacing whatever text is (still) highlighted there (without changing the current contents of the clipboard). However, if the source window is no longer available, the result text will instead be copied to the clipboard and a message to that effect will be displayed.

  • Copy & Exit: (not shown above) When the source of the input text was either a list of file and folder paths copied from an Explorer window or the current contents of the clipboard, “Copy & Exit” will replace “Exit & Paste” as the name of the above button. It will copy the result text to the clipboard and exit.
As long as zLauncher remains running and the screen resolution hasn't changed, new invocations of the Sorting Tool will bring the dialog back at the same position and with the same dimensions as it had when last closed. The previously selected options will also be restored. Once zLauncher is restarted, however, the first invocation will go back to default options.


“Universal Find”

This feature combines two different types of simple or complex (RegEx) searches under the same hotkeys. Both are “universal” in the sense that a single search definition can be applied sequentially to multiple target windows and that they can be applied to a wide array of different application windows so long as they are appropriate to the search type, each of which is individually described below.
Text Search:
If the focused input area in the active window is a text field (technically an Edit or RichEdit control) when Universal Find is invoked via Ctrl+Shift+F (or Ctrl+Alt+F, which runs the search “as admin” but in this case rarely makes a difference), zLauncher presents a search definition dialog such as the one shown below entitled Find what? [Text]. Most text editors (including classic and modern Notepad, WordPad, Metapad, Notepad++, etc.) and the dialogs presented by many applications (including some of zLauncher's own dialogs) fall into the category of appropriate targets for this type of search. Once a search string (which can be a regular expression if that option is selected) and other search options have been set in the dialog, clicking the Find Next button will locate and highlight the next match in the target window from the current caret position. If no further match is located, a beep will be heard. Once displayed, this same text search dialog can target other appropriate application windows (such as a different editor displaying a different file) by giving them focus before clicking Find Next, after which focus will always return to the target window, ready to locate the next match. Note that a Find What? dialog always remains topmost for easy access, and that multiple such windows can be active at the same time, each defining a different text search. This type of search is most useful with application windows that lack their own search capability or to perform complex text searches that go beyond an application's native capability.
In the example below, a regular expression search is being used to locate URLs matching a specified pattern in two different Notepad windows:

File & Folder Search:
If, on the other hand, the focused area in the active window is not a text field appropriate to a text search (as described above) when Universal Find is invoked via Ctrl+Shift+F or Ctrl+Alt+F, zLauncher instead presents a search definition dialog such as the one shown below entitled Find what? [Files/Folders]. This type of search is only useful when the active window (whenever the Find All button is clicked) is either an Explorer folder window, a standard Windows File Open/Save dialog, or a Search Result window created by a prior search (in which case the same folder or drive will be searched again). Once a search string (which can be a regular expression if that option is selected) and other search options have been set in the dialog, clicking the Find All button will display a scrolling progress bar, soon followed by a Search Result window listing the full path of all the matching items in or under the target folder, which can be empty if no matches were found. If Ctrl+Alt+F was used to invoke the search dialog, its searches will run elevated (assuming you have admin credentials) for enhanced access to protected folders.
Some non-obvious usage notes:
  • To follow traditional DOS/Windows wildcard search rules, a Filename only search will only locate files (not folders) that fully match the entire specified pattern. Full Path searches on the other hand will match an item if the pattern is found anywhere in its full path. Folder paths in the result window always end with a \.
  • Non-RegEx searches allow the use of the standard wildcards * (matches any number of characters, including none) and ? (matches exactly 1 character). In the context of Full Path searches, * and ? do not match \. In RegEx searches on the other hand, the ". " wildcard does match \.
  • For the purpose of distinguishing among multiple Search Result windows, they each list their target folder in the status bar and the wildcard or RegEx pattern that was used to populate them.
  • The Jump to button in a Search Result window will open an Explorer folder to highlight the item corresponding to the line on which the caret (text cursor) is located in the result window.
  • The Cancel button in a search definition dialog will, after confirmation, cancel its ongoing search (if any), close any of its result windows, and close the dialog.
Here again, a file/folder search dialog can target other Explorer folders by giving them focus before clicking Find All, its window always remains topmost for easy access, and multiple such windows can be active at the same time, each defining a different file/folder search.
In the example below, a regular expression search is being used to locate executables with at least one digit in their name in three different folders (only the search result windows are shown, not the source folders):


Image Viewer

When the Ctrl + Alt + @ hotkey is used while one or more image files are selected in the current window, zLauncher will display each one in a built-in image viewer window like the one shown below. As with most zLauncher hotkey features that target files, this one also works on selected text in the current window consisting of one or more file paths on separate lines or, if no text is currently selected in the active window, on a list of file paths found on the clipboard or on the image currently on the clipboard. This feature is related to the Ctrl + Shift + @ indirect string resolution feature in that it also works on indirect @strings that resolve to image file paths (see the second example below). Supported image types include at least JPG, BMP, PNG, GIF (including animated GIF), TIF, EXIF, WMF, EMF, ICO, CUR, and ANI formats, though other file types (such as many EXE and DLL files containing icons) may also produce an image.
Image windows are sized to fit on the active monitor and are not resizable, so large images are sometimes shrunk proportionally for display. The image information pop-up shows the image file's path (or CLIPBOARD if that was the source of the image), the original size and aspect ratio of the image, and its display size. In the case of animated GIFs, their number of frames is also shown. The function of the Image Viewer buttons along with their keyboard equivalents are shown below the following sample image, with additional notes where necessary:

Image Viewer 1

Notes:
  • The Copy image button places the original full-size image on the clipboard, not the possibly shrunken image being displayed.
  • The Recycle/Delete button will, after confirmation, attempt to send the source file to the Recycle Bin but will delete the file if it can't be recycled (for example because it is located on a network share or removable drive). For safety, it will also refuse to delete executable files such as EXEs and DLLs if they were the source of the displayed image. If the deleted image file was the only one being displayed, the next image file of the same file type in the same folder will be displayed next.
  • The Dark/Light background button toggles the background of the image viewer window – choose whichever background best fits the image contents, especially useful if it contains transparent areas. Bonus: if you encounter a non-repeating animated GIF (where the animation ends at the last frame), using this button will restart the animation from the beginning.
  • The Previous/Next image buttons have two different behaviors: if several image windows are currently being displayed, they will cycle among them, but if only a single image window is being displayed, the buttons will display the previous or next image file of the same file type in the same folder.
In the example below, Ctrl+Alt+@ captured the indirect string
@{Microsoft.AAD.BrokerPlugin_1000.19580.1000.2_neutral_neutral_cw5n1h2txyewy?ms-resource://Microsoft.AAD.BrokerPlugin/Files/Assets/Logo.png}
from Regedit, automatically resolved it as the file path
C:\WINDOWS\SystemApps\Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy\Assets\Logo.scale-100.png
and displayed it in an image window:
Image Viewer 2


Screen Capture

zLauncher's screen capture feature is a simple yet powerful capability designed to capture various screen areas directly to PNG files using several hotkeys involving the PrtScr key, all of which are described on this page.
The captured image files are named automatically and immediately saved to a predetermined subfolder named zScreenCaps of your profile's Pictures folder, typically (but not necessarily) %UserProfile%\Pictures\zScreenCaps – if you find yourself frequently using the screen capture features, you may find it convenient to pin this folder to Explorer's Quick Access or add it to zLauncher's menu. In order to keep the captured filenames in chronological order, they are formatted as follows: timestamp‑type.png, where timestamp has the pattern YYYYMMDDhhmmss and type is either Screen, Window, or Region, for example 20260721091538‑Window.png. In combination with the fact that the captured images are not immediately displayed, not having to explicitly name and save the files creates a minimally intrusive mechanism for capturing a sequence of timestamped screenshots, ideal for example to document an app installation or the individual steps of some configuration process.

The screen capture hotkeys are the following:
  • PrtScr: Capture the entire display (all monitors, the default) or the “current” monitor (defined as the one with the mouse pointer), depending on the setting found at the bottom of the Hotkey Control & Reference dialog dialog. If you disable this hotkey (in the same dialog), PrtScr will revert to its normal Windows behavior, capturing the display to the clipboard.

  • Alt + PrtScr: Capture the active window. If you disable this hotkey, Alt + PrtScr will revert to its normal Windows behavior, capturing the active window to the clipboard.

  • Shift + PrtScr: Capture the window under the mouse pointer, convenient when the target window cannot be activated or when activating it would change the display.

  • Ctrl + PrtScr: Initiate the capture of one or more selected screen region(s), as follows: when this hotkey is used, the entire display (or the current monitor, again depending on the setting mentioned above in the PrtScr hotkey description), will appear to “freeze”, the mouse pointer will become a crosshair, and the Region Capture Mode reminder below will be shown briefly. You can now use the mouse to highlight a region and it will be saved to file when you release the mouse button. Continue to do this to capture additional regions if you wish, then press the Esc key to exit region capture mode. The current mouse coordinates and region size will be shown in a floating tooltip while highlighting a region, and the mode reminder will be shown briefly between each capture (to remind you that you must press Esc to return to normal operation).

    Region Capture Mode

  • Ctrl + Shift + PrtScr: Recapture the last captured area (meaning the rectangle at the same screen coordinates no matter how its contents may have changed), regardless of which of the above four hotkeys was previously used. If nothing was previously captured, this hotkey has no effect.

  • Ctrl + Alt + PrtScr: Display the last image file captured by the above hotkeys in zLauncher's image viewer. You can then use the viewer's Previous/Next buttons (or keyboard equivalents) to navigate among previously captured images, the Copy button to place one on the clipboard, the Recycle/Delete button to delete some of them, etc.


Appendix I: The Sample INI
For reference, below is a copy of the sample INI that zLauncher offers to create when first run, stripped of all comments and syntax summary:
[$Options]
HotZones = TBLR
HotZoneTips = Y
AllowEditINI = Y
Hotkeys = Y
ShellItems = Y
ThinMode = N
ThinApp = C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe | https://portal.mycompany.org
ThinExit = Nothing

[Main]
Paste Snippet = @Action | PasteSnippet
Copy Snippet = @Action | CopySnippet
PaK Slowly = @Action | PasteKSlow
SEP =
SUB = Consoles
SUB = Folders
SUB = Some UWP Apps
SEP =
Notepad = %SystemRoot%\System32\Notepad.exe
Notepad as Admin = *A Notepad.exe
Paint = MSPaint.exe
Calculator = calc.exe
Character Map = CharMap.exe
Regedit = *A Regedit.exe
vCloudInfo.com = | https://vCloudInfo.com ||| URL
Wordpad = %ProgramFiles%\Windows NT\Accessories\wordpad.exe
New Outlook = olk.exe
SEP =
Control Panel = control.exe
Settings = shell:AppsFolder\windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel
Task Manager = TaskMgr.exe
Device Manager = C:\Windows\System32\hdwwiz.cpl
Bubbles = Bubbles.scr | -s
SEP =
SUB = Programs | "%ProgramData%\Microsoft\Windows\Start Menu\Programs" | "%AppData%\Microsoft\Windows\Start Menu\Programs"
SUB = Desktop | %Public%\Desktop | %UserProfile%\Desktop
SUB = All UWP/MSIX Apps| @Metro

[Consoles]
CMD = cmd.exe | /K CD /D C:\
CMD as Admin = *A cmd.exe | /K CD /D C:\
PowerShell = powershell.exe | -NoLogo -NoExit -Command CD C:\
PowerShell as Admin = *A powershell.exe | -NoLogo -NoExit -Command CD C:\
Terminal = shell:AppsFolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

[Folders]
C: = | C:\ ||| DRV
D: = | D:\ ||| DRV
SEP =
%Temp% = | %Temp% ||| DIR
Documents = | shell:Personal ||| imageres.dll,-112
Pictures = | "shell:My Pictures" ||| %SystemRoot%\system32\imageres.dll,-113
Downloads = | shell:Downloads ||| %SystemRoot%\system32\imageres.dll,175
AppData = | shell:AppData ||| DIR

[Some UWP Apps]
Alarms = shell:AppsFolder\Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
Calculator = shell:AppsFolder\Microsoft.WindowsCalculator_8wekyb3d8bbwe!App
Calendar = shell:AppsFolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar
Camera = shell:AppsFolder\Microsoft.WindowsCamera_8wekyb3d8bbwe!App
Maps = shell:AppsFolder\Microsoft.WindowsMaps_8wekyb3d8bbwe!App
Movies = shell:AppsFolder\Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo
Music = shell:AppsFolder\Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic
News = shell:AppsFolder\Microsoft.BingNews_8wekyb3d8bbwe!AppexNews
Recorder = shell:AppsFolder\Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App
Security = shell:AppsFolder\Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI
Sticky Notes = shell:AppsFolder\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App
Store = shell:AppsFolder\Microsoft.WindowsStore_8wekyb3d8bbwe!App
Weather = shell:AppsFolder\Microsoft.BingWeather_8wekyb3d8bbwe!App
Your Phone = shell:AppsFolder\Microsoft.YourPhone_8wekyb3d8bbwe!App


Appendix II: Direct Actions

“Direct actions” are an advanced capability that allows most zLauncher “convenience” hotkeys and some of its other features, all of which are explained elsewhere in this help file, to be triggered either (1) via custom menu items (as a sometimes more convenient alternative to using the keyboard) or (2) externally from shortcuts, command lines, or scripts. The syntax for both methods is explained below followed by an alphabetical list of the available “action codes” and of their purpose. Note that not all of these actions are necessarily useful or have the expected effect when defined as custom menu items or when triggered externally, so be sure to confirm that the ones you use perform their intended function before relying on them.

(1) To define a custom menu item that performs a particular direct action, use the following syntax in the INI file:
Item Name = @Action | ActionCode (a default icon will be used)
-or-
Item Name = @Action | ActionCode | | | icon_to_use (to specify an icon)

Example: Paste a snippet = @Action | PasteSnippet

(2) To trigger an action externally via command line, script, or shortcut, use the following syntax:

"path_to_zLauncher\zLauncherMsg.exe" /Action ActionCode

Example: "C:\Program Files\zLauncher\zLauncherMsg.exe" /Action HotkeysOff

Here are the available zLauncher “action codes” and the function they each perform:

Action Code | Equivalent To | Purpose / Explanation
About | Options menu > About zLauncher | Displays the About dialog.
AddToMenu | Ctrl + Shift + Z | Adds the active window's executable to the menu.
Attribs | Ctrl + Shift + A | Displays a file's or folder's full set of attributes.
CapScreen CapWindow CapMouse CapRegion CapLast | PrtScn Alt + PrtScn Shift + PrtScn Ctrl + PrtScn Ctrl + Shift + PrtScn | Capture screenshots of, respectively, the full screen, the active window, the window under the mouse, screen region(s), or the last captured area.
CapShow | Ctrl + Alt + PrtScn | Displays the last captured screenshot in the image viewer.
CBExport | Ctrl + Shift + L | Exports the clipboard to a specified machine/profile.
CBImport | Ctrl + Alt + L | Imports the clipboard exported to the current profile.
Clock | Ctrl + Shift + K | Opens the Clock/Timer.
CmdHere | Ctrl + Shift + C | Opens CMD at the current folder.
CmdHereA | Ctrl + Alt + C | Opens CMD as Admin at the current folder.
CopySnippet | Ctrl + Alt + I | Copies a saved snippet to the clipboard from a menu.
CopyU | Ctrl + Shift + Y | Copies unformatted text to the clipboard.
CopyUH | Ctrl + Alt + Y | Copies unformatted text, stripping HTML tags.
Count | Ctrl + Shift + # | Show selected characters & lines count.
DateCalc | Ctrl + Shift + D | Opens the Date/Time calculator.
ExitApp | Options menu > Exit zLauncher | Terminates zLauncher.
Find | Ctrl + Shift + F | Opens a new "Universal Find" dialog.
FindA | Ctrl + Alt + F | Opens a new elevated "Universal Find" dialog.
Help | Options menu > zLauncher Help | Displays this help file.
Hide | Ctrl + Shift + H | Hides the active window.
HotkeysOff | Options menu > Disable All Hotkeys | Temporarily disables all zLauncher hotkeys.
HotkeysOn | Options menu > Re-enable Hotkeys | Re-enables not-otherwise-disabled hotkeys.
HotZonesOff | Options menu > Disable Hot Zones | Temporarily disables zLauncher hot zones.
HotZonesOn | Options menu > Enable Hot Zones | Re-enables the hot zones.
IPCalc | Ctrl + Shift + N | Opens the IPv4 network calculator.
Minimize | Ctrl + "Browse Back" mouse button | Minimizes the active app window.
PasteK | Ctrl + Shift + V | Pastes as keystrokes ("PaK").
PasteKD | Ctrl + Shift + V & hold Ctrl | Pastes as keystrokes after a delay.
PasteKDSlow | Ctrl + Alt + V & hold Ctrl | Pastes as keystrokes slowly after a delay.
PasteKSlow | Ctrl + Alt + V | Pastes as keystrokes slowly.
PasteSnippet | Ctrl + Shift + I | Pastes a saved snippet from a menu.
ProcTree | Ctrl + Alt + T | Displays the selected process's ancestors.
Props | Ctrl + Shift + ? | Show enhanced Properties of selected shell item.
PropsSec | Ctrl + Alt + ? | Show item's enhanced Properties' Security tab.
PsHere | Ctrl + Shift + P | Opens PowerShell at the current folder.
PsHereA | Ctrl + Alt + P | Opens PowerShell as Admin at the current folder.
QuickRef | Options menu > Hotkey Control & Reference | Opens the Hotkey Control & Reference panel.
RegEx | Ctrl + Shift + G | Opens the RegEx Search & Replace Tool.
RegExW | Ctrl + Alt + G | RegEx Search & Replace Tool with word wrapping.
Resolve@ | Ctrl + Shift + @ | Resolves the selected indirect @string.
RestartApp | Options menu > Restart zLauncher | Exits and restarts zLauncher.
Restore | Ctrl + "Browse Forward" mouse button | Restores the last minimized app window.
RunThis | Ctrl + Shift + R | Runs the highlighted text.
RunThisA | Ctrl + Alt + R | Runs the highlighted text as Admin.
ShowImage | Ctrl + Alt + @ | (Resolves if @string and) Displays image file(s).
ShowMenu | Win + Z or "Browse Back" mouse button | Pops up the zLauncher menu.
ShowOptions | "Browse Forward" mouse button | Pops up the zLauncher Options menu.
Sort | Ctrl + Shift + S | Opens the Sorting Tool.
SpellCheck | Ctrl + Alt + S | Spellchecks the selected text.
SysInfo | "System Info" button in About dialog. | Displays the System Info message box.
Taskbar | Shift + "Browse Back" mouse button | Brings up the Taskbar if currently obscured.
Timestamps | Ctrl + Alt + D | Opens the Timestamp converter.
Topmost | Ctrl + Shift + T | Toggles the active window's "always on top" status.
TrayHide | Options menu > Hide all tray icons | Hides all system tray icons (Windows 11).
TrayShow | Options menu > Show all tray icons | Shows all system tray icons (Windows 11).
Unhide | Ctrl + Alt + H | Unhides previously hidden item(s) from a menu.
WhatUses | Ctrl + Shift + U | List processes using the selected file.
WhatUsesA | Ctrl + Alt + U | Same as WhatUses, but obtain the info as Admin.
WinInfo | Ctrl + Shift + W | Displays process info for the window under the mouse.
WinInfoA | Ctrl + Alt + W | Same as WinInfo, but obtain the info as Admin.
WinMove | Ctrl + Shift + M | Moves the active window's upper-left corner to the mouse.
WinMoveBR | Ctrl + Alt + M | Moves the active window's bottom-right corner to the mouse.