首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

【真的很难吗】程序只运行一个实例,且能接收的链接参数,如电驴那样,内详~该怎么处理

2012-04-16 
【真的很难吗】程序只运行一个实例,且能接收的链接参数,如电驴那样,内详~问题如下:1、程序只运行一个实例,如

【真的很难吗】程序只运行一个实例,且能接收的链接参数,如电驴那样,内详~
问题如下:
1、程序只运行一个实例,如果程序启动后,在运行程序则使已经运行的程序实例获得焦点;
2、给定特定链接格式(如abcde://sdfsdfsssssss),指定其打开方式为我的程序,当点击“abcde://sdfsdfsssssss”这样的链接时,自动启动程序,且接收参数“abcde://sdfsdfsssssss”。
3、在程序运行的前提下,点击“abcde://sdfsdfsssssss”这样的链接时,使程序获得焦点,且接收参数“abcde://sdfsdfsssssss”。

就如同电驴和迅雷那样。

问题3,我参考 http://topic.csdn.net/u/20090203/10/D10E2617-4C78-4EEB-BA28-3C11A5280094.html
采用消息机制,貌似能够实现,但是程序退出后,任务管理器里仍然能看到进程,不知道为什么。


请高高人来帮帮忙~~~~~


[解决办法]
1、程序只运行一个实例,如果程序启动后,在运行程序则使已经运行的程序实例获得焦点;
最简单的方法是创建一个命名的系统内核对象,如互斥体等,检查到改内核对象存在,则向之前的实力发一个消息使之获得焦点

2、给定特定链接格式(如abcde://sdfsdfsssssss),指定其打开方式为我的程序,当点击“abcde://sdfsdfsssssss”这样的链接时,自动启动程序,且接收参数“abcde://sdfsdfsssssss”。
3、在程序运行的前提下,点击“abcde://sdfsdfsssssss”这样的链接时,使程序获得焦点,且接收参数“abcde://sdfsdfsssssss”。
2/3可能需要在IE上装个插件来实现

热点排行