Process Problem

LordDeath

Erfahrenes Mitglied
Hi

Ich habe folgende Methode zum öffnen von Dokumenten geschrieben:

C#:
private void openFile(string _path)
{
	Console.WriteLine(_path);
	Process pc = new Process();
	ProcessStartInfo ps = new ProcessStartInfo(_path);
	pc.StartInfo = ps;
	try
	{
		bool isStarted = pc.Start();
		if(isStarted)
		{
			pc.WaitForExit();
		}
		else
		{
			Console.WriteLine("Starten fehlgeschlagen");
		}
	}
	catch(Exception e)
	{
		Console.WriteLine(e.Message);
	}
	pc.Close();
	Console.WriteLine("Fertig");
}

Die Methode funktoniert wunderbar. Bis auf den Fall wenn ich ein Word Dokument öffne und der Prozess WINWORD.EXE gestartet ist, kommt ein Laufzeitfehler welcher besagt, das
"Der Prozess kann nicht auf die Datei "C:\~MXWCtest.doc" zugreifen, da sie von einem anderen Prozess verwendet wird."

Wenn ich den Word Prozess beende, dann funktioniert es. Gibt es eine Möglichkeit dieses zu umgehen?

Greetz

PS: Ich kann den Word Prozess nicht einfach vom Programm aus beenden, da ich nicht weiß ob tatsächlich noch ein Dokument offen ist.
 
Zuletzt bearbeitet von einem Moderator:
Hi LordDeath!

Versuchst Du jetzt die gleiche Datei neu zu starten
oder kommt der Fehler etwa andauernd wenn schon ein Wordprozess offen ist?
 
Der Fehler kommt immer dann wenn ein Word Prozess schon offen ist, dabei ist es egal ob ich ihn vorhergestartet habe oder ob das außerhalb des Programms geschehen ist.

Greetz
 
Hmm, dann scheint das System das zu verursachen.
Mir würde jetzt nichts anderes einfallen als das man sich den Wordprocess holen könnte
oder halt einen neuen startet und via Interop ein neues File darin öffnet.
Wie man aber jetzt aber direkt Zugriff auf die laufende Instanz bekommt weiss ich leider nicht. :-(

MfG,
cosmo
 
Wie startet man den einen neuen Word Prozess? Danach ahb ich auch schon gesucht bin aber nicht fündig geworden.

Greetz
 
Nee meinte ich eigentlich nicht.

Kann man nicht einfach nen zweiten Prozess von Word aufmachen um das Problem zu übergehen? Mittlerweile ist mir auch aufgefallen das Beim AcrobatReader genau das gleiche Problem auftritt wenn er schon offen ist.
Irgendwie muss es doch funktionieren.

Greetz
 
Versteh ich jetzt nicht. Jedes Process.Start sollte eigentlich immer wieder eine neue Instanz öffnen.
Zumindest ist es beim InternetExplorer so. Ich hab mal versucht die [thread=237436]Gleiche HP immer im selben Browser zu öffnen[/thread]
und konnte mir nur abhilfe verschaffen indem ich den Browser händisch gestartet hab.

Bei Word wird das aber sicher nicht mit dem gleichen Dokument funktionieren, da das File ja bearbeitet wird.
 
Zuletzt bearbeitet:
Wenn er automatisch immer einen neuen Prozess öffnen würde dann würde er ja den Prozess starten können, aber die Methode gibt false zurück! Irgendwas muss da faul sein.

Greetz

PS: Ich öffne nicht die gleiche Datei 2 mal.
 
Zurück