Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
Олег Г.   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.056 c
15-1449950981
@!!ex
2015-12-12 23:09
2017.01.15
Как получить обратную матрица?


2-1419021247
AlexeyTG
2014-12-19 23:34
2017.01.15
Просьба оценит "корявость кода" v3


15-1452378602
Юрий
2016-01-10 01:30
2017.01.15
С днем рождения ! 10 января 2016 воскресенье


2-1424257125
SvetaZ
2015-02-18 13:58
2017.01.15
компонент TImage при больших размерах


1-1346594556
Earl_Vadim
2012-09-02 18:02
2017.01.15
Библиотека LibUSB и DelphiXE2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский