Restrict a Windows app to only be able to open one instance at a time.
- Add 
WidgetsFlutterBinding.ensureInitialized();to the start of your appsmainfunction. - Add the 
asyncmodifier to your appsmainfunction. - Add a call to 
WindowsSingleInstance.ensureSingleInstance(), passing the apps startup args, a custom app string unique to your app (a-z, 0-9, _ and - only), and an optional callback function. 
void main(List<String> args) async {
    WidgetsFlutterBinding.ensureInitialized();
    await WindowsSingleInstance.ensureSingleInstance(
        args,
        "custom_identifier",
        onSecondWindow: (args) {
            print(args);
        });
    runApp(const MyApp());
}