gpt4 book ai didi

c# - 将参数传递给先前启动的程序实例

转载 作者:行者123 更新时间:2023-11-30 15:42:05 27 4
gpt4 key购买 nike

我需要编写程序,将一些路径作为参数,并播放位于该路径中的音频文件。但是在我第二次调用那个程序之后——我需要第一个来完成播放文件,然后——播放第二个文件,它作为参数传递给第二个实例。如果可能,如何将第二个参数作为队列传递给第一个程序实例......?

最佳答案

我猜你是在描述以下策略:-

  1. 您应用的实例 A 已打开并正在播放轨道 X。
  2. 用户在资源管理器中双击轨道 Y
  3. windows 启动您应用程序的实例 B,将文件名作为参数传递
  4. 实例B检测到实例A
  5. 实例B发送消息给实例A播放轨道Y
  6. 实例 B 关闭
  7. 实例A收到消息,停止播放轨道X,开始播放轨道Y

显然这就是 VLC 媒体播放器的工作方式。如果您尝试上述操作,您将看到在当前实例开始播放新轨道之前短时间内出现一个新的 VLC 进程。

这种非常简单的跨进程通信可以使用像System.Threading.Mutex这样的东西来实现。 .例如。您可以使用一个互斥锁来指示当前正在运行的实例的存在,而另一个互斥锁用于将新轨道名称传递给当前实例。

事实上,this article描述了一些非常相似的东西。

关于c# - 将参数传递给先前启动的程序实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com