

We've collected a list of support pages for some of the most common printer brands below:Īnother idea would be to run a Google search describing your problem, including the brand and model number. If you're still having trouble, you can try to find help for your specific printer.
#Sample print test page manual#
The instruction manual included with the printer should note what type of cartridge you'll need to buy. If this happens, it probably means your printer requires a new ink cartridge to keep working.

InvokeMethodOptions moMethodOpt = new InvokeMethodOptions(null, ManagementOptions.InfiniteTimeout) If (moPrinter is null) throw new InvalidOperationException("Printer not found") ManagementObject moPrinter = moSearcher.Get().OfType().FirstOrDefault() Using (ManagementObjectSearcher moSearcher = new ManagementObjectSearcher(mScope, mQuery, mOptions)) MQuery.QueryString += string.IsNullOrEmpty(PrinterName) SelectQuery mQuery = new SelectQuery("SELECT * FROM Win32_Printer") ManagementScope mScope = new connOptions) String machineName = string.IsNullOrEmpty(MachineName) ? Environment.MachineName : MachineName Public static uint PrintTestPage(string PrinterName, string MachineName)ĬonnectionOptions connOptions = GetConnectionOptions() ĮnumerationOptions mOptions = GetEnumerationOptions(false) Sample call to Print a test page using the default printer in the local machine: var result = PrintTestPage(null, null)

The method returns 0 if successful and throws an exception if the Printer is not found. String MachineName: the name of a Machine in the Network or null to use the LocalMachine name. String PrinterName: the name of a specific Printer or null to use the default Printer.
#Sample print test page code#
This gives means to correct/adapt the code to specific contexts, when necessary.Īlso, the helper methods here can be reused to initialize any other WMI query.įor example, a wrong Impersonation option, will result in an exception ( 0x80070005: (E_ACCESSDENIED)) when connecting to the WMI Scope or when the WMI query is executed.Ī description of the PrintTestPage method parameters: Now, this method might look verbose, but I think it's important, when calling WMI methods, that the Management Options and Scopes are defined correctly.
