C# dosyasındaki açık dosya iletişim kutusunu kullanırken garip bir davranış buldum. Bu kodu Windows XP
'da kullanırsanız, geçerli çalışma dizini seçili dosyanın yoluna değişir, ancak bu kodu Windows 7
'da çalıştırırsanız, geçerli çalışma dizini değişmez.Windows XP'de Dosya Aç iletişimini kullanırken geçerli çalışma dizini neden değişiyor?
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(string.Format("Current Directory {0}",Directory.GetCurrentDirectory()), "My Application",MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog and get result.
if (result == DialogResult.OK)
{
}
MessageBox.Show(string.Format("Current Directory {0}", Directory.GetCurrentDirectory()), "My Application", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
Bu davranışın nedenini bilen var mı? Geçerli dizin neden XP'de ve Windows 7
'da değil?
Yanıtladığınız için, sorunun nasıl giderileceğini gerçekten biliyordum. Sadece bu davranışın nedenini bilmek istiyorum. – RRUZ
@RRUZ, kendimi merak ediyorum. Reflektördeki kodları kazarak Vista (HandleVistaFileOK) için özel bir yöntem görüyorum. Şüphelerim bu yöntemden sorumludur ama bir kez daha neden sorusuna cevap vermiyor. – JaredPar