PDA

Просмотр полной версии : поиск пути до эксплорера 32 битного в 64 битной системе


SeregaZ
19.09.2012, 11:34
есть у нас система сдачи налоговой отчетности, работает через браузер. и вот незадача регистрация сертификата в 64 битном эксплорере не пашет. нужен именно 32 битный. есть ли какая стандартная для 6-7-8 эксплорера ветка реестра, где можно узнать четкий путь до запускного файла?
сейчас стоит:
RunProgram("C:\Program Files\Internet Explorer\IEXPLORE.EXE", "https://cabinet.salyk.kz/sonowebinfo/", "", #PB_Program_Open)
но на 64 битной системе этот код запустит 64 битный браузер. в этом случае надо указывать путь типа:
C:\Program Files (86)\Internet Explorer\IEXPLORE.EXE

alexteam
19.09.2012, 13:14
запускает оно разве не в дефолтном браузере ?
если нет то есть шанс что там вообще пусть вписан жестко в шелекзекут (или еще что)

SeregaZ
19.09.2012, 15:49
ну в моем случае запускаю конкретно эксплорер. в дефолтном код был бы:
RunProgram("http://blablabla.ru")
но даже если эксплорер дефолтный, то он дефолтный как 64 битный эксплорер. между 32 и 64 эксплорерами как бы нет битвы за дефолтность. 32 можно запустить только насильно тыкнув ярлык в пуске. поэтому надо найти ветку реестра, где это можно прочитать, то есть путь именно до 32 битного в 64 битной системе.

есть мысля сначала читать путь до программ файлс, брать оттуда букву диска, менять программ файлс на программ файлс (86), проверять наличие файла эксплорер.ехе, если такой файл по такому пути есть - значит вся виндовс 64 бита, если файла нет, значит виндовс 32 и значит путь стандартный. но это все крайне ненадежно. например антивирус грохнул этот эксплорер, когда 32 битная версия подцепила заразы. в результате файла нет на месте, моя программа не найдет там файл, посчитает что система 32 бита, запустит по стандартному пути... а он то сцуко 64. и работать не будет. или была у человка 64 винда, он удалил, программ файлс как системная папка заменилась на новую, а папка программ файлс(86) продолжила существовать на новой 32 битной винде. мой код увидет этот файл, посчитает что система 64 битная, ныкнется запускать, а тот ехе файл эксплорера пошлет его нахер, так как система то фактически будет уже совсем другая, а он принадлежит старой убитой. поэтому хотелось бы ветку реестра.