Hallo Leute,
ich schreibe gerade ein (Teil-)Programm, was mir einen Druckerport anlegt, und danach einen Drucker installiert.
Meine Versuche waren soweit auch erfolgreich, aber bisher ohne C#. Ich habe den folgenden Code mit der CMD ausgeführt, und hatte danach den gewünschten Port.
Danach kann ich mit dem folgendem Code einen Drucker dafür anlegen.
Das ganze würde ich jetzt nur gerne aus meinem Programm aus ausführen, mein erster Gedanke war, das ich die Cmd.exe als Prozess starte, und ihr als Argument die beiden Codebeispiele übergebe.
Dann einzige was aber passiert ist, dass die Cmd.exe aufgeht. Danach passiert nichts mehr.
Mein Code sieht in etwas so aus:
Habt ihr eine Idee, was ich falsch mache? Bzw. wie ich es richtig machen kann, mir fehlt im mom irgendwie der Ansatz...
Danke im voraus und MfG
Pablo
ich schreibe gerade ein (Teil-)Programm, was mir einen Druckerport anlegt, und danach einen Drucker installiert.
Meine Versuche waren soweit auch erfolgreich, aber bisher ohne C#. Ich habe den folgenden Code mit der CMD ausgeführt, und hatte danach den gewünschten Port.
Code:
cscript %WINDIR%\windows\system32\Printing_Admin_Scripts\de-DE\prnport.vbs -a -r "IP_10.0.0.2:" -h "10.0.0.1" -o raw -n 9101"
Danach kann ich mit dem folgendem Code einen Drucker dafür anlegen.
Code:
rundll32 printui.dll,PrintUIEntry /if /f c:Windows\inf\ntprint.inf /r IP_10.0.0.2: /m 'HP LaserJet 4 Plus' /b 'Testdrucker1234' /z
Das ganze würde ich jetzt nur gerne aus meinem Programm aus ausführen, mein erster Gedanke war, das ich die Cmd.exe als Prozess starte, und ihr als Argument die beiden Codebeispiele übergebe.
Dann einzige was aber passiert ist, dass die Cmd.exe aufgeht. Danach passiert nichts mehr.
Mein Code sieht in etwas so aus:
Code:
ProcessStartInfo StartCMD = new ProcessStartInfo("cmd.exe");
StartCMD.CreateNoWindow = true;
string prnarg = "cscript %WINDIR%\\windows\\system32\\Printing_Admin_Scripts\\de-DE\\prnport.vbs -a -r \"IP_10.0.0.2:\" -h \"10.0.0.1\" -o raw -n 9101";
StartCMD.Arguments = prnarg;
Process.Start(StartCMD.FileName, StartCMD.Arguments);
Habt ihr eine Idee, was ich falsch mache? Bzw. wie ich es richtig machen kann, mir fehlt im mom irgendwie der Ansatz...
Danke im voraus und MfG
Pablo
