简体   繁体   English

我正在开发一个简单的跨平台系统任务栏应用程序。 这里是要求,我应该使用哪些工具?

[英]I'm developing a simple cross platform system tray application. Here are the requirements, which tools should I use?

I hope you can help! 希望您能提供帮助!

In brief, what I need is something like a cross platform web browser, with little or no chrome, that is easily distributable and allows the (local and remote) HTML pages running in it to receive messages (JavaScript?) when system global hotkeys are pressed. 简而言之,我需要的是像跨平台Web浏览器那样的浏览器,它几乎没有或几乎没有chrome,可以轻松分发,并且当系统全局热键为时,允许其中运行的(本地和远程)HTML页面接收消息(JavaScript?)。按下。

I'm developing a desktop application which will utilise an existing web-based REST API. 我正在开发一个桌面应用程序,它将利用现有的基于Web的REST API。 I would like this app to be cross-platform (Windows, Mac OS and Linux) and have a consistent interface across all platforms. 我希望这个应用程序可以跨平台(Windows,Mac OS和Linux)并且在所有平台上都具有一致的界面。 The app runs in the system tray and uses global hotkeys for convenient access to a lot of it's functions without having to open the main UI window. 该应用程序在系统托盘中运行,并使用全局热键方便地访问其许多功能,而无需打开主UI窗口。

I have already written a rough initial version of the app using C#/Windows Forms, but there are a few issues. 我已经使用C#/ Windows窗体编写了该应用程序的粗略初始版本,但存在一些问题。 It currently uses unmanaged Win32 code to provide support for global hotkeys, which is not cross-platform even if I ported it to Mono. 它当前使用非托管Win32代码来提供对全局热键的支持,即使我将其移植到Mono上,它也不是跨平台的。 Plus, it's really not very pretty... 另外,真的不是很漂亮...

Ideally, I'd like to build the UI using traditional web technologies like XHTML/CSS and use JavaScript/AJAX to communicate with the remote API, which is why I thought Adobe AIR would be a good solution—but unfortunately it still doesn't support global hotkeys . 理想情况下,我想使用XHTML / CSS之类的传统Web技术构建UI,并使用JavaScript / AJAX与远程API进行通信,这就是为什么我认为Adobe AIR将是一个很好的解决方案,但是不幸的是, 它仍然没有支持全局热键 I've also looked at XULRunner but I'm not sure I properly understand what that's intended for. 我也看过XULRunner,但不确定我是否正确理解它的用途。

So the basic requirements for whichever combination of tools I will use are: 因此,无论我将使用哪种工具组合,其基本要求是:

  1. Allow me to create the user interface in XHTML/CSS/JavaScript 请允许我在XHTML / CSS / JavaScript中创建用户界面
  2. JavaScript to remotely communicate with the web API via AJAX JavaScript,可通过AJAX与Web API进行远程通信
  3. Allow the app to show—and be accessible via—a tray icon (in whatever OS it's running on) 允许该应用显示并通过托盘图标访问(在运行该操作系统的任何操作系统中)
  4. Allow the app to respond to global hotkeys (again, in whatever OS it's running on) 允许应用程序响应全局热键(同样,在运行的任何操作系统上)

Does anyone have any advice for me on this? 有人对此有任何建议吗? I'm open to any suggestions and examples, no matter the language or tool. 我愿意接受任何建议和示例,无论使用哪种语言或工具。

Edit: I just stumbled across Nokia's Qt Toolkit , does anyone have any experience with this? 编辑:我偶然发现了诺基亚的Qt Toolkit ,有人对此有任何经验吗?

I think AIR application is a good solution. 我认为AIR应用程序是一个很好的解决方案。 For the global hotkeys there are some "alternatives" Can I assign a global hotkey to an Adobe AIR app? 对于全局热键,可以使用一些“替代方法”。 可以将全局热键分配给Adobe AIR应用程序吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我应该在这里使用哪个事件? - Which event I should use here? 使C#/ Winform应用程序跨平台 - 我应该使用AIR,Mono还是其他东西? - Making a C#/Winform application cross-platform - should I use AIR, Mono, or something else? 我应该使用 Prism 开发简单的桌面应用程序吗? C# - Should I use Prism for developing simple desktop applications? C# 如何关闭(不杀死)已最小化到系统托盘的应用程序? - How do I close (not kill) an application which has minimized to the system tray? DLL项目应该是跨平台使用的类型 - DLL project should be of which type for cross platform use 无法在 UWP 应用程序中访问我的系统驱动器文件夹。 当我使用 Directory.Exists 时总是返回 false - Not able to access my system drive folder in UWP application. always return false when i use Directory.Exists 我应该使用哪种技术来公开服务器文件系统? - Which technology should I use to expose a server files system? 我应该在这里使用ref或out关键字吗? - Should I use the ref or out keyword here? 任何人都可以对执行.net Console应用程序时收到的错误有所了解。 (System.Runtime.InteropServices.COMException(0x80040111) - Can anyone shed some light on error I'm receiving when executing .net Console application. (System.Runtime.InteropServices.COMException (0x80040111) 我已经在我的应用程序中创建了一个notifyicon,但我想让它在应用程序关闭时保留在系统托盘中 - I have made a notifyicon in my application but i want to make it stay in system tray when application closes
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM