Lancer un processus par un web service

Résolu
shadow1779
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
- 2 févr. 2008 à 20:33
shadow1779
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013
- 2 févr. 2008 à 23:02
Bonjour,

je désire permettre a des amis d'utiliser un server de jeu (Crysis pour être précis), sous 2003 server sans avoir a leur laisser un accès a terminal server. Pour cela j'ai des toutes petites connaissances en VB.Net qui aurraient peut etre permis de lancer ou stopper le server par une page internet mais a vrai dire je galère un peu.
Encore plus complexe, il faut arriver a ce que dans la liste des processus, l'executable lancé est le nom que je veux bien lui donné par le paramètre servername, de manière a ce que je puisse killer un server sans avoir a killer tous les autres (portant ici le meme nom "crysisdedicatedserver.exe")

voici la première méthode que j'ai réalisé, mais visiblement ca ne lance rien du tout.

    <WebMethod()> _
   Public Function Launch_Crysis(ByVal exe As String, ByVal servername As String) As Boolean
        Dim CryServ As New Process
        CryServ.StartInfo.FileName = exe
        CryServ.StartInfo.Verb = servername
        CryServ.StartInfo.CreateNoWindow = False
        CryServ.Start()
        Return True
    End Function

1 réponse

shadow1779
Messages postés
706
Date d'inscription
mercredi 17 novembre 2004
Statut
Membre
Dernière intervention
29 septembre 2013

2 févr. 2008 à 23:02
Bon bein en cherchant un peu dans tout les sens j'ai trouvé, voici la solution avec l'ensemble du web service

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Diagnostics
Imports System.IO

<WebService(Namespace:="http://www.tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class Service
    Inherits System.Web.Services.WebService

    <WebMethod()> _
   Public Function Launch_Server(ByVal exe As String, ByVal args As String) As Boolean
        Dim CryServ As New ProcessStartInfo(exe)
        CryServ.WindowStyle = ProcessWindowStyle.Minimized
        CryServ.Arguments = args
        Process.Start(CryServ)
        Return True
    End Function

    <WebMethod()> _
    Public Function Quit_Server(ByVal servername As String) As Boolean
        Dim CryServ() As Process
        Dim killer As Process
        CryServ = Process.GetProcessesByName(servername)
        For Each killer In CryServ
            killer.CloseMainWindow()
        Next
        Return True
    End Function

    <WebMethod()> _
    Public Function Get_File(ByVal filepath As String) As String
        Return My.Computer.FileSystem.ReadAllText(filepath)
    End Function

    <WebMethod()> _
    Public Function Set_File(ByVal filepath As String, ByVal texte As String) As Boolean
        My.Computer.FileSystem.DeleteFile(filepath)
        My.Computer.FileSystem.WriteAllText(filepath, texte, True)
        Return True
    End Function

End Class
3