2013-06-03 2 views
0

exe ​​또는 설치 프로그램을 실행하는 동안 Windows 호환성에주의를 기울일 수있는 매개 변수 또는 API가 무엇인지 궁금합니다. exe를 실행할 때마다 Windows 호환성 관리자가 필요합니다. 어떤 WinAPI를 잘못 사용했기 때문입니까? 아니면 exe의 호환성을 검사하기 위해 Windows가주의를 끌 수있는 다른 매개 변수가 있습니까?Windows 호환성을 고려하는 매개 변수는 무엇입니까?

+0

나는 가정, 모든 헤이 – quetzalcoatl

+0

한 .exe 또는 .dll (물론 그 내용)에 포함 된 매니페스트에 대한 that'a @ quetzalcoatl Google 검색 중이 링크를 발견했습니다. http://msdn.microsoft.com/en-us/library/windows/desktop/bb756937.aspx 이 프로그램에 따라이 프로그램은 일반적으로 GetVersion 함수 또는 GetVersionEx API를 사용하여 실행중인 Windows OS 버전 정보 Windows Vista 및 Windows Server 2008에서 이러한 API는 주요 버전으로 6을 반환합니다. 프로그램이 주요 버전 5 인 XP 버전을 찾기 위해 하드 코딩 된 경우 Windows Vista 및 Windows Server 2008에서 오류가 발생합니다. 이 링크를 읽은 후 혼란스러워합니다. 어떠한 제안. –

+0

몇 년 전 XP가 새로운 메커니즘과 새로운 API를 도입 한 새로운 운영 체제였습니다. 현재 "정말로 오래된"창은 주요 버전 번호가 4 또는 그 이하이고 "새로운"버전 (즉, XP 클래스)은 주요 버전 번호가 5입니다. 개발자는 수동으로 'GetVersion' "이전"시스템에서 새 API를 사용하지 않으려 고하여 "이전"또는 "새"시스템에서 응용 프로그램이 실행 중인지 확인하십시오. 일부 개발자는 버전 번호가 진화되는 것을 간과하는 경향이 있습니다. 그들은'if version == 5' 대신'if version == 5'로 체크를 썼습니다. – quetzalcoatl

답변

0

응용 프로그램을 실행할 때 창에 표시되는 '호환성 옵션'은 GetVersionEx이 아닙니다. 이 매니페스트가 누락되었을 때 및/또는 컴퓨터가 설치된 다른 Windows 시스템을 나타내는 경우이 대화 상자가 튀어 나오는 것 같아요.

응용 프로그램 사용자가 해당 호환성 팝업을 볼 경우 매니페스트가 올바른지 확인하십시오. 이 기사는 좋은 시작이 될 수 있습니다

http://msdn.microsoft.com/en-us/library/bb757005.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/bb756937.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/dd371711.aspx