2009-11-11 7 views
0

우리는 Win7에서 제대로 작동하지 않는 타사 라이브러리를 사용하고 있습니다. 우리는 설치시이를 어떻게 구성하는지 알고 있지만 런타임에 설정하는 것을 고려하고 싶습니다. 이것이 가능합니까 아니면 시작하기 전에 해당 상황을 설정해야합니까? (I가 없음 기회에 슬림이 있다고 생각하지만, 어쨌든 물어 거라 생각)런타임에 응용 프로그램의 Windows 호환 모드를 설정할 수 있습니까?

(C++ 응용 프로그램 - 정말 중요하지 않는 것이)

답변

2

호환성 설정을 변경할 수 없습니다 응용 프로그램이 실행되면.

그러나 할 수있는 일은 호환성 설정이 올바른지 확인한 다음 응용 프로그램을 시작하는 실행 프로그램 응용 프로그램을 사용하는 것입니다. 물론 런처 응용 프로그램에 호환성 문제가 없는지 확인해야합니다.

+0

그건 우리가 생각한 것입니다. 우리가 트릭을 놓치지 않았 음을 확인하는 것입니다. – Tim

0

호환성 설정은 선택한 플랫폼에서 사용할 수없는 헤더 파일에서 Win32 API의 일부를 차단하는 전 처리기 매크로 일뿐입니다.

전체 API는 DLL에 의해 제공되기 때문에 당신은 OS가 실행시에 실행되는 것을 확인할 수 있습니다 다음 LoadLibraryGetProcAddress를 사용하여 필요한 플랫폼 특정 항목의 포인트를 얻을.

+0

그게 흥미 롭군요.하지만 그건 내가 묻고있는 것이 아닙니다. – Tim

+0

아, 다시 읽는 것을 볼 수 있습니다. "빌드 시간"보다는 "설치 시간"을, 그리고 Win32 API가 아닌 제 3 자 라이브러리를 말합니다. 그렇다면 아마도 '받아 들인'대답은 정확하지 않을 것입니다. 나는 그것이 제 3 자 라이브러리에 전적으로 의존하고 그것이 "설치"에서 무엇을하는지 말하고 싶습니다. 솔직히 말해서 나는 그게 무슨 뜻인지 분명치 않습니다. 그러나이 라이브러리가 Win32 API와 동일한 기술을 사용하고 DLL 인 경우 동일하게 적용됩니다. – Clifford

관련 문제