React Native Windows native module for launching external applications, executables, batch scripts, and URI targets.
This package is Windows-only. It exposes a TurboModule-backed API for starting desktop processes and bringing companion app windows forward from a React Native app.
npm install react-native-launcher-windowsimport {
bringWindowToFront,
launchBatchFile,
launchProcess,
launchUri,
} from 'react-native-launcher-windows';
await launchProcess({
filePath: 'C:\\Tools\\Helper.exe',
arguments: ['--silent'],
workingDirectory: 'C:\\Tools',
});
await launchBatchFile({
filePath: 'C:\\Scripts\\helper.bat',
arguments: ['sync'],
});
await launchUri({
uri: 'https://reactnative.dev',
});
await bringWindowToFront({
executableName: 'Helper.exe',
});Launches an executable with optional arguments and an optional working directory.
await launchProcess({
filePath: 'C:\\Program Files\\MyApp\\MyApp.exe',
arguments: ['--mode', 'desktop'],
workingDirectory: 'C:\\Program Files\\MyApp',
});Launches a .bat or .cmd file through cmd.exe.
await launchBatchFile({
filePath: 'C:\\Automation\\run-task.bat',
arguments: ['nightly'],
});Opens a URI target using the Windows shell.
await launchUri({
uri: 'my-helper-app://open/settings',
});Finds a visible top-level window and tries to restore/foreground it. Matching precedence is:
processIdexactTitletitleContainsexecutableName
await bringWindowToFront({
titleContains: 'Companion App',
});Launch methods resolve to:
type LaunchResult = {
success: true;
method: 'process' | 'batch' | 'uri';
target: string;
processId: number | null;
};bringWindowToFront resolves to:
type BringToFrontResult = {
success: boolean;
processId: number | null;
windowTitle: string | null;
};- Windows only
- No stdout or stderr capture
- No wait-for-exit or exit code reporting
bringWindowToFrontonly searches visible top-level windows- Window activation can still be limited by Windows foreground restrictions
- Run the example app on Windows and use the sample screen in example/src/App.tsx.
- Validate an
.exelaunch with arguments and working directory. - Validate a
.batlaunch throughcmd.exe. - Validate a standard URL and any registered custom URI scheme.
- Validate window activation by process ID, exact title, partial title, and executable name.
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
Made with create-react-native-library