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

Вниз

Путь к каталогу, в котором установлена Windows   Найти похожие ветки 

 
KIR ©   (2002-06-25 13:28) [0]

Народ, как узнать сабж?


 
Wild   (2002-06-25 13:30) [1]

Ты апишный хелп читаешь когда-нибудь?


 
KIR ©   (2002-06-25 13:33) [2]

Читал. Мне раньше этого небыло нужно. А сейчас нужно, причем срочно, по-моему для этого и придумали форумы. Я прекрасно понимаю, что эта информация есть в АПИшном хэлпе, но "быстрый" поиск не помог.


 
Wild   (2002-06-25 13:33) [3]

Там же все по-русски написано:
The GetWindowsDirectory function retrieves the path of the Windows directory. The Windows directory contains such files as Windows-based applications, initialization files, and Help files.

UINT GetWindowsDirectory(

LPTSTR lpBuffer, // address of buffer for Windows directory
UINT uSize // size of directory buffer
);


 
Wild   (2002-06-25 13:35) [4]

Если из батника надо узнать....ну там проге параметром передать, так это системная переменная %WINDIR%


 
KIR ©   (2002-06-25 13:59) [5]

Если я все правильно понял, то lpBuffer и есть путь к каталогу, но только в формате PChar. А как его перевести в String.


 
Skier ©   (2002-06-25 14:02) [6]

> KIR
StringVar := PChar(lpBuffer);


 
Wild   (2002-06-25 14:08) [7]

>Skier
А я завожу переменную string
...
var Str: string;
...
GetWindowsDirectory(PChar(Str),...)
....


только перед вызовом функции надо определить длину стринга
SetLength(S,255) //например так


 
Skier ©   (2002-06-25 14:15) [8]

> Wild
Тоже вариант...


 
stupid   (2002-06-25 14:19) [9]


procedure TForm1.Button1Click(Sender: TObject);
var
szPath : Array[0..max_path-1] of Char;
Path : String;
begin
GetWindowsDirectory(szPath,max_path);//Каталог Windows
Path:=StrPas(szPath);
Label4.Caption:=Path;
end;




 
Игорь Шевченко ©   (2002-06-25 14:38) [10]

Path:=StrPas(szPath); Лишняя строка


 
DeMoN-777 ©   (2002-06-25 15:02) [11]

Procedure FindWinDir
var
apchar:array [0..255]of char;
s:string;
begin
GetWindowsDirectory(apchar,sizeof(apchar));
s:=strpas(apchar);
end;


Может так.


 
Игорь Шевченко ©   (2002-06-25 15:35) [12]

DeMoN-777 © (25.06.02 15:02)

А так точно нельзя. Потому что s нигде не используется.
И кроме того, преобразование StrPas имеет смысл только для ShortString. Для AnsiString это преобразование происходит неявно при присваивании переменной типа string переменной типа PChar



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
3-23518
Сано
2002-06-18 09:38
2002.07.08
Parameters


3-23510
Юра
2002-06-17 17:13
2002.07.08
OnFilterRecord - обрабатываются не все записи


7-23797
Dankin
2002-04-07 14:51
2002.07.08
Такой-вот странный вопрос, Где находится курсор !!!!


1-23545
Дельфятник
2002-06-26 17:37
2002.07.08
Access Violation при работе с TComboBox.


4-23833
Artemkin
2002-05-08 10:12
2002.07.08
resources