コード例 #1
0
        private void prtdata_02()
        {
            // Enumerate the properties, and their types, of a queue without using Reflection
            LocalPrintServer localPrintServer  = new LocalPrintServer();
            PrintQueue       defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue();

            PrintPropertyDictionary printQueueProperties = defaultPrintQueue.PropertiesCollection;

            txtDiags.Text += "These are the properties, and their types, of " +
                             defaultPrintQueue.Name +
                             " " +
                             defaultPrintQueue.GetType().ToString() + "\n\n";

            foreach (DictionaryEntry entry in printQueueProperties)
            {
                PrintProperty property = (PrintProperty)entry.Value;

                if (property.Value != null)
                {
                    txtDiags.Text += property.Name +
                                     "\t" + property.Value.GetType().ToString() +
                                     "\t" + property.Value.ToString() +
                                     "\n";
                }
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            //<SnippetShowPropertyTypesWithoutReflection>

            // Enumerate the properties, and their types, of a queue without using Reflection
            LocalPrintServer localPrintServer  = new LocalPrintServer();
            PrintQueue       defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue();

            PrintPropertyDictionary printQueueProperties = defaultPrintQueue.PropertiesCollection;

            Console.WriteLine("These are the properties, and their types, of {0}, a {1}", defaultPrintQueue.Name, defaultPrintQueue.GetType().ToString() + "\n");

            foreach (DictionaryEntry entry in printQueueProperties)
            {
                PrintProperty property = (PrintProperty)entry.Value;

                if (property.Value != null)
                {
                    Console.WriteLine(property.Name + "\t(Type: {0})", property.Value.GetType().ToString());
                }
            }
            Console.WriteLine("\n\nPress Return to continue...");
            Console.ReadLine();

            //</SnippetShowPropertyTypesWithoutReflection>
        }
コード例 #3
0
        static void Main(string[] args)
        {
            //<SnippetClonePrinter>
            LocalPrintServer        myLocalPrintServer = new LocalPrintServer(PrintSystemDesiredAccess.AdministrateServer);
            PrintQueue              sourcePrintQueue   = myLocalPrintServer.DefaultPrintQueue;
            PrintPropertyDictionary myPrintProperties  = sourcePrintQueue.PropertiesCollection;

            // Share the new printer using Remove/Add methods
            PrintBooleanProperty shared = new PrintBooleanProperty("IsShared", true);

            myPrintProperties.Remove("IsShared");
            myPrintProperties.Add("IsShared", shared);

            // Give the new printer its share name using SetProperty method
            PrintStringProperty theShareName = new PrintStringProperty("ShareName", "\"Son of " + sourcePrintQueue.Name + "\"");

            myPrintProperties.SetProperty("ShareName", theShareName);

            // Specify the physical location of the new printer using Remove/Add methods
            PrintStringProperty theLocation = new PrintStringProperty("Location", "the supply room");

            myPrintProperties.Remove("Location");
            myPrintProperties.Add("Location", theLocation);

            // Specify the port for the new printer
            String[] port = new String[] { "COM1:" };


            // Install the new printer on the local print server
            PrintQueue clonedPrinter = myLocalPrintServer.InstallPrintQueue("My clone of " + sourcePrintQueue.Name, "Xerox WCP 35 PS", port, "WinPrint", myPrintProperties);

            myLocalPrintServer.Commit();

            // Report outcome
            Console.WriteLine("{0} in {1} has been installed and shared as {2}", clonedPrinter.Name, clonedPrinter.Location, clonedPrinter.ShareName);
            Console.WriteLine("Press Return to continue ...");
            Console.ReadLine();
            //</SnippetClonePrinter>
        }