windows - 关联 App Store 应用程序和桌面应用程序的方法

标签 windows winapi windows-8 windows-runtime windows-store-apps

我正在开发一款适用于 Windows 8 的产品,它需要执行一些低级任务、显示一些 UI 以及与外部服务器通信。我绝对需要 Windows 服务来完成低级任务。同时,我想在 UI 中使用 Windows App Store 应用程序的酷炫功能,如推送通知、动态磁贴等。在此设计中,我的服务和我的应用程序都将与我的外部服务器通信。

流程类似于:我的 Windows 服务向我的服务器发送一些信息,然后服务器向我的 App Store 应用发送推送通知。

我知道在这种情况下部署不是很好,但让我们暂时把它放在一边。我的问题:服务器如何知道服务和应用程序在同一台机器上,并因此链接在一起?即当我的 Windows 服务向服务器发送信息时,服务器如何知道将推送通知发送到哪里?我需要某种共享的、独特的、识别信息。

我看到很多关于 App Store 应用程序和桌面应用程序之间缺乏进程间通信的讨论(本质上通常是令人沮丧的)。就我而言,我有两个选择:

  1. 在服务和应用中生成完全相同的唯一标识符。这似乎不太可能,因为应用程序似乎无法访问非常多的系统特定信息。我很想证明我在这件事上是错的。

  2. 在服务器或应用程序中生成一个唯一标识符,并将其传达给其他组件。可能的方法:

    • 在应用中创建标识符,将其保存到文件中,然后从服务访问该文件。
    • 某种本地套接字解决方案(我读过这不起作用,但还没有尝试过)

当然,选项 2 似乎可能会违反 Windows 8 应用 Certification Requirements ,特别是:

Windows Store apps must not communicate with local desktop applications or services via local mechanisms, including via files and registry keys.

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

最佳答案

我不是律师,但如果它说“通过本地机制”那么你仍然可以通过云服务进行通信,只要安装这两个应用程序并不是应用程序中的某些功能所必需的,或者如果你并不意味着在商店中发布该应用程序。

您可以在文档文件夹中保存某种 token ,或者如果您的桌面应用程序可以在适当的权限下运行 - 它可以访问 Windows 应用商店应用程序的本地数据文件夹以同步用于与 Web 服务通信的 token .

也许可以只要求用户在两个应用之间复制和粘贴 token ?

关于windows - 关联 App Store 应用程序和桌面应用程序的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14884040/

相关文章:

python - 如何使用剪贴板操作 (ctrl-c/ctrl-v) 复制/剪切/粘贴文件

delphi - BCryptEncrypt 在 AES-GCM 上返回 STATUS_INVALID_PARAMETER

c++ - MessageBox 和 ShellExecute 成功,但如果在应用程序退出之前立即调用则不会显示任何内容

c# - 如何从 WinRT/Windows 应用商店应用程序发送电子邮件?

xaml - 将新的 Windows 8.1 搜索框设置为仅使用字形

python - pyOpt for python 3安装报错

linux - Windows Git 服务器和 Linux Git 客户端

python - multiprocessing.manager 问题 sys.args

c++ - MFC 将消息发送到主线程(而不是窗口)?

php - 无法加载和使用 Imagick(DLL 错误)(Windows 8)