Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.01.15;
Скачать: CL | DM;

Вниз

Не находится существующий файл   Найти похожие ветки 

 
Олег Г.   (2015-04-19 11:07) [0]

Всем привет. Странная проблема. В Windows 7 есть программа - Записки. Она расположена в
C:\Windows\System32\StikyNot.exe. Ни FileExists ни GetFileAttributes не могут найти этот файл. Почему?
if FileExists("C:\Windows\System32\StikyNot.exe") then
 ShowMessage("файл существует")
else
 ShowMessage("файл не найден");

if GetFileAttributes("C:\Windows\System32\StikyNot.exe") <> INVALID_FILE_ATTRIBUTES then
 ShowMessage("Файл существует")
else
 ShowMessage(SysErrorMessage(GetLastError));


 
junglecat ©   (2015-04-19 11:25) [1]

C:\Windows\SysWOW64\StikyNot.exe ?


 
Олег Г.   (2015-04-19 11:27) [2]


> junglecat ©   (19.04.15 11:25) [1]
>
> C:\Windows\SysWOW64\StikyNot.exe ?

Так тоже не находит.


 
Олег Г.   (2015-04-19 11:30) [3]

Попробовал скомпилировать 64-битную программу и вызвал обе функции с параметром "C:\Windows\System32\StikyNot.exe" - результат тот же.


 
Олег Г.   (2015-04-19 11:41) [4]

Проверил через FindFirstFile - находит:
hSearch: THandle;
 FileData: WIn32_FIND_DATAW;
begin
 hSearch := FindFirstFileW("C:\Windows\System32\StikyNot.exe", FileData);
 if hSearch <> INVALID_HANDLE_VALUE then
 begin
   ShowMessage(FileData.cFileName);
   Winapi.Windows.FindClose(hSearch);
 end;
end;


 
Олег Г.   (2015-04-19 13:17) [5]

Проблема была в том, что в папке SysWOW64 нет файла StikyNot.exe, соответственно, если вызов FileExists/GetFileAttributes/FindFirstFile из
32-битной программы, то путь к этому файлу найти не удается. Однако, в 64-битной программе все ок (в [4] вызов FindFirstFileW  был сделан из 64-битной программы, поэтому файл нашелся).


 
DVM ©   (2015-04-19 19:58) [6]


> Олег Г.   (19.04.15 11:41) [4]

И для 64 бит и для 32 бит программ доступ к папке C:\Windows\System32\ (той что видят 64 бит программы) может быть получен по пути C:\Windows\Sysnative\


 
Kilkennycat ©   (2015-04-19 22:01) [7]

а их не проще искать по типу %альяс_системной_папки% ?


 
Rouse_ ©   (2015-04-21 17:42) [8]

Вообще достаточно сказать Wow64DisableWow64FsRedirection, но есть нюанс, который стоит учесть: http://blog.not-a-kernel-guy.com/2009/04/03/482



Страницы: 1 вся ветка

Текущий архив: 2017.01.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.057 c
2-1425049582
Гарик
2015-02-27 18:06
2017.01.15
Открыть приложение


15-1452694699
Leoley
2016-01-13 17:18
2017.01.15
const и динамические массивы (строки)


1-1343276932
Skyle
2012-07-26 08:28
2017.01.15
FloatToTextFmt возвращает -922337203685477.5808


15-1457472602
Юрий
2016-03-09 00:30
2017.01.15
С днем рождения ! 9 марта 2016 среда


3-1308531630
Дмитрий С
2011-06-20 05:00
2017.01.15
Mysql, большой blob. как лучше?