c++ - 如何发送应用程序的链接,如 Spotify 那样

标签 c++ winapi hyperlink protocols wtl

当我们在编辑器中保存关卡时,我们会创建一个包含它包含的所有错误的日志文件。这些基本上由错误消息和允许用户在 TreeView 中查找错误项目的路径组成。

我想要的是使该路径成为链接,例如 单击以在编辑器中查看对象

我看到的有关此问题的问题似乎指向此 msdn 页面: http://msdn.microsoft.com/en-us/library/aa767914.aspx

但据我所知,它将生成应用程序的一个新实例。我想做的就是以某种方式简单地“调用”我们的编辑器。我想,一种方法是生成它,并在开始时检查是否已经有一个实例正在运行,如果是,则向它发送命令行。

这是最好的方法吗?如果是这样,有什么想法可以做到最好吗?还有什么其他方法可以做到这一点?

另外:msdn 解决方案可以跨浏览器工作吗?我们的编辑器仅在 Windows 上运行,但人们使用 IE、Fx、GC 和 Opera。

最佳答案

如果您需要链接在任何查看器中工作,是的,注册协议(protocol)处理程序是最好的方法。

至于启动编辑器,您可以将其实现为 out-of-process COM server ,但如果你已经对命令行解析进行了排序,你不妨使用 a window message或命名管道将其传递给编辑器。如果您要发送窗口消息,可以使用 FindWindow (具有唯一的类名)来检查正在运行的实例。

关于c++ - 如何发送应用程序的链接,如 Spotify 那样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/785598/

相关文章:

c++ - 如何从 C++ 中的文件中读取乘法字符数组

c++ - 如何使Windows的备忘录无法聚焦或标签高度=其内容的大小?

javascript - Magento 2,链接无效,图像未加载

javascript - 有没有办法让 <button> 元素链接到某个位置,而无需将其包装在 <a href ... 标签中?

c++ - 判断SQLite数据库是否被锁定

c++ - 从 Gradle 迁移到 CMake for C++ 项目

c++ - 使用 boost.signals2 中继信号

python - ReadDirectoryChangesW 阻止删除监视的目录

C++从模块大小中的进程读取所有内存

javascript - 如何让 AngularJS 响应导航