問題タブ [managementeventwatcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
47 参照

vb.net - IE を閉じて Chrome を開き、1 回だけ実行してからクラッシュする

以下の非常に単純なスクリプトがあります

ieウィンドウが開いたときに監視し、閉じて代わりにchromeを実行する必要があります。これは最初はうまく機能しますが、完了すると次のエラーでクラッシュします

コムが分離しないようにするにはどうすればよいですか? プログラムを Windows で開始し、常に実行し続けたいと思います。

ありがとう

0 投票する
1 に答える
1008 参照

c# - プロセスを開始し、そのメイン ウィンドウをアプリの子ウィンドウとして設定する方法

C# アプリケーションから新しいプロセスを開始しています。

プロセスを作成したら、 ManagementEventWatcherSetParentを使用して、そのメイン ウィンドウをアプリ ウィンドウの子として設定します。

問題は、クエリにWITHIN 2を記述すると、長時間待機することを除いて、すべてが正常に機能することです。WITHIN 1と書くと、開始されたプロセスの MainWindowHandle は、イベントEventArrivedが発生したときにまだ作成されていません。

タイマーを使用する以外に、ハンドルが作成されるのを待つ良い方法はありますか?

0 投票する
1 に答える
501 参照

c# - C#でManagementEventWatcherがイベントを失う

ManagementEventWatcherイベントの監視に使用するアプリケーションを開発していUSBます。コードは正常に動作しますが、場合によってはプログラムで一部が失われますUSB events。USB からすべてのイベントを一覧表示する正しい方法は何ですか?

次のコードを使用しています。モニターの接続とUSBからの接続解除に2つのクエリを使用しています。多くの USB ポートを監視する必要があります。

USB モニター

0 投票する
1 に答える
486 参照

c# - ManagementEventWatcher のメモリ リークの問題

メモリ リークという用語の使い方が下手かもしれませんが、それを説明する他の方法がわかりません。ManagementEventWatcher クラスを使用して特定のインスタンスの起動を監視する Windows サービスを作成しました。そのインスタンスを確認すると、それに応じて別のインスタンスを起動します。私はこのサービスを複数のコンピューターでテストすることに成功し、全体的に成功しました.

私が遭遇する問題は、サービスの起動時に平均 2400k を使用することです。ただし、サービスを一晩実行したままにしておくと、朝、タスクマネージャーでプロセスが12000kのプライベートワーキングメモリにあることがわかります。

これは、何かがイベントを処理していないと私に信じさせますが、私は何を見分けることができません。

イベントの到着行と関係があると思います: watcher.EventArrived += new EventArrivedEventHandler ...

これは、add 代入演算子を使用する必要があるためだと思います。この理論をテストしたいのですが、マイナス代入演算子をどこに配置するかを判断するのに苦労しています。プーリングを防ぐために、最初の行の直後に行をクリアしますか? または、私が見逃している明白なクリーンアップ方法を見ている人はいますか? サービスによって呼び出されるコードが添付されています。

0 投票する
1 に答える
481 参照

c# - ドライブで FileSystemWatcher を実行しているときに、取り外した USB メモリ スティックを安全にイジェクトでき​​ない

USB ドライブにレコード ファイル アクティビティを作成する必要があります。

これまでにできること:

  1. ManagementEventWatcher を使用して、USB メモリの挿入と抽出 (メモリが取り外された後の抽出を検出) を検出します。

    /li>
  2. I を使用するFileSystemWatcherと、すべてのアクションを記録できます。作成、変更、削除、名前変更されたファイル:

    /li>

問題:

FileSystemWatcher がユニットを監視しているため、ユニットを安全に取り出そうとすると、アプリケーションのプロセスがユニットを使用しているため、ユニットを取り出せないと通知されます。この変数を true に設定EnableRaisingEvents = true;すると、イベントがメモリ内の変更をリッスンできるようになり、メモリを安全に削除することができなくなります。テストを行ってアプリケーションを起動し、それを false に設定するとEnableRaisingEvents = false;削除できますメモリを安全に。

考えられる解決策:

オペレーティング システムがデバイスを削除する前に、デバイスの削除を検出するにはどうすればよいですか? このようにして、デバイスでの FileSystemWatcher の使用を停止し、USB デバイスを安全に取り外すことができます。