Permalänk
Medlem

Stänga en .exe fil

Hej sitter och utvecklar ett simpelt boknings-system för spelservrar som ska vara på en bestämmd tid vid varje bokning. Här är koden för programmet som ska starta servern (nej det är inte klart bara en början med grunden)

class Program { static void Main(string[] args) { int igong = 1; int slut = 0; BinaryWriter bokning = new BinaryWriter(new FileStream("C:/Serverbokningsfiler/server1.dat", FileMode.Create)); bokning.Write(igong); bokning.Close(); System.Diagnostics.Process.Start("calc.exe"); System.Threading.Thread.Sleep(60000); bokning.Write(slut); bokning.Close(); } }

Problemet är det att efter raden System.Threading.Thread.sleep vill jag stänga .exe filen igen i detta fallet calc.exe dock hittade jag inget som såg ut att passa i "System.Diagnostics.Process" finns det någon kod som skulle kunna stänga programmet igen?

MVH

Fj0mp

Visa signatur

Här ska det stå massor av skumma modellnummer men jag skippar dom. . .

Permalänk
Medlem

Otestat, men något liknande bör gå

using (Process p = new Process()) { p.StartInfo.FileName = @C:\program\starta.exe; p.Start(); Thread.Sleep(5000); p.CloseMainWindow(); }

Permalänk
Medlem

Har inte programmerat i det programmeringsspråket men du verkar ha ett antal sätt att använda
Kolla här:
http://msdn.microsoft.com/en-us/library/system.diagnostics.pr...
http://msdn.microsoft.com/en-us/library/system.diagnostics.pr...

Permalänk
Medlem
Skrivet av No0Vad:

Otestat, men något liknande bör gå

using (Process p = new Process()) { p.StartInfo.FileName = @C:\program\starta.exe; p.Start(); Thread.Sleep(5000); p.CloseMainWindow(); }

Skrivet av omega:

Har inte programmerat i det programmeringsspråket men du verkar ha ett antal sätt att använda
Kolla här:
http://msdn.microsoft.com/en-us/library/system.diagnostics.pr...
http://msdn.microsoft.com/en-us/library/system.diagnostics.pr...

Tack så jättemycket för svaren funkade utmärkt

MVH

Fj0mp

Visa signatur

Här ska det stå massor av skumma modellnummer men jag skippar dom. . .

Permalänk
Medlem

Har nu ett nytt problem när jag ska starta servern hlds.exe med vissa argument så stöter jag på problemet att jag inte kan skriva några argument inom citiations tecken vill tex starta programmet med:

server = Process.Start("C:/HLServer/hlds.exe -console -game cstrike +maxplayers 20 +map de_dust2 -port 27015 -sport 27010 +hostname"Servernamn"");

men servernamn kan inte skrivas in eftersom det måste stå inom citionationstecken. Namnet är sparat i en string om det nu hjälper

MVH

Fj0mp

Visa signatur

Här ska det stå massor av skumma modellnummer men jag skippar dom. . .

Permalänk
Hedersmedlem
Skrivet av Fj0mp:

server = Process.Start("C:/HLServer/hlds.exe -console -game cstrike +maxplayers 20 +map de_dust2 -port 27015 -sport 27010 +hostname"Servernamn"");

Är det omvända snedstreck du saknar?

server = Process.Start("C:/HLServer/hlds.exe -console -game cstrike +maxplayers 20 +map de_dust2 -port 27015 -sport 27010 +hostname\"Servernamn\"");

Permalänk
Medlem
Skrivet av Elgot:

Är det omvända snedstreck du saknar?

server = Process.Start("C:/HLServer/hlds.exe -console -game cstrike +maxplayers 20 +map de_dust2 -port 27015 -sport 27010 +hostname\"Servernamn\"");

Ja det var just det jag ville ha tack så mycket för hjälpen

MVH
Fj0mp

Visa signatur

Här ska det stå massor av skumma modellnummer men jag skippar dom. . .