Laden...

Programm starten mit c#

Erstellt von turbine vor 19 Jahren Letzter Beitrag vor 18 Jahren 3.782 Views
T
turbine Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren
Programm starten mit c#

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?

X
2.051 Beiträge seit 2004
vor 19 Jahren

das einfachste wäre: Process.Start("nodepad.exe");

T
turbine Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren

Da gibt der mir dann aber immer folgende Fehlermeldung aus.
Siehe Dateianhang

Trotzdem schonmal Danke !!!

T
turbine Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren

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");
M
329 Beiträge seit 2004
vor 19 Jahren

Versuchs mal so:

Process.Start(@"c:\\windows\\system32\\notepad.exe");
Y
220 Beiträge seit 2004
vor 19 Jahren
Fehlende Rechte?

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

T
turbine Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren

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:

Y
220 Beiträge seit 2004
vor 19 Jahren

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

M
329 Beiträge seit 2004
vor 19 Jahren

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)

T
turbine Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren

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

M
329 Beiträge seit 2004
vor 19 Jahren

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 🙂

151 Beiträge seit 2004
vor 19 Jahren

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

T
turbine Themenstarter:in
6 Beiträge seit 2005
vor 19 Jahren

hab ich auch ausprobiert. Funktioniert aber nicht.
Trotzdem Danke!

Hat jemand vielleicht noch eine andere Idee?

Wäre spitze !!!

T
41 Beiträge seit 2004
vor 18 Jahren

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

H
22 Beiträge seit 2005
vor 18 Jahren

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

B
5 Beiträge seit 2005
vor 18 Jahren
Programm starten mit c#

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...