In my application, there's a button "Start". Start should start a process featuring parameters. Regardless of the method I am using, it's just freezing then and doesn't throw any error at all. I tried to use
Process test = new Process();
test.StartInfo.Arguments = "1 8 EN";
test.StartInfo.FileName = Environment.CurrentDirectory + "/test/testfile.exe";
test.Start();
I am using GhostTheme and a ghost button, I've tried a normal button but that didn't work either. Latter method worked for me just fine over the years, but apparently it does not any longer. It's just freezing when pressing the "Start" button. What to do?
Ich kann gar keinen Prozess starten, ob mit oder ohne Parametern ist egal, auch die auszuführende Datei selbst spielt offenbar keine Rolle. Weiß jemand mehr?
In my application, there's a button "Start". Start should start a process featuring parameters. Regardless of the method I am using, it's just freezing then and doesn't throw any error at all. I tried to use
Process test = new Process();
test.StartInfo.Arguments = "1 8 EN";
test.StartInfo.FileName = Environment.CurrentDirectory + "/test/testfile.exe";
test.Start();
I am using GhostTheme and a ghost button, I've tried a normal button but that didn't work either. Latter method worked for me just fine over the years, but apparently it does not any longer. It's just freezing when pressing the "Start" button. What to do?
Ich kann gar keinen Prozess starten, ob mit oder ohne Parametern ist egal, auch die auszuführende Datei selbst spielt offenbar keine Rolle. Weiß jemand mehr?
Lol. Eventuell die Backslashes falsch rum gemacht bei den Pfaden?
Man beachte den unterschied zwischen "\test\test.exe" und "/test/test.exe". Richtig ist normalerweise ersteres, wobei du es für C# entweder mit doppeltem Backslash oder mit nem @ davor schreiben musst.
Um das ganze unabhängig von der Eingabe zu testen:
Erstelle ein neues Consolenprogramm und füge folgendes Snippet in die Program.cs ein:
class Program
{
static void Main(string[] args)
{
if (args.Length > 0)
{
Console.WriteLine("Prozess wurde mit Parametern gestartet.");
Console.Beep(1337, 420);
Console.ReadKey();
}
else
{
// Start this program with arguments
StartProcess(System.Reflection.Assembly.GetEntryAssembly().Location);
}
}
public static void StartProcess(string exePath)
{
using (Process p = new Process())
{
p.StartInfo.FileName = exePath;
p.StartInfo.Arguments = "yolo1337";
p.Start();
}
}
}
Dieses Programm wird sich selbst mit Argumenten starten und einen Beep-Ton ausgeben sowie ne Nachricht anzeigen, wenn es geklappt hat.
PS: Willst du einen Pfad bauen, ohne dich um das Backslash-Problem kümmern zu müssen:
Code:
Path.Combine("teil1", "teil2", "yolo.exe");
// => "teil1\\teil2\\yolo.exe" oder "teil1/teil2/yolo.exe" je nach OS, Pfad stimmt immer
PPS: using Statement: Gibt den Speicher am Ende des using-Blocks wieder frei, auch bei einem Error/Crash.
Wann immer möglich benutzen, wenn du IDisposable Objects hast.
Lol. Eventuell die Backslashes falsch rum gemacht bei den Pfaden?
Man beachte den unterschied zwischen "\test\test.exe" und "/test/test.exe". Richtig ist normalerweise ersteres, wobei du es für C# entweder mit doppeltem Backslash oder mit nem @ davor schreiben musst.
Um das ganze unabhängig von der Eingabe zu testen:
Erstelle ein neues Consolenprogramm und füge folgendes Snippet in die Program.cs ein:
class Program
{
static void Main(string[] args)
{
if (args.Length > 0)
{
Console.WriteLine("Prozess wurde mit Parametern gestartet.");
Console.Beep(1337, 420);
Console.ReadKey();
}
else
{
// Start this program with arguments
StartProcess(System.Reflection.Assembly.GetEntryAssembly().Location);
}
}
public static void StartProcess(string exePath)
{
using (Process p = new Process())
{
p.StartInfo.FileName = exePath;
p.StartInfo.Arguments = "yolo1337";
p.Start();
}
}
}
Dieses Programm wird sich selbst mit Argumenten starten und einen Beep-Ton ausgeben sowie ne Nachricht anzeigen, wenn es geklappt hat.
PS: Willst du einen Pfad bauen, ohne dich um das Backslash-Problem kümmern zu müssen:
Code:
Path.Combine("teil1", "teil2", "yolo.exe");
// => "teil1\\teil2\\yolo.exe" oder "teil1/teil2/yolo.exe" je nach OS, Pfad stimmt immer
PPS: using Statement: Gibt den Speicher am Ende des using-Blocks wieder frei, auch bei einem Error/Crash.
Wann immer möglich benutzen, wenn du IDisposable Objects hast.
Edit: Test vereinfacht
Zunächst möchte ich dir für deine Antwort danken. In jeder anderen Anwendung hat meine Methode super geklappt und es lag offensichtlich am GhostTheme. Gelöst habe ich es aber einfach durch einen zweiten Prozess, der durch Prozessinteraktion vom anderen Prozess den Startbefehl erhält. Sehr umständlich, funktioniert aber nun.
[VB.NET] Process.start 09/30/2015 - .NET Languages - 6 Replies Hi :),
Ich hab ein kleines Problem, welches ich nicht gelöst bekomme.
Ich möchte gerne ein Programm/Game starten.
Process.Start("C:\example\test.exe")
Jedoch möchte ich das gewünschte Programm ohne den Client Patcher starten.
Visual Basic 10 Frage zu Process.Start 07/14/2015 - Off Topic - 2 Replies Hey Com, ich verzweifel hier gerade.. ich bin ein totaler neuling bei Visual Basic und habe folgendes Problem. Ich möchte, das wenn ich einen Button klicke sich ein Programm vom Desktop öffnet. Das Problem ist ich mache das für unseren Clan und wenn dort der C:\Users\NAME\Desktop\Sempi.exe
anders ist funktioniert das ganze nicht mehr oder?
SMC Start Service process with another way 08/08/2012 - SRO Private Server - 3 Replies Anybody knows how to start service which smc does with external tool?
Careful: I'm not talking about starting process, im talking about the start service thingy which smc can do.
Start Game Process Error: 5 08/10/2011 - Cabal Online - 3 Replies ---------------------------
CabalRider
---------------------------
Start Game Process Error: 5
path:D:\ReddGames\Cabal Ph\cabalmain.exe
cmdline:"D:\ReddGames\Cabal Ph\cabalmain.exe" husky
---------------------------
OK
---------------------------