c++ - 使用 Win32/MFC 将文件位置传递给外部进程

标签 c++ c windows

我正在尝试在这里满足客户的请求,但我不完全确定我是否真的可以做到。我有一个 MFC 应用程序,它依赖 ShellExecute 在相应的查看器中打开文件,如果您尝试一个接一个地打开多个文件,它会生成多个查看器。如果您打开一个 .txt 文档,然后打开另一个,则会按预期显示两份记事本拷贝。

客户希望我们更改此功能(Windows 的功能),以便仅将文件位置传递给可能已打开的任何查看器。单击的第一个图像应打开图像查看器,但任何其他图像都应在现有进程中打开。

这种应用程序间控制/通信可能吗?我通常可以将文件“传递”到现有进程吗?我想我不能。使用文件作为参数执行程序是一回事,但将文件传递给正在运行的进程则完全是另一回事。我不确定您是否可以普遍做到这一点,我认为 Windows API 中没有这种功能。

不过,我可能是错的。

最佳答案

如果查看器不支持在同一实例中打开多个文件,则这是不可能的。

在您的示例中:记事本将启动每个文件的新版本,而 Notepad++(免费编辑器)将在新选项卡中的同一实例中打开。

关于c++ - 使用 Win32/MFC 将文件位置传递给外部进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3238713/

相关文章:

c++ - 子类是否需要 Q_INTERFACES 宏?

对C中的递归感到困惑

python - 如何更改python中指针的位置?

c - 功能:变量替换

python - Azure 上带有 Windows Docker 容器的 Django Web 应用程序 : Invalid HTTP_HOST header: '10.40.0.7:30015' . 您可能需要将 '10.40.0.7' 添加到 ALLOWED_HOSTS

windows - 为什么 win.focus() 不把窗口带到前面?

c++ - 打印多 map map 的方法?

c++ - 更改代码块中的默认终端

C++ 获取自 01/01/0001 00 :00:00 以来的毫秒数

C 结构体 : segmentation fault