UPDATE次のコードCでドライバ機能を実行
private void Nozzle_Click(object sender, EventArgs e)
{
if (File.Exists("C:\\Nozzle.lnk"))
{
Process.Start("explorer.exe", "C:\\Nozzle.lnk");
}
}
で解決私はC#のプログラムを書いていると要件の一つは、ドライバで特定の機能を実行する機能です。 これを展開する - これはEpson L800プリンタのプリンタドライバ&です。この機能は「ノズルチェック」と呼ばれています。今、私がコントロールパネルに入り、 'Nozzle Check'にナビゲートすれば、そのショートカットを作成してC:/ Driveに置くことができます。 私は、C#でそのショートカットを実行できると仮定していましたが、動作しません。次のエラーが発生します。
システムで 'System.ComponentModel.Win32Exception' .dll その他の情報:この操作に指定したファイルに関連付けられているアプリケーションはありません。
同じコードを使用して他のショートカットを実行できるので、コントロールパネルを使用する必要があります。私のコードは次のとおりです。
private void Nozzle_Click(object sender, EventArgs e)
{
Process proc = new Process();
proc.StartInfo.FileName = @"C:\\Nozzle.lnk";
proc.Start();
}
外部デバイスと通信するには、いくつかのライブラリを使用するか、少なくともその構造を知っている必要があります。通常、スキャナやプリンタなどと通信するためのライブラリはTWAINとWIAです。 –
私はアプリ内でプリンタと直接話すのを避けようとしています。ドライバには、実行する必要のある機能が1つあり、コントロールパネルからアクセスできます。私の質問は、C# –
のhttps://www.codeproject.com/Articles/293900/How-to-install-driver-dynamically-or-install-driveをチェックして、コントロールパネルからその機能を実行する方法です。 http://www.drdobbs.com/cpp/accessing-device-drivers-from-c/184416423 –