Example #1
0
        // I believe these virtual port parameters are specific to printmon
        public void ConfigureVirtualPort(MhwPrinter mhwPrinter, PdfEngine pdfEngine)
        {
            var    filePattern = "%r-%u-%Y%m%d-%H%n%s.pdf";
            string userCommand =
                string.Format(
                    @"{0} -dSAFER -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=""\\.\pipe\{1}\%u"" -c ""[ /MhwFilename (%f) /DOCINFO pdfmark"" -f -",
                    pdfEngine.PathExe,
                    mhwPrinter.PipeRoot);

            string keyName = string.Format(@"SYSTEM\CurrentControlSet\Control\Print\Monitors\{0}\{1}", mhwPrinter.MonitorName, mhwPrinter.PortName);

            Registry.LocalMachine.CreateSubKey(keyName);
            RegistryKey regKey = Registry.LocalMachine.OpenSubKey(keyName, true);

            // ReSharper disable once PossibleNullReferenceException
            regKey.SetValue("OutputPath", string.Empty, RegistryValueKind.String);

            regKey.SetValue("FilePattern", filePattern, RegistryValueKind.String);
            regKey.SetValue("Overwrite", 0, RegistryValueKind.DWord);
            regKey.SetValue("UserCommand", userCommand, RegistryValueKind.String);
            regKey.SetValue("ExecPath", string.Empty, RegistryValueKind.String);
            regKey.SetValue("PipeData", 0x1, RegistryValueKind.DWord);
            regKey.SetValue("WaitTermination", 0, RegistryValueKind.DWord);
            regKey.Close();
        }
Example #2
0
 public void RemovePrinter(MhwPrinter mhwPrinter)
 {
     winspool.DeletePrinter(mhwPrinter.PrinterName,
                            mhwPrinter.PortName,
                            mhwPrinter.MonitorName,
                            mhwPrinter.DriverName,
                            COMMENT);
 }
Example #3
0
 protected JobMonitor(MhwPrinter mhwPrinter)
 {
     PipeName = mhwPrinter.GetUserPipe();
 }
Example #4
0
 public void AddPrinter(MhwPrinter mhwPrinter)
 {
     winspool.AddPrinter(mhwPrinter.PrinterName, mhwPrinter.PortName, mhwPrinter.DriverName, COMMENT);
 }