Есть ли способ получить доступ к 64-битным исполняемым файлам с 32-битным приложением? Я использую Delphi 2009 (обновление до XE2 невозможно в денежном выражении прямо сейчас)
Я делаю этот модуль запуска, и при его запуске на 64-битной версии win7 он не выбирает правильные значки для 64-битных приложений, и ShellExecute, похоже, тоже не работает с этими приложениями. Теперь все эти приложения находятся в «C:\program files», что говорит о том, что это вещь WOW64. Я гуглил различные способы временного отключения wow-redirection, но ни один из них не работает.
C:\Program Files
не перенаправляется. Здесь нет WOW64. Если вы используете%ProgramFiles%
или получаете эту папку с помощью CSIDL, вы выберете 32-битную папку,C:\Program Files (x86)
. Какой точный путь используется вашей программой? - person David Heffernan   schedule 11.07.2012%ProgramFiles%
. Оболочка, вероятно, расширяет это, когда отображает его вам, но если вы используете API оболочки для опроса файла .lnk, я уверен, вы увидите подобное косвенное обращение. И на самом деле это именно то, что я постулировал в своем первом комментарии к этому вопросу. - person David Heffernan   schedule 11.07.2012%ProgramFiles%
. Тот, кто создал этот ярлык, принял очень плохое решение, и, честно говоря, это основная проблема здесь. Вам просто придется обойти это. - person David Heffernan   schedule 11.07.2012C:\Program Files
вC:\Program Files (x86)
. Это вообще не имеет для меня никакого смысла. Я бы просто использовал 64-битный лаунчер. Приложение AnyCPU C# отлично справится с этой задачей. - person David Heffernan   schedule 11.07.2012