나는 윈도우 7 (64)와 델파이 2010WOW64 비애 (.LNK 바로 가기)
를 사용하고 난 시작 메뉴를 에뮬레이션하는 구성 요소를 쓰고 있어요. 그러나, 나는 다음과 같은 문제로 실행했습니다 : 나는 ShellExecute
로 바로 가기 (.LNK 파일)을 열려고하면 % 바로 가기의 대상 경로의 일부 %의의 ProgramFiles 때마다
- 이 실패합니다 그러면 C : \ Program Files (x86) 폴더 대신 C : \ Program Files 폴더가 표시됩니다.
ShGetFileInfo
% ProgramFiles %이 아이콘 파일의 경로에 속하는 경우 (위에서와 동일한 문제) 시스템 이미지 목록에서 아이콘의 올바른 색인을 추출하지 못합니다.
위의 문제를 해결할 수있는 방법이 있습니까? 아니면이 기능이 작동하도록 원시 64 비트 Delphi가 제공 될 때까지 기다려야합니까?
좋아, 이것은 매우 성가신 일입니다.Wow64DisableWow64FsRedirection은 초기 문제를 해결하지 못하지만 % windir %가 경로 이름의 일부로 사용될 때마다 문제를 해결합니다. 하나는 이것이 모든 환경 변수를 조정/리다이렉션 할 것이라고 기대할 것입니다! –
나는 그것이 효과가 있다고 생각하지 않는다. 그렇게하면 리다이렉션을 사용할 수 없기 때문에 Wow64 프로그램의 c : \ windows \ system32 (예를 들어) 액세스가 커버 아래에서 c : \ windows \ syswow64로 리디렉션되지 않습니다. 내가 아는 한, 이것은 환경 변수에 도움이되지 않습니다. 네이티브 64 비트로 컴파일하거나 직접 환경 변수를 처리해야합니다. – Luke
Ok, SetEnvironmentVariable ('ProgramFiles', 'C : \ Program Files') ShGetFileInfo에 대한 문제를 해결할 수 있지만 문제는 여전히 ShellExecute에 남아 있습니다. –