Hallo Zusammen,
erstmal vorweg ich kenn mich mit c# überhaupt nicht aus. Muss aber folgendes Problem lösen.
Ich will aus einer .exe datei z.B. das Programm Notepad starten.
Das man das irgendwie mit dieser Process funktion machen muss, hab ich schon gefunden. Aber ich komm da einfach nicht weiter.
Wie geht das?
Vielen Danke im Voraus?
das einfachste wäre: Process.Start("nodepad.exe");
Da gibt der mir dann aber immer folgende Fehlermeldung aus.
Siehe Dateianhang
Trotzdem schonmal Danke !!!
Folgendes hab ich schon alles ausprobiert.
Er kompiliert mir den Programm Code auch in eine EXE aber bei ausführen kommt eben der Fehler s.o.
using System;
using System.ComponentModel;
using System.Diagnostics;
namespace MyProcessSample
{
class MyClass {
public static void Main() {
//'Process.Start("C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE");
//Process myProcess = Process.Start("Notepad");
//Process myProcess = new Process();
//myProcess.StartInfo.FileName = "Notepad";
//myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
//myProcess.Start();
System.Diagnostics.Process.Start("c:\\windows\\system32\\notepad.exe");
Versuchs mal so:
Process.Start(@"c:\\windows\\system32\\notepad.exe");
Hallo zusammen,
startest du das Programm von deiner lokalen Festplatte aus?
Es sieht so aus, als hättest du auch nicht die entsprechenden Rechte.
Aber vielleicht klappt es ja schon mit dem Vorschlag von michaelschuler...
So denn,
Yahoo
Hallo Zusammen,
jetzt hab ich eure Vorschläge ausprobiert.
Ich hab den Code von Michael getestet und das Programm lokal von der Platte ausgeführt, davor hab ichs von Netzlaufwerk ausgeführt.
Nun macht der eine Dosbox auf und gibt mir folgende Fehlermeldung aus:
Hi turbine!
Was passiert wenn du auf "Abbrechen" klickst?
Öffnet sich da eine Instanz von VS.NET, oder was kommt da?
Muss gestehen, die Meldung habe ich noch nicht gesehen.
Könnte mir aber vorstellen, dein aufgerufenes Programm macht den Ärger.
Verwendest du diese Zeile:
System.Diagnostics.Process.Start("c:\windows\system32\notepad.exe");
oder schon dein Programm, das du ursprünglich aufrufen wo du ursprünglich aufrufen woltest?
Versuch mal mit calc.exe einen anderen Prozess zu starten...
Hope this helps,
Yahoo
Die Security von .NET ist ein wenig komplex (auch sehr gut)
du kannst nicht von überall her jeden code aufrufen...
soll heissen, dass die app bei dir lokal geht, im netzwerk jedoch nicht mehr
am besten, du gibts deinem intranet vollzugriff
Systemsteuerung / Verwaltung
erstelle eine neue code-gruppe (gleich wie im bild)
Hallo Zusammen,
also lokal läuft das Programm jetzt.
Es muss aber im Netzwerk laufen.
@Miachel die Einstellungen müsste ich dann ja bei jedem User im Netzwekr vornehmen, oder ?
Auf jedenfall funktioniert das Programm schonmal Lokal mit folgendem Code:
using System;
using System.ComponentModel;
using System.Diagnostics;
namespace MyProcessSample
{
class MyClass {
public static void Main() {
Process.Start("Notepad");
}
}
}
Gibt es noch eine andere möglichkeit?
Trotzdem vielen Danke schonmal
Grüße,
Turbine
Ja, ich glaube, das musst du bei jedem user einstellen...
ausser es weiss jemand ne bessere lösung, wäre sehr glücklich darüber 🙂
moin moin ...
vielleicht liegt der fehler in der pfadangabe ...
du machst ja
System.Diagnostics.Process.Start("c:\\windows\\system32\\notepad.exe");
probier doch mal
System.Diagnostics.Process.Start("c:\\\\windows\\\\system32\\\\notepad.exe");
grüßle
frage die um rat ... die mehr wissen als du (kleines altägyptisches sprichwort)
mobile - 1.73er core2 ... 2048 mb
desktop - 3.0er prescott ... 1024 mb
hab ich auch ausprobiert. Funktioniert aber nicht.
Trotzdem Danke!
Hat jemand vielleicht noch eine andere Idee?
Wäre spitze !!!
aaaaaaah das ist genau der thread den ich gesucht habe.
also mein problem ist ähnlich. ich will per programm eine fremde exe starten, die mir dann daten zurückgibt. starte ich mein programm als administrator hab ich alle rechte, nur dieses unterprogramm, welches von meinem gestartet wird, verliert diese rechte wieder. deswegen geht auch nix im netzwerk.
kann ich der process-klasse einen anderen user zuweisen? (ich erinnere hier an den dienst "ausführen als..."). dann wäre doch die ganze problematik gelöst oder?
ich freue mich auf tipps und anregungen, werde aber selber auch nochmal msdn durchforsten.
vielen dank schonmal im voraus.
mfg
tom
Moin...
also ich habe genau das gleiche problem ich möchte programme mit anderen rechten starten bzw mein programm soll später div programme mit admin rechten starten.
für eine lösung wäre ich auch sehr dankbar
Hi Leute!
Vielleicht hilft euch das...
public static void Pdf2Txt( string sPdfIn, string sTxtOut )
{
ProcessStartInfo m_cmd = new ProcessStartInfo();
m_cmd.FileName = @"C:\work\Projekte\WebDocV1\WebDoc\TxtParser\bin\Debug\PDF-TXT1.EXE ";
m_cmd.Arguments = sPdfIn + " " + sTxtOut;
m_cmd.ErrorDialog = true;
m_cmd.WorkingDirectory = @"C:\work\Projekte\WebDocV1\WebDoc\TxtParser\bin\Debug";
m_cmd.UseShellExecute = true;
Process.Start(m_cmd);
}
regards,
brainbug
Programmierung mit PHP, ASP.net, C# and more...