/// <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("指定のプリンタは存在しないです。");
}
}