1
WMIとManagementEventWatcher
を使用してWin32_PrintJob
から印刷ジョブ情報を取得できますが、プリンタ名が見つからないようです。私もこのWin32_PrintJobドキュメントを見て、プリンタ名に最も近いのはDriverName
プロパティですが、それはコントロールパネルのデバイスとプリンタに表示されるプリンタ名ではなく、プリンタドライバ名です。Win32_PrintJobから印刷ジョブからプリンタ名を取得するには?
タイトルに記載されているように、印刷ジョブからプリンタ名を取得するには、どうすればWin32_PrintJob
になりますか?
これが印刷ジョブを取得するために、これまでの私の部分のコードです:
public void PrintHelperInstance_OnPrintJobChange(object sender, EventArrivedEventArgs e)
{
ManagementBaseObject objProps = (ManagementBaseObject)e.NewEvent.Properties["TargetInstance"].Value;
string jobName = objProps["Document"].ToString();
if (jobName == "Test Print Form")
{
if (!IsFoundPrintJob)
{
IsFoundPrintJob = true;
}
CurrentJobStatus = (string)objProps["JobStatus"];
if (CurrentJobStatus != PreviousJobStatus)
{
uint jobId = (uint)objProps["JobId"];
string jobPrinter = (string)objProps["DriverName"];
string jobHost = (string)objProps["HostPrintQueue"];
string jobStatus = (string)objProps["JobStatus"];
PreviousJobStatus = CurrentJobStatus;
}
}
}
をありがとう私が別のものを持っているように、私はこの明日しようとします今夜はやる。 –