加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用c#设置Windows的默认打印机

发布时间:2020-12-16 01:59:32 所属栏目:百科 来源:网络整理
导读:我想在按钮单击时为 Windows /系统设置设置默认打印机.我想点击一个按钮,并希望出现一个Windows对话框,要求用户设置默认打印机.现在我正在使用PrintDialog,但每次点击按钮都会更改打印机.我想将所选的打印机设置为默认打印机,即使我关闭应用程序也应该保持不
我想在按钮单击时为 Windows /系统设置设置默认打印机.我想点击一个按钮,并希望出现一个Windows对话框,要求用户设置默认打印机.现在我正在使用PrintDialog,但每次点击按钮都会更改打印机.我想将所选的打印机设置为默认打印机,即使我关闭应用程序也应该保持不变.

private void PrintSettingsBtn_Click(object sender,EventArgs e)
{
  PrintDialog PrintDialog = new PrintDialog();
  PrintDialog.ShowDialog();
  PrinterName = PrintDialog.PrinterSettings.PrinterName;
}

解决方法

尝试使用SetDefaultPrinter Windows API函数

using System.Runtime.InteropServices;

   ...

   [DllImport("winspool.drv",CharSet = CharSet.Auto,SetLastError = true)]
   [return: MarshalAs(UnmanagedType.Bool)]
   public static extern Boolean SetDefaultPrinter(String name);

   ...

   SetDefaultPrinter(PrinterName);

看到

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162971(v=vs.85).aspx
http://www.pinvoke.net/default.aspx/winspool/SetDefaultPrinter.html?diff=y

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读