A professional Qt/C++ desktop application that interfaces with Windows 11 Live Captions to provide monitoring, control, and caption text capture capabilities. This project demonstrates advanced Windows API integration, UI Automation, and modern Qt development practices.
- Automatic Launch & Detection - Launches Windows 11 Live Captions via system protocols
- Real-time Caption Monitoring - Captures and displays live caption text using UI Automation API
- Process Management - Detects running instances and manages Live Captions lifecycle
- Caption History - Timestamped log of all captured captions with export capability
- Direct Settings Access - Quick access to Windows Live Captions configuration
- Windows UI Automation API integration for accessible caption text extraction
- COM/OLE programming for Windows system integration
- Process enumeration using Toolhelp32 API
- UWP app launching via Shell Execute and PowerShell protocols
- Modern Qt Widgets with custom styling and responsive design
Clean, professional interface with real-time caption monitoring
Live caption text capture with timestamps
Direct access to Windows Live Captions settings
- Windows 11 (Live Captions is Windows 11 exclusive)
- Qt 5.15+ or Qt 6.x
- MSVC 2019+ or MinGW 8.1+ compiler
- Windows SDK 10.0+ (for UI Automation headers)
- Clone the repository
git clone https://github.com/James1020-world/Qt-LiveCaption.git
cd Qt-LiveCaption-
Open in Qt Creator
- Open
LiveCaption.proin Qt Creator - Configure your kit (MSVC recommended)
- Build the project (Ctrl+B)
- Open
-
Or build via command line
qmake LiveCaption.pro
nmake # or mingw32-make for MinGW- Run the application
./release/LiveCaption.exe-
Launch the Application
- Run
LiveCaption.exe - The app will check if Live Captions is already running
- Run
-
Start Monitoring
- Click "Start Monitoring" to launch Live Captions (if not running)
- The app will automatically connect and begin capturing caption text
-
View Captured Captions
- All captions appear in the main text area with timestamps
- Use "Clear History" to reset the display
-
Configure Settings
- Click "Open Windows Settings" to access Live Captions configuration
- Adjust language, position, and appearance in Windows Settings
-
Stop Monitoring
- Click "Stop Monitoring" to pause caption capture
- Choose whether to close Live Captions or leave it running
MainWindow (mainwindow.h/cpp)
- Main application controller
- UI Automation integration
- Process management logic
- Caption text extraction and display
Windows API Integration
IUIAutomation- UI Automation for caption text readingToolhelp32- Process enumeration and detectionShellExecute- UWP app launchingCOM/OLE- Windows component object model
Qt Components
QMainWindow- Main application windowQTimer- Periodic caption pollingQProcess- System command execution- Custom UI styling with Qt Style Sheets
// Initialize COM and UI Automation
CoInitializeEx(nullptr, COINIT_MULTITHREADED);
CoCreateInstance(__uuidof(CUIAutomation), nullptr,
CLSCTX_INPROC_SERVER, __uuidof(IUIAutomation),
(void**)&m_automation);
// Extract caption text from Live Captions window
IUIAutomationElement *rootElement = nullptr;
m_automation->ElementFromHandle(m_captionWindow, &rootElement);// Enumerate processes to detect Live Captions
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
Process32FirstW(snapshot, &processEntry);
// Check for LiveCaptions.exe in process list// Launch via Windows Settings protocol
ShellExecuteW(nullptr, L"open",
L"ms-settings:easeofaccess-closedcaptioning",
nullptr, nullptr, SW_SHOWNORMAL);Qt-LiveCaption/
โโโ main.cpp # Application entry point
โโโ mainwindow.h # Main window header
โโโ mainwindow.cpp # Main window implementation
โโโ mainwindow.ui # Qt Designer UI file
โโโ LiveCaption.pro # Qt project file
โโโ README.md # This file
โโโ LICENSE # MIT License
โโโ screenshots/ # Application screenshots
This project demonstrates proficiency in:
- Windows API Programming - UI Automation, Process Management, Shell Integration
- COM/OLE Development - Component Object Model interfaces and lifecycle
- Qt Framework - Widgets, signals/slots, event handling, custom styling
- C++17 - Modern C++ features and best practices
- Desktop Application Development - Professional UI/UX design
- System Integration - Interfacing with Windows 11 system features
- Windows 11 Only - Live Captions is exclusive to Windows 11
- UI Automation Dependency - Caption extraction relies on accessibility APIs
- UWP Restrictions - Limited control over Live Captions window properties
- Language Settings - Language changes require Windows Settings (no direct API)
- Export captions to text/SRT files
- Real-time translation integration
- Custom caption overlay window
- Speech recognition fallback (Azure/Google APIs)
- Caption search and filtering
- Keyboard shortcuts and hotkeys
- System tray integration
- Multi-monitor support
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name
- GitHub: @James1020-world
- Windows 11 Live Captions team for the accessibility feature
- Qt Project for the excellent cross-platform framework
- Microsoft UI Automation documentation and examples
For questions, suggestions, or collaboration opportunities:
- Email: [email protected]
- GitHub Issues: Create an issue
Note: This is a demonstration project showcasing desktop application development skills. It interfaces with Windows 11 Live Captions but does not modify or reverse-engineer the original application.