如果我没有弄错,flutter目前是用win32库为windows实现的(尽管一些文档页指出,这可能会更改为.NET或其他框架,因为flutter窗口处于非常早期的开发阶段,并且可以在任何时候更改而不保持向后兼容性)。有什么方法可以为当前的颤振应用程序获取win32窗口句柄吗?
发布于 2021-06-28 11:50:21
static final _user32 = DynamicLibrary.open('user32.dll');
static final findWindowA = _user32.lookupFunction<
Int32 Function(Pointer<Utf8> _lpClassName, Pointer<Utf8> _lpWindowName),
int Function(Pointer<Utf8> _lpClassName,
Pointer<Utf8> _lpWindowName)>('FindWindowA');
int hWnd = findWindowA('FLUTTER_RUNNER_WIN32_WINDOW'.toNativeUtf8(), nullptr);
print(hWnd);'FLUTTER_RUNNER_WIN32_WINDOW‘是在windows/runner/win32 32_window.cpp中定义的flutter窗口类名,您可以在用户运行多个颤振应用程序时使其惟一。
toNativeUtf8是dart的一个函数。
https://stackoverflow.com/questions/59434086
复制相似问题