请教一下关于一个应用只运行一个实例的技术细节问题
标题:
请教一下关于一个应用只运行一个实例的技术细节问题
内容:
Winamp(一种播放mp3的软件,鼎鼎大名)具有如下两个功能
1.可以只运行一个实例
2.当你双击硬盘上的扩展名为mp3的文件的时候,将自动打开Winamp播放;
但是如果有一个实例正在运行的时候,则清空当前列表,把双击的文件名
加入列表内开始播放。
其中,第1个特征和第2个特征的头半部分我都能实现,只是第2个特征的
后半部分难以实现,不知道是什么原理。
我的程序的
BOOL CMyPlayerApp::InitInstance()的处理中
首先::GlobalFindAtom()查找是否已经运行,
如果存在,就return FALSE;直接结束运行的新的实例了。
如果想实现我说的那个问题的话,是不是在返回之前,发送个
WM_COPYDATA消息给已经存在的实例?
还是另有高明的办法来实现,请高人指点!