如何在 Windows 11 上添加 Flutter Windows 应用程序启动?

问题描述 投票:0回答:1

我希望我的 flutter windows 应用程序在系统启动时自动启动。

我使用 win32 包来实现此目的,它可以在 Windows 10 上运行。但在 Windows 11 上,不会创建任何注册表项。

我还在启动应用程序文件夹中添加了exe的快捷方式,但仍然不起作用。

我禁用了后卫,禁用了安全启动,没有运气。

如有任何建议,我们将不胜感激。

win32 用法:

void addApplicationToStartup() {
  var path = Platform.resolvedExecutable;
  final key = 'Software\\Microsoft\\Windows\\CurrentVersion\\Run';

  final hkey = calloc<HKEY>();
  final lpKey = TEXT(key);

  final lpValueName = "MyApp".toNativeUtf16();

  final lpData = path.toNativeUtf16();

  try {
    // Open the registry key
    final result = RegOpenKeyEx(
        HKEY_CURRENT_USER, lpKey, 0, KEY_WRITE, hkey);
    if (result != ERROR_SUCCESS) {
      throw WindowsException(result);
    }

    // Set the registry value
    final result2 = RegSetValueEx(
        hkey.value,
        lpValueName,
        0,
        REG_SZ,
        lpData.cast<Uint8>(),
        (path.length + 1) * sizeOf<Uint16>());
    if (result2 != ERROR_SUCCESS) {
      throw WindowsException(result2);
    }

    print('Application added to startup successfully.');
  } finally {
    // Clean up
    free(hkey);
    free(lpData);
    free(lpKey);
    free(lpValueName);
  }
}
startup boot autostart flutter-windows
1个回答
0
投票

我解决了这个问题。问题是我试图添加我的应用程序来启动需要提升权限的应用程序。删除提升的权限要求后,该应用程序被添加到启动。

© www.soinside.com 2019 - 2024. All rights reserved.