2012-09-12 2 views
2

Windows 7 SP1이 설치된 여러 컴퓨터에서이 작업을 수행 할 수 있습니다.Win32 OpenFileDialog가 * .DOCX 바로 가기를 필터링하지 않습니다.

이 메모장 (또는 OpenFileDialog 사용하는 다른 응용 프로그램)

  1. 은 DOCX
  2. 시작 메모장
  3. 파일의 바로 가기를 만들기에 복제 할 수 *이 .txt 열기
  4. 필터
  5. * .docx 바로 가기의 위치로 이동

* .docx는 필터링 할 수없는 유일한 단축키 확장 프로그램입니다. 지금까지 유일한 해결 방법은 사용자가 파일을 선택한 후에 내 응용 프로그램이 파일 확장명을 확인하는 것입니다.

OpenFileDialog은 사용자가 예상 할 수있는대로 * .docx.lnk 파일을 걸러 낼 수있는 방법이 있습니까?

왜 Office 파일 확장명에만 영향을 줍니까?

+0

실제로 모든 Office 2007+ 파일입니다. 그래서 .pptx와. 무작위로 4 글자 확장자를 확인하지 않습니다. – user1666818

+0

필터 확장이 무엇이든 관계없이 * txt가 아닌 것으로 보입니다. – shf301

+1

미안 프로그래밍 문제가 아닙니다. 입력의 유효성을 항상 확인하는 알림. 내 앱이이 앱을 조금만 들었다. – user1666818

답변

1

Office 2007+ 문서에 대한 바로 가기 만 영향을받습니다. 는

FindFirstFile을 마스크가 "* .txt 인"이 지정된 경우 이러한 파일을 찾을 수 하지을 수행합니다 (바로 가기 실제로 쉘에 의해 숨겨져있는 .LNK 확장, 즉 Windows 탐색기가), 그래서 이것은 쉘이하는 무언가이다 .

You could attempt to disable respective shell plugins (플러그인을 사용 중지하고 작업 관리자를 통해 탐색기를 강제 종료 한 후 다시 테스트 한 다음 다시 테스트하기 전에 프로세스를 다시 시작하십시오) 해당 플러그인이 해당 동작을 담당하는지 확인하십시오.

가장 확실한 후보자를 확인했는데 찾을 수 없습니다.


프로그래밍 조언 : 입력을 확인하십시오. 귀하의 경우, 이것은 파일 내용이며 파일 확장자는 아닙니다!

마스크를 제한하더라도 열기 대화 상자에서 아무 것도 지정할 수 있습니다.
텍스트 파일을 "really.important"로 저장할 수 있으며 여전히 응용 프로그램에서 열어 볼 것으로 예상됩니다.
내 단어 파일을 "실제로 word document.txt"로 저장할 수 있습니다. 응용 프로그램에서 열고 적어도 충돌하지 않을 것을 기대하십시오.

관련 문제