1

ユーザーがウィンドウ エクスプローラーを介してJ:/などの特定のディレクトリにアクセスしようとするタイミングを監視しようとしています。について読みましDirectory.GetCurrentDirectoryたが、プログラムに実装する方法が本当にわかりませんでした。ここGetForegroundWindowからも読みました。また、必要なものに最も近いと思うこのWebサイトも読みましたが、「Microsoft Internet Control」参照を追加した後でも、ボタンを押してアクティブなウィンドウをフェッチしても何も得られなかったように、彼のコードは機能しませんでした。VS 2012 を使用して、次のようにコーディングしました。

SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();

string filename;

foreach ( SHDocVw.InternetExplorer ie in shellWindows )
{
    filename = Path.GetFileNameWithoutExtension( ie.FullName ).ToLower();

    if ( filename.Equals( "explorer" ) )
         MessageBox.Show( "Hard Drive : {0}", ie.LocationURL );
}

書き方が悪いのでしょうか?これを行う簡単な方法はありますか?そして、初歩的なミスをしてしまった場合は、あらかじめお詫び申し上げます。

4

1 に答える 1

1

に変更if-conditionします。

if (filename.Equals("explorer"))
    MessageBox.Show( "Hard Drive : {0}", ie.LocationURL );
于 2013-08-14T11:21:00.590 に答える