【发布时间】:2013-10-23 20:49:19
【问题描述】:
我想在 C# 中将本地打印机设置为默认值
我在 Google 搜索中找到了两种方法:
- 使用 IWshRuntimeLibrary 和 IWshNetwork_Class
- [DllImport("Winspool.drv")] private static extern bool SetDefaultPrinter(string printerName);
它的 C# 代码:
new IWshRuntimeLibrary.IWshNetwork_Class().SetDefaultPrinter(printerName)
所以,#1 是一个 COM 互操作调用。 #2 是一个简单的 dll 调用。
我都试过了,都可以正常工作。那么,我应该使用哪个?我需要为#1 安装一个单独的库(在客户端的机器上)吗?
【问题讨论】:
-
我已经定义了dllimport,就在没有try and catch的类下。那么,如果出现异常,如果dllimport的调用函数由于某种原因失败,我可以在代码中调用定义的函数时在catch{}中捕获它吗?或者整个程序会崩溃?
标签: c# .net printing dllimport