IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Как запустить прогу с одного компа на другом (http://www.imho.ws/showthread.php?t=97219)

Willow 14.12.2005 00:13

Как запустить прогу с одного компа на другом
 
Есть следующая проблема.
Имеется два компьютера, под управлением Windows 2000 Server. А и B.
На компьютере B есть некая программа C. Вопрос как программно с компьютера А запустить программу C на компьютере B. Есть возможность настраивать права на компьютерах.

knight 14.12.2005 05:14

Есть 3 идеи:
1) Воспользоваться технологией DCOM
2) Воспользоваться технологией Microsoft .NET Remoting
3) Написать пару приложений клиент - сервер (одно посылает сигнал, второе принимает сигнал и запускает нужный процесс)

LightImage 15.12.2005 15:01

Можно вызывать из своей программы утилиту psexec, доступную по адресу _http://www.sysinternals.com/Utilities/PsExec.html
Также можно попробовать использовать WSH. Приведу пример, который есть в MSDN, на языке VBScript. Создаем в некоторой папке два файла: my.vbs и test.vbs.
Код:

'test.vbs
Dim WshShell, strCommand
 strCommand = "cmd /c dir c:\" ' пример выполняемой программы
 Set WshShell = WScript.CreateObject("WScript.Shell")
 WshShell.Run(strCommand)

Код:

'my.vbs
Dim Controller, RemoteScript
Set Controller = WScript.CreateObject("WSHController")
Set RemoteScript = Controller.CreateScript("test.vbs", "myremotecomp")
WScript.ConnectObject RemoteScript, "remote_"
RemoteScript.Execute

Do While RemoteScript.Status <> 2
    WScript.Sleep 100
Loop

WScript.DisconnectObject RemoteScript

Sub remote_Error
    Dim theError
    Set theError = RemoteScript.Error
    WScript.Echo "Error " & theError.Number & " - Line: " & theError.Line & ", Char: " & theError.Character & vbCrLf & "Description: " & theError.Description
    WScript.Quit -1
End Sub

После этого в командной строке говорим "cscript my.vbs".


Часовой пояс GMT +4, время: 00:44.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.