string portName = "testing:";
RegistryKey PrinterPort = Registry.LocalMachine.OpenSubKey("SYSTEM\\ControlSet001\\Control\\Print\\Monitors\\Redirected Port\\Ports\\"+portName, true);
if (PrinterPort != null)
{
PrinterPort.SetValue(@"Arguments", "@C:\\gs\\pdfwrite.txt -sOutputFile=\"d:\\hello.pdf\" -c .setpdfwrite -f -");
PrinterPort.SetValue(@"Command", "c:\\gs\\bin\\gswin32c.exe");
PrinterPort.SetValue(@"Delay", 0x12c);
PrinterPort.SetValue(@"LogFileDebug", 0x0);
PrinterPort.SetValue(@"LogFileName", "");
PrinterPort.SetValue(@"LogFileUse", 0x0);
PrinterPort.SetValue(@"Output", 0x0);
PrinterPort.SetValue(@"Printer", "Send To Cool Printer");
PrinterPort.SetValue(@"PrintError", 0x0);
PrinterPort.SetValue(@"RunUser", 0x0);
PrinterPort.SetValue(@"ShowWindow", 0x0);
PrinterPort.Close();
}
c3RyaW5nIHBvcnROYW1lID0gInRlc3Rpbmc6IjsKUmVnaXN0cnlLZXkgUHJpbnRlclBvcnQgPSBSZWdpc3RyeS5Mb2NhbE1hY2hpbmUuT3BlblN1YktleSgiU1lTVEVNXFxDb250cm9sU2V0MDAxXFxDb250cm9sXFxQcmludFxcTW9uaXRvcnNcXFJlZGlyZWN0ZWQgUG9ydFxcUG9ydHNcXCIrcG9ydE5hbWUsIHRydWUpOwppZiAoUHJpbnRlclBvcnQgIT0gbnVsbCkKewogICAgUHJpbnRlclBvcnQuU2V0VmFsdWUoQCJBcmd1bWVudHMiLCAiQEM6XFxnc1xccGRmd3JpdGUudHh0IC1zT3V0cHV0RmlsZT1cImQ6XFxoZWxsby5wZGZcIiAtYyAuc2V0cGRmd3JpdGUgLWYgLSIpOwogICAgUHJpbnRlclBvcnQuU2V0VmFsdWUoQCJDb21tYW5kIiwgImM6XFxnc1xcYmluXFxnc3dpbjMyYy5leGUiKTsKICAgIFByaW50ZXJQb3J0LlNldFZhbHVlKEAiRGVsYXkiLCAweDEyYyk7CiAgICBQcmludGVyUG9ydC5TZXRWYWx1ZShAIkxvZ0ZpbGVEZWJ1ZyIsIDB4MCk7CiAgICBQcmludGVyUG9ydC5TZXRWYWx1ZShAIkxvZ0ZpbGVOYW1lIiwgIiIpOwogICAgUHJpbnRlclBvcnQuU2V0VmFsdWUoQCJMb2dGaWxlVXNlIiwgMHgwKTsKICAgIFByaW50ZXJQb3J0LlNldFZhbHVlKEAiT3V0cHV0IiwgMHgwKTsKICAgIFByaW50ZXJQb3J0LlNldFZhbHVlKEAiUHJpbnRlciIsICJTZW5kIFRvIENvb2wgUHJpbnRlciIpOwogICAgUHJpbnRlclBvcnQuU2V0VmFsdWUoQCJQcmludEVycm9yIiwgMHgwKTsKICAgIFByaW50ZXJQb3J0LlNldFZhbHVlKEAiUnVuVXNlciIsIDB4MCk7CiAgICBQcmludGVyUG9ydC5TZXRWYWx1ZShAIlNob3dXaW5kb3ciLCAweDApOwogICAgUHJpbnRlclBvcnQuQ2xvc2UoKTsKfQ==