Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



как узнать где установлена windows

[способ 1]






Сначала объявим несколько глобальных переменных, например в области public:

public
{ Public declarations }
Windir : String;
WindirP : PChar;
Res : Cardinal;





Затем вынесем на форму кнопку TButton и метку TLabel, допустим именно в заголовке этой метки будем выводить путь к каталогу Windows. А по нажатию этой кнопке нужно будет написать следующий код:

procedure TForm1.Button1Click(Sender: TObject);
begin
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then WinDir := StrPas(WinDirP);
Label1.Caption:=WinDir;
end;





Как это сделано?

Сначала выделяем как можно больше памяти под переменную WinDirP типа PChar, дабы потом, используя функцию GetWindowsDirectory() поместить в неё путь к каталогу Windows. В переменную Res будет помещён результат выполнения функции GetWindowsDirectory(), далее если каталог найден (если Res>0), мы переводим путь к каталогу из типа PChar в тип String с помощью функции StrPas() и помещаем получившуюся строку в переменную WinDir. Ну а после этого используем её в своих целях, например выведем путь к каталогу Windows пользователю в заголовке метки, дабы показать, что, как бы он не прятал папку, как бы не переименовывал, для нас не составит большого труда найти её :))




--------------------------------------------------------------------------------

[способ 2]

до слова implementation пишем: {$IFNDEF WIN32}
const MAX_PATH = 144;
{$ENDIF}




затем обрабатываем нужное событие так: var
a : Array[0..MAX_PATH] of char;
begin
GetWindowsDirectory(a, sizeof(a));
ShowMessage(StrPas(a));
GetSystemDirectory(a, sizeof(a));
ShowMessage(StrPas(a));





<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS