求教大虾一个问题:
如何让机器A上的程序A1调用机器B上的程序B1,而且让程序B1完全在机器B上执行,效果就像程序A1在机器B的控制台里直接输入C:\...\B1.exe一样。

解决方案 »

  1.   

    好像挺不容易,不知道楼主要干什么?能否使用WebServices Remoting Socket等技术实现呢?
      

  2.   

    直接调用就可以了撒。
    比如B1在B机器上的E盘下
    你直接访问\\B\E$\B1.exe不就可以了。
    当然你得有权限呀。没权限,就只能想想了。有权限的话,使用模拟用户。在模拟用户段内,可以直接执行B机器上面的所有程序和文件,就像在B机器上面一样。
      

  3.   

    我的B1程序对硬件要求高,机器A无法满足硬件条件,但同时B1必须由机器A上的程序A1调用,所以才会问这个问题.
      

  4.   

    A1程序可能是任意一种主流语言编写,B1程序是用.net2.0编写,这种条件下不知道是否可以使用Remoting技术解决问题
      

  5.   

    可以考虑用Socket通讯,B机器上新建一个接收程序,收到A程序发出的指令后,打开B程序
      

  6.   

    RPC啊
    当年的冲击波就这么来的
      

  7.   

    using scokettry when A send open message to B
    and B run the Application
      

  8.   


    这样的话似乎\\B\E$\B1.exe是在本机运行了吧?楼主要求是B1完全在机器B上执行.楼主可以试一下Remoting 让B机器执行B1
      

  9.   

    调用机器B上的程序B1, 是否可理解为B1在此之前是没有运行?如果是这样,那么不通过第三方程序是无法完成与机器B的通讯的。
    在B1没有启动的情况下,比较简单的做法是在B机器上开启Telent服务,然后由机器A的程序A1 Telent到B,然后启动B1程序。
      

  10.   

    用A机器上的A1的程序去让B机器运行B1程序这不是木马所有的功能吗.....那B机器上要有个客户端之类(先运行好,有足够的权限) 的软件 接收 A机器上发出的指令了
      

  11.   

    Remoting WebService WCF .........很多方式。主要看你要做什么,不过都需要在B机器上有对应程序。
      

  12.   

    用WebServices.完全可以实际你的功能。
      

  13.   

    我只会这么做,因为远程调用不熟,是这样的,
    A.A1调一个BAT(BAT调B的BAT)
    B.放一个BAT(调B1).
    只会用BAT调,别的不会,见谅,至于本地调EXE,不用我多说了吧,进程里的PID知道就可以了,PS:这方法可行,试过了/
      

  14.   

    这是典型的分布式应用程序的做法:
    首先你要有机器B的权限,通过机器B提供的web服务,只需在自己的程序中访问需要的服务的url,得到一份xml的描述,并使用这个描述产生一个接口文件,通过这个接口文件访问具体的需要的服务,也就是你需要B机器要运行的程序