Hallo,
ich muss einer Anwendung sehr lange Parameter übergeben (ich möchte mit FreePDF mehrere PDF's zusammenfügen, wobei dabei pro pdf immer der komplette Pfad angegeben werden muss).
Mein Code sieht bisher so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Process nPad = new Process(); nPad.StartInfo.FileName = FreePDF_Pfad; nPad.StartInfo.Arguments = Daten.ToString(); try { nPad.Start(); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(Daten.Length); return; } |
Der funktioniert auch wunderbar - solange die Länge der Parameter nicht etwa 2 kb überschreitet. Es kommt aber manchmal vor das die Parameter länger sein müssen (viele Pdfs zusammenfügen) - dann kommt es aber zu einer Exception mit der Message "Zugriff verweigert".
Ich bin mir sehr sicher das das Problem auf meiner Seite liegt und nicht bei Freepdf - ich hab freepdf.exe einmal durch eine einfache Anwendung von mir ersetzt, die nichts anderes macht als die übergebenen Parameter ausgeben - dabei trat das gleiche Problem auf. Gleichzeit muss es aber möglich sein dieses Problem zu lösen, denn es gibt auch das programm fpjoin.exe mit dem man über eine grafische Oberfläche die zusammenzufügenden PDF's auswählen kann. Dieses startet anschließend freepdf.exe - in diesem Fall meine ersetzte Anwendung wobei ich sehen konnte, dass wirklich die langen Parameter übergeben wurden.
Was muss ich in meinem Code ändern, damit das auch bei mir funktioniert?
Schonmal vielen Dank für eine Antwort,
viele Grüße
Andreas
Moderiert von
Christian S.: Topic aus C# - Die Sprache verschoben am So 19.09.2010 um 16:26