3

私は SO をスキャンしましたが、この質問が投稿されていませんでした。見逃していたら申し訳ありません。これは繰り返しです。

PrinterSettings.InstalledPrinters でネットワーク プリンターを特定し、printer.Properties から "PortName" プロパティを取得できますが、プロパティを設定するだけでは機能しません。レジストリでそのプリンターのポート名の変更を力ずくで試みましたが、それも機能しませんでした (ただし、実際にはそうなるとは思いませんでしたが、試してみる必要がありました)。

reg ファイルをロードして新しいポートを実装したので、ポートを作成する必要はありません。(ところで、プリンターのプロパティで設定すると正常に機能するため、ポートが機能することはわかっています)。

あなたの助けに感謝します。

ありがとう

4

1 に答える 1

3

WMIを使用して、プリンターのポート名を設定できます。次に例を示します。

ManagementScope scope = new ManagementScope(@"\root\cimv2");
scope.Connect();

// Insert your printer name in the WHERE clause...
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer WHERE Name='PrinterName");


foreach (ManagementObject printer in searcher.Get())
{
  printer["PortName"]="LPT1:";
  printer.Put();  // Important: Call put to save the settings.
}

お役に立てれば。

于 2011-08-29T20:21:39.583 に答える