公司和一家资源网站合作,可以从网站上打开连接然后直接启动我们的程序,并传入连接,这一步已经实现。问题在于,如果我们的程序已经启动(假设叫 进程A),应该怎么把连接传到我们的程序(进程A)里?第二次也能打开程序,但是这时候已经是另外一个程序(进程B), static void Main(string[] args)里参数确实传入了,但是进程B和进程A是没关系的,参数是不可以共用的。我应该怎么控制在进程A已经启动的情况下直接拦截下第二次启动的参数或者进程B怎么能把参数传回给进程A?描述的有些混乱,刚才正好想到个例子,比如说迅雷,在网站上点击一个下载链接,这时候如果迅雷没打开,他会打开一个迅雷程序(进程A),并接受了网站上的下载链接。这时候,如果再点击一个下载链接,进程A会接受到这个链接并开始下载。而不是打开第二个迅雷(进程B)
我之前想过,在程序目录下写一个文件,进程A用线程或timer来查询这个文件的值,但是这个不能太快,否则太耗费资源,但是慢了又达不到实时的效果。我感觉迅雷肯定不是用这种方式,一定有更好的方式可以让已经打开的迅雷(进程A)接受到网站上传入的参数
求大神给支招啊

解决方案 »

  1.   

    不要光想着直接调用EXE嘛
    可以从其实接口入手
    例如调用DLL的接口
    在DLL里判断
    如果没开EXE怎么传
    如果开了EXE又怎么传值
      

  2.   


    同上,这个是改注册表来实现的网页直接打开.exe应用程序,这是windows做的事情,再说网页怎么传值给dll..
      

  3.   

    用WindowsFormsApplicationBase做个简单的包装。这个类需要引用Microsoft.VisualBasic.dll程序集。
      

  4.   

    你自己不说清楚
    以为你使用ActiveX网页怎么传值给dll?
    ActiveX COM都可以
    QQ,迅雷也使用这种方法
    你的调用方式是<a href="tencent://message/?uin=QQ">?