質問

私はエクスプローラを殺し、再起動するプログラムを書いていますが、一部の人々は(例えば、私はそれがDにインストールされていた誰かた別の場所にWindowsをインストールするので、私はハードコードに場所をしたくない:\ドライブをどこC:\ドライブ)が存在していたが、それにインストールされて何も持っていなかった。

私はEnvironment.SpecialFolderの下で探してみました。しかし、私はその下の「Windows」オプションが表示されない

これを行うための最善の方法は何ですか?

役に立ちましたか?

解決

http://msdn.microsoft.com/en-us/library/ 77zkk0b6.aspxする

これらを試してみてください。

Environment.GetEnvironmentVariable("SystemRoot")

Environment.GetEnvironmentVariable("windir")

他のヒント

Environment.GetFolderPath( Environment.SpecialFolder.Windows )は、Windowsフォルダへのパスを返します。我々は(.NET 4.0以上)したいまさにんAPIを使用しているため、環境変数を介して、このアプローチをお勧めします。

私は非常の使用をお勧めします:

Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System))

これは、管理者権限を必要とし、.NETフレームワークのすべてのバージョンをサポートしていません。

単にWindowsのエクスプローラを殺し、再起動するには、これはすでに(それを台無しユーザーでない限り)PATH環境変数に含まれているとして、あなたは、システムフォルダのパスを必要はありません。

ショートプログラムは、すべてのexplorer.exeのインスタンスを殺し、その後のexplorer.exeを再起動することをます:

static void Main(string[] args)
{
    foreach (Process process in Process.GetProcessesByName("explorer"))
    {
        if (!process.HasExited)
        {
            process.Kill();
        }
    }
    Process.Start("explorer.exe");
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top