Enforce Mandatory Desktop Classification Markings
NetMark is a zero-dependency, single-file Windows executable that injects a persistent classification banner directly into the Windows shell via native AppBar registration. Maximized windows cannot cover it. Users cannot dismiss it. Deploy to 10,000 endpoints in minutes.
28+ USA Classification Presets
Click any preset below to instantly retheme the live global banner pinned to the top of this page. This is a 1:1 simulation of the AppBar hook—the same thing happens on your endpoints when the INI file is modified.
Engineered for the Enterprise
NetMark operates at the Windows shell level. It does not draw a floating window on top of the desktop—it registers as a native Application Desktop Toolbar, instructing the OS to reserve physical screen real estate that maximized windows mathematically cannot overlap.
Native AppBar Registration
Uses the SHAppBarMessage Win32 API to register as a system-level Application Desktop Toolbar. The OS reserves screen space at the top of every monitor. Maximized windows are clamped below the banner automatically.
Multi-Monitor PerMonitorV2 DPI
Detects all connected monitors and places a banner on each one. Full PerMonitorV2 DPI awareness means correct rendering on mixed-DPI setups—a 1080p and a 4K monitor side by side, each with natively scaled banners. Multi-monitor RDS configurations are fully supported.
PerMonitorV2Zero Runtime Dependency
Compiled as a single-file self-contained executable with the .NET 8 runtime embedded. No installer, no prerequisites, no system changes. Drop the ~70 MB EXE on any supported Windows machine and run—no .NET framework installation required on the target.
Self-ContainedRDP Session Awareness
Listens to WTS Session change notifications and foreground window events. Automatically hides the local banner when a full-screen RDP session is active. On RDS session hosts, detects remote vs. console sessions and shows or hides the banner per-session, preventing layered classification markings from clashing.
WTS NotificationReal-Time Network Telemetry
Subscribes to NetworkAddressChanged events. The %IP_ADDRESS% variable refreshes within 2 seconds of any adapter change—no polling, no CPU waste. Critical for hosts with multiple NICs, VLAN-tagged interfaces, or failover cluster networks.
Click-Through & Non-Interfering
The WS_EX_TRANSPARENT window style ensures all mouse and hit-test events pass through to windows beneath. The banner never steals focus, intercepts clicks, or interferes with application interaction—critical for admin consoles and RDP management windows.
Hot-Reload Configuration
A FileSystemWatcher monitors the INI file. Save a new configuration and every running banner picks up the change instantly—no process restart, no user logoff, no GPO refresh cycle required. Push a new INI to 500 hosts and every banner updates within milliseconds.
Screen Edge Borders
Optional colored borders wrap the left, right, and bottom of every monitor. The bottom border queries the taskbar position via ABM_GETTASKBARPOS and positions itself above the taskbar automatically, so the border never overlaps the system tray or pinned apps.
Single Instance Mutex
A global mutex (Global\NetMarkSingleInstance) prevents duplicate processes. If a second instance is launched, it exits silently. No banner stacking, no resource waste. Works correctly across multiple concurrent RDS sessions—each session gets its own banner instance.
How NetMark Works
From INI configuration to rendered AppBar in milliseconds. Every component is designed for zero-maintenance continuous operation.
NetMark.ini
Human-readable config. Single source of truth for all settings.
FileSystemWatcher
Detects INI changes. Triggers hot-reload without restart.
SHAppBarMessage
Registers with OS as AppBar. Reserves screen space per session.
Rendered Banner
Persistent top-most window. Click-through. DPI-aware. Always visible.
Frictionless Enterprise Rollout
Control everything from a single human-readable INI file. Perfect for mass deployment via Microsoft Intune, SCCM, or Group Policy. No MSI installer required—just copy the EXE and INI.
📦 Automated Provisioning
Push the binary to your endpoints and establish persistence via registry. The configuration hot-reloads via FileSystemWatcher—modify the INI file over the network and the banner updates instantly without a process restart.
📁 Configuration Reference
The INI file is the single source of truth. Colors support hex codes or ARGB integers. Variables like %COMPUTERNAME% and %USERNAME% are natively resolved. Custom variables go in the [EnvVars] section.
📋 Enterprise Deployment Methods
Microsoft Intune
Package as a Win32 app with the EXE and INI. Use NetMark.exe as the install command. Add a registry Run key via PowerShell wrapper for auto-start. Assign to device groups.
SCCM / MECM
Package the EXE + pre-configured INI as an application. Use a detection rule checking for the running process. Target different INI files to different collections for per-group classification levels.
Group Policy (GPO)
Place the EXE + INI on a network share. Use Group Policy Preferences to copy files locally. Add a GPO Run key for auto-start. Different OUs can receive different INI files via item-level targeting.
Scheduled Task (HA)
For high-security environments requiring guaranteed uptime, deploy NetMark via a Scheduled Task with a 1-minute "restart if not running" trigger. If the process is killed, it relaunches within 60 seconds automatically.
RDS Session Hosts
Deploy to RDS session hosts. Each remote session gets its own banner instance via per-session mutex isolation. The console session and each RDP user see their own classification level independently—perfect for multi-tenant RDS farms.
Technical Telemetry
Every architectural decision was made with enterprise reliability as the priority. Here is the full specification sheet.
| Supported Platforms | Windows 10 / 11 • Windows Server 2016 / 2019 / 2022 / 2025 |
| Architecture | x64 (64-bit) |
| Server Roles | RDS Session Host • RDS Gateway • Admin Workstations • Jump Servers |
| Execution Level | asInvoker (Standard User — No Admin Required) |
| Runtime Environment | .NET 8 Self-Contained (Bundled) |
| Package Footprint | ~70 MB Single-File EXE |
| Dependencies | Zero |
| DPI Awareness | PerMonitorV2 |
| Window Styles | WS_EX_TOPMOST + WS_EX_LAYERED + WS_EX_TRANSPARENT |
| Shell Hook | SHAppBarMessage API |
| Taskbar Query | ABM_GETTASKBARPOS |
| Concurrency | Global Mutex (Single Instance Per Session) |
| RDS Session Isolation | Per-Session Instance (Each User Gets Own Banner) |
| Config Format | INI (Human-Readable, GPO-Friendly) |
| Configurator | Embedded HTML (Browser-Based) |
| Hot-Reload | FileSystemWatcher on NetMark.ini |
| RDP Detection | WTS Session Notification + Foreground Window Monitoring |
| Network IP Refresh | NetworkAddressChanged Event (~2s latency) |
| Multi-Monitor | EnumDisplayMonitors + Per-Monitor AppBar |
| Monitor Hot-Plug | Auto-Detect + Window Recreation |
| Classification Presets | 28+ USA Government Standard |
| Deployment Methods | GPO / SCCM / Intune / File Copy / Scheduled Task |
System Administrator FAQ
Answers to the most common questions from IT teams evaluating NetMark for production deployment.
asInvoker). The Windows AppBar registration API permits standard processes to reserve screen space on their own session. No UAC prompt will ever appear. This is critical for environments where end users do not have local admin rights, and for RDS session host users on shared hosts.NetMark.ini in the same folder as the EXE before launch. NetMark detects the existing INI and skips the configurator auto-open. The HTML configurator is still extracted to disk but is not launched. This is the recommended deployment pattern for production environments.WS_EX_TRANSPARENT extended window style and returns HTTRANSPARENT from WM_NCHITTEST. This instructs the OS compositor to pass all mouse and hit-test events directly to the window beneath. The banner will never accidentally steal focus or intercept clicks meant for applications—critical for admin consoles, Hyper-V managers, and RDP management windows.GetSystemMetrics(SM_REMOTESESSION) and WTS session change notifications, showing the banner per-session so each remote user sees the correct classification level.ABM_REMOVE on process shutdown. For high-security environments requiring guaranteed uptime, deploy NetMark via a Scheduled Task with a 1-minute restart trigger—if the process is killed, it relaunches within 60 seconds automatically.NetMark.ini, you can deploy different INI files to different machine groups. For example, deploy a SECRET INI to SCIF hosts, an UNCLASSIFIED INI to general office desktops, and a CUI INI to healthcare application servers. Use SCCM collections, Intune groups, or GPO item-level targeting to control which INI file reaches which endpoint.Secure Your Endpoints Today
NetMark is a single file, zero dependencies, and production-ready. Copy it to a machine, save your config, and every endpoint—from office desktops to RDS session hosts—is compliant in under five minutes.