Retrieving More Hardware Information With Internet Explorer and JavaScript
This is the fourth and last article in this series, which focuses on retrieving hardware information using JavaScript and presenting it on a web page. You can directly copy and paste the code samples present in this article into a file with the extension “.htm” and open them in Internet Explorer 5.5+.
Retrieving More Hardware Information With Internet Explorer and JavaScript - How to retrieve the printer driver information available in a computer using JavaScript (Page 5 of 7 )
Now, let us try to develop a simple script (JavaScript) which shows the technique for retrieving all the printer drivers installed in a computer. The entire code for the sample is as follows:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/ intellisense/ie5"> <script id="clientEventHandlersJS" language="javascript"> <!--
functionButton1_onclick() { var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); var properties = service.ExecQuery("SELECT * FROM Win32_DriverForDevice"); var e = new Enumerator (properties); document.write("<table border=1>"); dispHeading(); for (;!e.atEnd();e.moveNext ()) { var p = e.item (); document.write("<tr>"); document.write("<td>" + p.Antecedent + "</td>"); document.write("<td>" + p.Dependent + "</td>"); document.write("</tr>"); } document.write("</table>"); }
The above would automatically list all printer drivers installed (along with their properties) on the client computer. It even lists the shared printer drivers. To retrieve this information, I used a built-in class, “Win32_DriverForDevice.” You can also use “Win32_PrinterShare” with the same properties as specified above.
The “for” loop I used in the above code iterates for every driver present in the system and finally retrieves only the properties of that driver.