日期:2014-05-17  浏览次数:20525 次

asp.net 怎样获取客户端所有已安装的打印机名
请问 怎样获取客户端所有已安装的打印机名?
使用PrinterSettings.InstalledPrinters获取的打印机名,是服务器上的,不是当前用户本地所安装的打印机

该怎样获取呢?
------解决方案--------------------
既然是客户端肯定Activx 只能这样了  据我所知 那个叫楚林web控件的就可以 自己百度一下
------解决方案--------------------
引用:
既然是客户端肯定Activx 只能这样了  据我所知 那个叫楚林web控件的就可以 自己百度一下

同意,基本上所有的web打印控件都有这个功能
------解决方案--------------------
客户端只能用Activex来取得,不建议这样做。

如果还是想实现,试一试下面的代码:


<script language="javascript" type="text/javascript">
 
        var filename;
function winPrintDialogBox(filename) {
    var oShell = new ActiveXObject("WScript.Shell");
    sRegVal = 'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\Device';
 
    var sName = oShell.RegRead(sRegVal)
    if (sName == '') {
        alert('Please, Check the Default Printer');
    }
    document.getElementById("hdnResultValue").value = sName;
    return sName;
}
function HandleError()
{
    alert("\nNothing was printed. \n\nIf you do want to print this page, then\nclick on the printer icon in the toolbar above.")
    return false;
}
    </script>


代码来自:
How to get the client printer name using JavaScript code
http://www.codeproject.com/Questions/104211/How-to-get-the-client-printer-name-using-JavaScrip