Znalazłem dziwne zachowanie, gdy korzystasz z okna dialogowego otwierania plików w języku C#.Dlaczego obecny katalog roboczy zmienia się, gdy używasz okna dialogowego Otwórz plik w systemie Windows XP?
Jeśli użyjesz tego kodu w Windows XP
, bieżący katalog roboczy zmienia się na ścieżkę wybranego pliku, jednak jeśli uruchomisz ten kod w Windows 7
, bieżący katalog roboczy się nie zmieni.
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);
}
Ktoś wie, dlaczego to zachowanie? Dlaczego bieżący katalog zmienia się w XP, a nie w Windows 7
?
Dzięki za ciebie odebrać i tak naprawdę nie wiedział, jak rozwiązać ten problem. Chcę tylko poznać przyczynę tego zachowania. – RRUZ
@RRUZ, jestem ciekawy sam. Kopanie poprzez kod w reflektorze widzę specjalnej metody Vista (HandleVistaFileOK). Moje podejrzenie jest ta metoda jest odpowiedzialny, ale po raz kolejny, że tak naprawdę nie odpowiedzieć na pytanie, dlaczego. – JaredPar