没有桌面客户端开发经验的小白,做客户端一般是按前端的方式去做。主要是写页面。但是如何实现一些系统相关的功能(如复制粘贴、切换窗口),这里提供几种思路。 第一种思路是用 AppleScript (对于 MacOS 系统) ,但执行速度会比较慢,并且和 rust 通信需要时间。 第二种思路是模拟用户键盘事件,这种在大部分情况下没啥问题,但是应该稳定性会差一些。例如模拟键盘 Command+Tab 实现切换窗口时,有时候会失败,需要在按键之间加延迟 第三种就是直接调用系统的方法,例如在 Mac 上可以用 cocoa ,在 Windows 上可以用 winapi 。但这个门槛会比较高。
1
nulIptr 179 天前
模拟键盘事件也是调用系统 api ,为啥不直接调用 api 呢;
tauri 在 win 上面调用 winapi 比 c#麻烦不少,如果原生 api 用的多还不如 cef ,毕竟如果都不太熟悉的话,c#在语言层面也比 rust 简单 |