博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

设置打印机

Posted on 2007-08-06 10:27  懒人ABC  阅读(257)  评论(0编辑  收藏  举报

  /// <summary>
  /// 指定したプリンタ名を通常使いプリンタに設定します
  /// </summary>
  /// <param name="pPrinterName"></param>
  private void SetDefaultPrinterName(string pPrinterName)
  {
   if(pPrinterName.Equals(""))
   {
    return;
   }

   string vPrinterName = pPrinterName;

   ManagementObjectSearcher vQuery;
   ManagementObjectCollection vQueryCollection;

   string vClassname = "SELECT * FROM Win32_Printer";

   vQuery = new ManagementObjectSearcher(vClassname);

   //全部存在のプリンタを検索出す
   vQueryCollection = vQuery.Get();

   bool vFlag = false;

   foreach (ManagementObject vMO in vQueryCollection)
   {
    //プリンタ名対応のプリンタが存在したら、通常使いプリンタに設定します。
    if (string.Compare(vMO["Name"].ToString(), vPrinterName,true)==0)
    {
     vMO.InvokeMethod("SetDefaultPrinter",null);

     vFlag = true;

     break;
    }
   }

   if(vFlag == false)
   {
    throw new Exception("指定のプリンタは存在しないです。");
   }
  }