На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Как запустить C:\Windows\System32\osk.exe x64 из под 32-битного приложения?
Добавлено
Цитата ^D^ima @
Все просто, нужно отключить редирект на 32 битную папку
ExpandedWrap disabled
    Function Wow64DisableWow64FsRedirection(Var Wow64FsEnableRedirection: LongBool): LongBool; StdCall;
      External 'Kernel32.dll' Name 'Wow64DisableWow64FsRedirection';
     
    Var
      Wow64FsEnableRedirection: LongBool;
    begin
      if Wow64DisableWow64FsRedirection(Wow64FsEnableRedirection) then ShellExecute(0,nil, 'osk.exe', nil, nil, SW_show);
    end;


Добавлено
И да, невозможно запустить 32 битную osk версия из-за "Запрошенная операция требует повышения" т.е. ещё можно покапать в сторону UAC, возможно манифестом можно решить эту проблему. Только почему запускаются с пониженными правами непонянтно. Даже если запустить программно 32 битную cmd и там написать osk тоже будет ошибка, хотя та-же 32 битная cmd из проводника винды osk запускает

Wow вот это работает, большое Збазибо. Что-то давно слышал про какие-то редиректы, но в живую первый раз столкнулся.

Добавлено
Цитата Rouse_ @
А чистый ShellExecute без отключения перенаправления тоже сработал


Интересно как это, у меня не сработал при тех-же условиях.

Добавлено
Цитата Fr0sT @
На SysWOW напоролся? https://www.howtogeek.com/326509/whats-the-...ers-in-windows/ оно?

В SysWow увы оска нету, в винде 64 нету 32 битного оска совсем.
Сообщение отредактировано: Jiro -
Цитата Jiro @
В SysWow увы оска нету, в винде 64 нету 32 битного оска совсем.

Забавно, в 7 винде и 8 есть а в 10 выпелили.

Но у меня 7 винда, и именно 32 битная osk не запускалась
"Воля - это то, что заставляет тебя побеждать, когда твой рассудок говорит тебе, что ты повержен" Карлос Кастанеда
Jiro
Ты глянь таск менеджером на всякий случай когда ты обычным методом запускаешь, что за osk пытается запуститься?
Прикреплённый файлПрикреплённый файлosk.png (38,64 Кбайт, скачиваний: 7)
"Воля - это то, что заставляет тебя побеждать, когда твой рассудок говорит тебе, что ты повержен" Карлос Кастанеда
Ну на Win10_x64 запускается из C:\Windows\System32, как бы других осков вообще нету, ну кроме там одного который в спец папке (видимо после обновления прилетел)

А вот в Win7_x64 32-битный osk не запускается,
вместо него запускается 64-битный и тоже из C:\Windows\System32, даже если указать путь C:\Windows\SysWOW64\osk.exe всё равно запускается 64-битный, пробовал по разному и разными утилитами.

Даже если скопировать C:\Windows\SysWOW64\osk.exe на диск D: и запустить D:\osk.exe то запускается C:\Windows\System32\osk.exe. Такие вот приколы ))

Win7 кстати пропатчена по последнему писку MS.
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,1057 ]   [ 22 queries used ]   [ Generated: 21.01.19, 15:57 GMT ]