2016-05-03 7 views
2

Gegeben:Programmatically Druck Datei unbekannter Art von Pfad

  • Wir haben eine list-based application, die Sie link a File zu einem Eintrag tun können.

  • 0...1 Relationship von Eintrag zu Datei. (herauszufinden, ob es eine Datei gibt oder nicht ist mein Teil, mach dir keine Sorgen darüber)

  • Da wir wissen, wer die Anwendung verwenden wird, können wir sagen, dass die meisten, aber nicht alle Dateien Microsoft Office (Word/Excel) Dateien.

Need:

  • Ein Weg, um print these Files (wenn Fenster weiß, wie dies zu tun)

Meine Gedanken:

Da wir nicht tun kenne den Typ (.pdf, .exe) der Datei, die wir haben müssen, wenn ich. ask Windows ts druckbare und let Windows do the job für uns.

Mein zugehöriger Code:

Es ist nein. Ich habe keine Erfahrung damit, direkt von der Anwendung auf Windows zu arbeiten, weshalb ich nicht weiß, wie ich es starten soll. Ich würde mich freuen, wenn Sie mir ein paar hilfreiche Anleitungen dazu schicken könnten, wenn Sie welche kennen.

Verwandte Fragen/Links:

+1

Folgen Sie Ihre Frage, hier ist h Verwenden Sie ShellExecute in .NET: [ShellExecute in .NET äquivalent] (http://stackoverflow.com/questions/258416/shellexecute-equivalent-in-net). Sie müssen ProccessStartInfo und Verb richtig einstellen ... –

Antwort

2

eingeschlossen Windows ist Set-up eine Datei den folgenden Code drucken genau tun sollten das gleiche wie mit der rechten Maustaste auf eine Datei und Auswahl von Drucken:

Dim process As System.Diagnostics.Process = New Process() 
    Dim startInfo As New ProcessStartInfo() 
    startInfo.FileName = filename 
    startInfo.Verb = "Print" 'prints to default printer 
    startInfo.UseShellExecute = True 
    startInfo.WindowStyle = ProcessWindowStyle.Hidden 
    startInfo.CreateNoWindow = True 
    process.StartInfo = startInfo 
    process.Start() 
+0

Das sieht vielversprechend aus. Was wäre, wenn ich den Standarddrucker nicht verwenden und stattdessen einen vom Benutzer ausgewählten Drucker verwenden möchte? – Luke

+0

Dieser Code wird nur auf dem Standarddrucker und mit den Standardeinstellungen des Druckers gedruckt. Als ich schmerzhaft erfahren habe, dass ich versucht habe, einem anderen Benutzer zu helfen (und gescheitert ist). –

+0

@DavidWilson Ja, tut es. Er erzählt das auch in einem Code-Kommentar. Aber gibt es eine Möglichkeit, vor dem Druck eine Druckerauswahl zu treffen? – Luke