例えば、下記のようなコードがあったとします。(C#)
File.WriteAllText("test.txt", "test");OpenFileDialog dlg = new OpenFileDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
File.WriteAllText("test2.txt", "test");
}
普通に考えると、test.txt 、test2.txt 共に、exeと同じフォルダに保存されるような気がするんですが、そうではありません。
test2.txt は OpenFileDialog で開いたファイルのあるフォルダに保存されます。
カレントパスを確認する Directory.GetCurrentDirectory() や System.Environment.CurrentDirectory プロパティで確認すると、パスが変わってることがよく理解できます。
ファイルダイアログ使ったとしても、exe と同じ場所に設定ファイル等保存したいときは、System.Windows.Forms.Application.StartupPath を使うといいかもしれません。