Namespace VisioForge.Core.UI.WinForms.Dialogs
Namespaces
Classes
- GlobalKeyboardHook
-
Provides system-wide keyboard hook functionality using Windows Low-Level Keyboard Hook API. Enables monitoring of global keyboard events across all applications with optional key filtering. This class implements a low-level keyboard hook that captures keyboard events before they reach the target application.
- GlobalKeyboardHookEventArgs
-
Provides event data for global keyboard hook events. Contains detailed information about a keyboard event captured by the GlobalKeyboardHook, including the key data, state, and modifier key information.
- LogDialog
-
A Windows Forms dialog for displaying error messages and log entries. This dialog is shown when the OnError event is not implemented in client code, providing a default error display mechanism for the VisioForge media framework.
- WindowCaptureForm
-
A specialized WinForms dialog for interactively selecting and capturing application windows.
This borderless, semi-transparent form provides a visual interface for selecting windows to capture by hovering over them with the mouse cursor. When activated via a global hotkey, it displays a camera crosshair overlay and allows users to click on any window to capture its handle and properties. The selected window can then be used as a capture source for screen recording or streaming applications.
Key features:
- Global hotkey activation (default: Ctrl+Shift+Q)
- Semi-transparent camera icon cursor overlay
- Real-time window information display
- Parent window capture support
- Configurable border color for selection feedback
- Mouse drag repositioning capability
- Non-intrusive fuchsia transparency key
Architecture:
- Borderless form with transparency for overlay effect
- Global keyboard hook for hotkey detection
- Real-time cursor position tracking
- Win32 API integration for window enumeration
Usage workflow:
- Form is created and positioned
- User presses configured hotkey (Ctrl+Shift+Q)
- OnCaptureHotkey event fires
- User moves cursor over target window
- InfoLabel displays window information
- User clicks to capture window handle
- CapturedWindowHandle and CapturedWindowText properties are set
Threading: All operations should occur on the UI thread. Global keyboard hook events are marshaled appropriately.
Structs
- GlobalKeyboardHook.LowLevelKeyboardInputEvent
-
Represents low-level keyboard input event data from the Windows KBDLLHOOKSTRUCT structure. Contains detailed information about a keyboard event captured by the low-level keyboard hook.
Enums
- GlobalKeyboardHook.KeyboardState
-
Represents the different states of keyboard events that can be captured by the hook. These values correspond to Windows keyboard message identifiers.