# Get Names of Available Printers Example (C#)

This example shows how to get the names of the printers available to your computer to which you can print.

    //--------------------------------------------------------------
    // Preconditions:
    // 1. Create a C# Windows console project.
    // 2. Copy and paste this project into the C# IDE.
    // 3. Add a reference:
    //    install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.
    // 4. Open the Immediate window.
    // 5. Start DraftSight.
    // 6. Run the macro.
    //
    // Postconditions: The names of available printers are written
    // to the Immediate window.
    //----------------------------------------------------------------
    using DraftSight.Interop.dsAutomation;
    using System;
    using System.Diagnostics;
    using System.Runtime.InteropServices;

    static class Module1
    {

        public static void Main()
    	{
    	   DraftSight.Interop.dsAutomation.Application dsApp;

    	   //Connect to DraftSight
                dsApp = (DraftSight.Interop.dsAutomation.Application)Marshal.GetActiveObject("DraftSight.Application");

               //Abort any command currently running in DraftSight
               //to avoid nested commands
               dsApp.AbortRunningCommand();

               //Get list of available printers
               PrintManager dsPrintMgr = default(PrintManager);
               dsPrintMgr = (PrintManager)dsApp.GetPrintManager();
               string[] printerArray = dsPrintMgr.GetAvailablePrinters();
               if(null != printerArray)
               {
                  Debug.Print ("Available printers:");
                  for (int i = 0; i < printerArray.Length; ++i)
                  {
                        Debug.Print("  " + printerArray[i]);
                  }
              }
           }

    }