На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное 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 Кбайт, скачиваний: 393)
          Ну на 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.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0261 ]   [ 19 queries used ]   [ Generated: 28.03.24, 22:10 GMT ]