1
4
我不认为有一种简单的方法可以解析互斥体的实际所有者,但是拥有它的进程可以创建其他次要项,这些次要项的生命周期与互斥体相关。有许多机制适合在没有主窗口的情况下跨进程回调。
以下是前两个选项的参考链接。 |
2
10
这应该可以让您根据原始请求开始获取拥有互斥体的进程。 它在C中,但Win32调用是相同的。
|
3
2
我从来没有真正理解使用一个没有信号能力的互斥体背后的合理性。我将创建一个事件(使用CreateEvent),它与创建互斥体具有相同的属性(即,它可以返回对象已经存在的名称),但您可以在新进程中设置事件标志,只要原始进程正在等待事件标志,它可以在需要唤醒自身时得到通知。 |
4
2
创建一个 共享内存区 固定名称: http://msdn.microsoft.com/en-us/library/aa366551%28VS.85%29.aspx 然后你可以把你喜欢的任何结构放在里面,包括进程ID,hwnd等等。 有一个便携的选择 :在端口上创建一个套接字(使用固定的数字),然后在其上等待(接受)。由于端口已被占用,应用程序的第二个实例将失败。然后第二个实例可以连接到主实例的套接字并发送所需的任何信息。 我希望这有助于… |
5
1
您总是可以用Unix的方式来做,并创建一个“pid”文件,将当前正在运行的实例的进程ID放入该文件中。然后让应用程序在退出时删除该文件。 当一个新的实例启动时,它应该验证pid文件中的进程是否也处于活动状态(以防应用程序异常退出而文件没有被删除)。 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
rhymes · 如何让线程操作相同的java列表 2 年前 |