
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.08.2010, 18:09
|
|||
|---|---|---|---|
Запустить bcdedit.exe на x64 из-под 32-битного приложения |
|||
|
#18+
OS: Vista/2008/7 x64 Прога которая должна запускать bcdedit 32-битная (vb6). Надо запустить bcdedit с параметрами (enable/disable TESTSIGNING mode) Использую Shell... ну естественно исх. прога запускается "от Администратора" В принципе проблем с запуском x64-приложения из-под 32-bit приложения через Shell нету Кстати bcdedit похоже само 32-битное... Проблема в другом: 32-битное приложение не видит 64-битные пути Немного поисследовал: В system32 лежит 64-битное cmd.exe: из-под него команда bcdedit воспринимается В sysWOW лежит 32-битное cmd.exe: из-под него команда bcdedit НЕ воспринимается Еще вот какая ерунда. Если я смотрю в проводнике, то bcdedit.exe якобы находится в System32, на самом деле ее там нет ни в System32 ни в SysWOW64 (оба эти пути вычислить из проги через API не проблема) Элементарный поиск через far показывает что bcdedit реально находится в windows\WINSXS\черт_знает_что Но в WINSXS очень много всего, т.е. программный поиск быстрым не будет, вариант тупого поиска пути к bcdedit.exe не очень привлекает. Пытался также делать Shell ("<system32Path>\cmd.exe /c bcdedit.exe -set ..."), ... Shell ("<sysWOW64Path>\cmd.exe /c bcdedit.exe -set ..."), ... но винды на обе команды подкидывают 32-битную версию cmd.exe и это опять не проходит. Как вариант конечно можно попробовать скомпилировать простенькое 64-битное "приложение-переходник", которое надеюсь будет "видеть путь", но опять же, хотелось бы без "наворотов". Есть ли какие-нибудь здравые соображения еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.08.2010, 18:30
|
|||
|---|---|---|---|
Запустить bcdedit.exe на x64 из-под 32-битного приложения |
|||
|
#18+
Как вариант можно 1) скопировать system32\cmd.exe в скажем AppPath\cmd64.exe 2) Тогда команда Shell ("AppPath\cmd64.exe /c bcdedit.exe -set ..."), ... сработает как хотелось, типа кривоватое но решение.... М.б. существует что-то вместо cmd.exe? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.08.2010, 02:22
|
|||
|---|---|---|---|
Запустить bcdedit.exe на x64 из-под 32-битного приложения |
|||
|
#18+
>1) скопировать system32\cmd.exe 32-битная прога это сделает неправильно. Обходится так: Данный код запустит именно 64-битную зрячую cmd: Код: plaintext 1. 2. Точный путь к system32 тоже вычисляется через API ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=26&mobile=1&tid=1499438]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 380ms |

| 0 / 0 |
