フォームのボタンをクリックすると、何らかのアプリケーションを実行する必要があります WPFデスクトップアプリケーションとプログラミング言語としてのC#今日私は問題に直面して、私はボタンのキーを押してアプリケーションを実行しようとしましたが、デバッガで私のパスが次のように記述されていることに気づきました。(私はSettings.settingファイルのパスを保持しています。二重のバックスラッシュを使用し、それが私の最初のquuestionで、なぜの下に言及したもののように見える私のパス、です)string.Replaceは文字列の二重バックスラッシュを置き換えません
C:\\マイコンピュータ\\ MyApplicationを\\ Application.exe
と私はそれは私が何をしようとしたものを、単一のバックスラッシュ、と書かれた必要が下に掲載されています。私はDirectory.Exists(path2)
はオールウェイズ偽で実現
private void OpenApplication_Click(object sender, MouseButtonEventArgs e)
{
string path = Globals.MyApplicationPath;
string path2 = path.Replace(@"\\", @"\");
//path2 is still dobule backshashed :(
if (Directory.Exists(path2))
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = Globals.MyApplicationPath;
Process.Start(start);
}
else
{
MessageBox.Show("Path is not correct.");
}
}
ので、acctuallyそれが存在する場合でも、私のパスは、存在しないことを意味しだから私は "\\"を取り除いて "\"で置き換える必要があると思う。
'なぜ私のパスは、それはあなたがデバッガウィンドウに表示されるものであるthat'のように探しています。テキストをテキストとして表示するには、* magnifier *アイコンを使用します。 https://stackoverflow.com/a/26379763/932418 –
@LB拡大鏡のアイコンを使用しています。私の値はうまく見えますが、そのパスが100%存在する場合でも常にfalseです。:/ –
パスに設定をスラッシュなしで入力すると、コード内にスラッシュはありません。 C#がその文字を処理する方法を見ているだけです。パスは存在しません。あなたはそうすると思います。それがあなたの問題です。もう一度見てください。推奨されているように虫眼鏡アイコンを使用して文字列をつかみ、フォルダにエクスプローラで直接貼り付けてください。 – JuanR