この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 18440|答える: 0

[出典] Directory.GetCurrentDirectory と Application.StartupPath の違い

[リンクをコピー]
掲載地 2016/12/08 11:06:32 | | |

System.IO.Directory.GetCurrentDirectory()メソッドを使ってアプリケーションの現在の作業ディレクトリを取得します。
System.Windows.Forms.Application.StartupPathは、ファイル名を含まずアプリケーションの実行ファイルへのパスを取得します

StartupPath実行ファイルはピン留めされており、ターゲティングに利用できます
GetCurrentDirectoryは、起動場所によっては必ずしも実行ファイルが存在するディレクトリとは限りません

もしプログラムが2つあるなら、C:/A/a.exeとC:/B/b.exe
a.exeでb.exeを起動する際、System.Diagnostics.Process.Start(@"C:/B/b.exe")
この場合、b.exeのDirectory.GetCurrentDirectory()メソッドは「C:/A」の値を返し、Application.StartupPathの値は「C:/B」となります。
もしb.exe直接C:/B/から始めると、両方の値は同じで、「C:/B」になります。

これがDirectory.GetCurrentDirectoryとApplication.StartupPathの違いです

この二つの意味は異なります。
Application.StartupPathはプログラムの起動ディレクトリであり、プログラム実行後は変更されません。

Directory.GetCurrentDirectory()は「現在のディレクトリ」であり、プログラムが実行中に変更可能です

Directory.SetCurrentDirectory() に変更 。

Directory.GetCurrentDirectory() のデフォルト値は Application.StartupPath() と同じです。




先の:lock なぜ参照だけをロックできて、値型はロックできないのか
次に:1つのインスタンスしか動作できないC#プログラムの問題を解決するいくつかの詳細な説明
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com