如何实现象Windows Media Player那样,双击不同的MP3文件能播放相应的MP3文件,但是主窗口只有一个。
如何实现象Windows   Media   Player那样,双击不同的MP3文件能播放相应的MP3文件,但是主窗口只有一个。 
 我已经在Main(string[]   __args)中,获取点击的文件名,当第一次打开某文件后,程序可以运行,并打开该文件,但当我以后再双击别的文件时,只是显示主窗口,还是播放第一次双击的文件,该如何解决?谢谢   
    static   class   Program 
             { 
                         ///    <summary>  
                         ///   The   main   entry   point   for   the   application. 
                         ///    </summary>  
                         [MTAThread] 
                         static   void   Main(string[]   __arrArgs) 
                         { 
                                     if   (__arrArgs.Length   ==   0   ||   __arrArgs   ==   null) 
                                     { 
                                                 Application.Run(new   MainForm()); 
                                     } 
                                     else 
                                     { 
                                                 Application.Run(new   MainForm(arrArgs[0])); 
                                     } 
                         }   
             }
------解决方案--------------------当再次点击的时候,关闭当前播放窗体,在NEW一个不行吗?瞎猜的!
------解决方案--------------------启动时检测是否已有一个实例存在,如果有则激活前一个实例,关闭自己
------解决方案--------------------手头没资料,不能详细说明,给你一个思路吧!   
 第一步,使用mutex可以判断,是否已经打开了一个实例,mutex的好处在于,可以跨进程,不只是线程。   
 第二步,如果已经存在了一个实例,那就需要先找到这个对应的窗口,利用Process,遍历所有进程,找到原来实例的窗口。   
 第三步,进程之间通讯,最好用wmi,自己写一段接收消息并处理的程序就好了,这样已经打开的实例就可以根据传入的消息,进行处理了。   
 第四步,把自己close掉,看起来就像没有打开过一样,所有的处理都是在原先的那个实例里做的。