2010-12-12 2 views
3

파일 열기 대화 상자의 InitialDirectory 속성을 설정하지 않고 Vista 파일 열기 대화 상자에서 사용하는 초기 디렉토리를 설정하거나 가져 오는 방법이 있습니까?.net windows api : 파일 열기 대화 상자에서 사용하는 가장 최근의 디렉토리 가져 오기 또는 설정

내 WPF가 (시작시) 모든 열기/저장 대화 상자에 한 번 기본 폴더를 설정하도록합니다. 컴퓨터가 실행되는 동안 Vista에서 알게되면 파일 열기/저장 대화 상자에서 사용자의 마지막으로 선택한 디렉토리를 기본/추적합니다. 메모장이나 모든 프로그램이 이런 식으로 행동합니다.

내가 이것을 달성하려고하는 이유는 내 앱에서이를 추적하고 설정하고 폴더를 저장하고 싶지 않기 때문입니다. 나는 기본값을 설정하고 비스타가 그걸 추적하도록하고 싶습니다.

Directory.SetCurrentDirectory가 수행하지 않습니다.

답변

3

문제를 해결하기 위해 수행해야 할 정확한 작업이 제외되었습니다. InitialDirectory를 설정하지 않으면 대화 상자에 마지막으로 사용한 디렉토리가 사용됩니다. 이 정보는 프로세스 이름으로 색인화 된 레지스트리에 저장됩니다. 이 동작을 선택적으로 끌 수는 없습니다.

사용되는 레지스트리 키가 Windows 버전간에 변경되었습니다. 나는 Win7에서 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ComDlg32 \ LastVisitedPidlMRU라고 생각한다. 이전 버전에 있던 것처럼 더 이상 일반 텍스트가 아닙니다. 목록에있는 키 값을 파싱하는 위험을 감수하려면 Windows 버전을 확인해야합니다. 솔직히, 이것은 InitialDirectory 속성을 초기화하기 위해 작성해야하는 간단한 코드의 가치는 없습니다. 당신이 로딩을 유지하는 코드와 OpenFileDialog를위한 디렉토리를 저장 쓰기이 작업을 수행 래퍼 함수를 ​​작성해야하고 싶지 않은 경우

0

, 그럼 그냥 ...

래퍼 함수를 ​​호출
관련 문제