【发布时间】:2019-04-02 10:56:56
【问题描述】:
我正在尝试使用 Windows 桌面应用程序安装虚拟打印机(适用于所有版本的 Windows)。我希望这台打印机在打印对话框的下拉列表中可用(尤其是从 Office)。
我正在尝试使用此代码:
public static void installPrinter(string printerName)
{
string arg;
arg = "printui.dll , PrintUIEntry /if /b " + "\"" + printerName + "\"" + @" /f C:\Windows\inf\ntprint.inf /r " + "\"" + "lpt1:" + "\"" + " /m " + "\"" + "Brother DCP-116C" + "\""; //initial args
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "rundll32.exe";
p.Arguments = arg;
p.WindowStyle = ProcessWindowStyle.Hidden;
try
{
Process.Start(p);
}
catch (Exception ex)
{
MessageBox.Show(ex.InnerException.ToString());
}
}
但它不起作用。有什么建议吗?
【问题讨论】:
-
异常信息是什么?你确定这将/应该在每个 Windows 版本上运行。从 Windows 3.11 到具有所有不同 API/框架的 Windows 10?
-
“它不起作用”不是我们可以为您提供帮助的问题陈述。
-
@Patric 没有异常消息,只有经典的 windows 声音(弹出以管理员身份运行时发出的声音)。我不确定这一点,但我会很高兴至少让它在一个版本上工作。这是我第一次尝试做这样的事情,我不确定它是如何工作的。可能我必须将驱动程序嵌入到我的项目中?很抱歉描述不好,但我一直在想它,而且我的英语不是最好的。提前谢谢
-
@IanKemp 抱歉,我的问题可能不仅仅是针对性问题,而是我的第一个问题,我对此并不熟悉。
-
也许你可以看看stackoverflow.com/questions/818583/… 开始做一些事情。而且我猜您正在使用某种带有调试功能的 IDE 进行开发,因此您应该能够生成某种错误/异常消息,从而更轻松地为您提供帮助。