Expand|Select|Wrap|Line Numbers
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Diagnostics;
- using System.IO;
- using System.Drawing.Printing;
- using System.Management;
- namespace Print_folder
- {
- public partial class Form1 : Form
- {
- public static string Path = @"C:\Users\AM6846\Desktop\Folder";
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- string[] filenames = Directory.GetFiles(@"C:\Users\AM6846\Desktop\Folder\" + listBox1.SelectedItem);
- // Checks if User selects before clicking on print button.
- // If user clicks on print button directly without selecting an option, app returns an message.
- if (comboBox1.SelectedIndex != -1)
- {
- if (listBox1.SelectedIndex != -1)
- {
- try
- {
- Process printJob = new Process();
- foreach (string testString in filenames)
- {
- printJob.StartInfo.FileName = testString;
- printJob.StartInfo.UseShellExecute = true;
- printJob.StartInfo.Verb = "print";
- printJob.StartInfo.Arguments = comboBox1.SelectedText;
- printJob.Start();
- printJob.WaitForInputIdle();
- }
- }
- catch (System.Exception exception)
- {
- MessageBox.Show(exception.Message);
- }
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("Please Select a Folder to print!!");
- }
- }
- else
- {
- System.Windows.Forms.MessageBox.Show("Please Select a printer!!");
- }
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- // Enter the path of parent folder.
- DirectoryInfo dir = new DirectoryInfo(Path);
- // Populates the listbox with subfolders.
- this.listBox1.Items.AddRange(dir.GetDirectories());
- textBox1.Text = Path;
- foreach(string strPrinter in PrinterSettings.InstalledPrinters)
- {
- comboBox1.Items.Add(strPrinter);
- }
- }
- private void PopulateInstalledPrintersCombo()
- {
- // Add list of installed printers found to the combo box.
- // The pkInstalledPrinters string will be used to provide the display string.
- String pkInstalledPrinters;
- for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
- {
- pkInstalledPrinters = PrinterSettings.InstalledPrinters[i];
- comboBox1.Items.Add(pkInstalledPrinters);
- }
- }
- private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
- }
- /*
- public bool SetDefaultPrinter()
- {
- System.Management.ManagementObjectSearcher search =
- default(System.Management.ManagementObjectSearcher);
- System.Management.ManagementObjectCollection results =
- default(System.Management.ManagementObjectCollection);
- System.Management.ManagementObject printer =
- default(System.Management.ManagementObject);
- search =
- new System.Management.ManagementObjectSearcher("select * from win32_printer");
- results = search.Get();
- //Get Default Printer
- System.Management.ManagementObject defaultPrinter = null;
- foreach (System.Management.ManagementObject foundPrinter in results)
- {
- System.Management.PropertyDataCollection
- propertyDataCollection = foundPrinter.Properties;
- if ((bool)foundPrinter["Default"]) // DEFAULT PRINTER
- {
- System.Diagnostics.Debug.WriteLine(foundPrinter["Name"]);
- System.Diagnostics.Debug.WriteLine(foundPrinter["Location"]);
- }
- }
- //Sets new default Printer
- foreach (System.Management.ManagementObject foundPrinter in results)
- {
- System.Diagnostics.Debug.Print(foundPrinter["Name"].ToString());
- if (foundPrinter["Name"].Equals("PDFCreator"))
- {
- System.Management.ManagementBaseObject outParams =
- foundPrinter.InvokeMethod("SetDefaultPrinter", null, null);
- if (outParams == null)
- System.Diagnostics.Debug.WriteLine("Unable to set default printer");
- Int32 retVal = (int)(uint)outParams.Properties["ReturnValue"].Value;
- if (retVal == 0)
- return true;
- else
- return false;
- }
- }
- return false;
- }
- */
- }
- }