Конференция "Начинающим" » несуществующий файл каторый существует [D7]
 
  • QAZ (03.10.15 20:07) [0]
    в виндах типа 8-10 есть такая софтина под названием "ножницы"
    ее адрес "C:\Windows\System32\SnippingTool.exe"
    но!  файловые функции не видят ее!
    program Project2;
    {$APPTYPE CONSOLE}
    uses
     SysUtils,
     windows;

    begin
     writeln(FileExists('C:\Windows\System32\SnippingTool.exe'));
      readln;
    end.


    вопрос че это за фигня?
    виртуализация какая или симлинки?
    как еще можно добраться до подобных вещей?
  • DVM © (04.10.15 10:50) [1]

    > вопрос че это за фигня?

    32 бит программы не видят папки System32 для 64 бит приложений.
    Вместо этого они видят другую папку SysWOW64, но SnippingTool там разумеется нет, т.к. в этом нет нужды.


    > как еще можно добраться до подобных вещей?

    либо сделать 64 бит приложение либо обращаться так
    FileExists('C:\Windows\Sysnative\SnippingTool.exe')
  • QAZ (04.10.15 18:49) [2]
    Wow64DisableWow64FsRedirection
  • DVM © (04.10.15 19:04) [3]

    > QAZ   (04.10.15 18:49) [2]


    > Wow64DisableWow64FsRedirection

    ни в коем случае!!!
  • QAZ (05.10.15 12:03) [4]
    Удалено модератором
  • DVM © (05.10.15 12:19) [5]

    > QAZ   (05.10.15 12:03) [4]

    Опасность заключается в том, что ты не знаешь какие API функции системы будут дергаться, какие dll подгружаться при даже самых простых твоих действиях между отключением редиректа и обратным его включением. Даже если все работает сейчас, нельзя предвидеть как это все в будущем будет работать, это зависит исключительно от MS. Есть небольшая вероятность, что система не сможет загрузить правильную dll, так как перенаправление отключено и все сломается. Данное примечание есть и в MSDN для этой функции.
  • QAZ (05.10.15 14:37) [6]
    Удалено модератором
 
Конференция "Начинающим" » несуществующий файл каторый существует [D7]
Есть новые Нет новых   [134428   +39][b:0][p:0.001]