Главная страница
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.023 c
15-1450710851
kapwell
2015-12-21 18:14
2017.01.15
работа на делфи


15-1454623843
KilkennyCat
2016-02-05 01:10
2017.01.15
Задачка про сеть.


15-1455312603
Юрий
2016-02-13 00:30
2017.01.15
С днем рождения ! 13 февраля 2016 суббота


2-1419009922
AlexeyTG
2014-12-19 20:25
2017.01.15
Заново переписал Просьба оценить "корявость кода" v2


15-1457514823
istok20
2016-03-09 12:13
2017.01.15
где искать фрилансеров по Delphi ?