Советы по Delphi. Версия 1.4.3 от 1.1.2001
Шрифт:
begin
SHAddToRecentDocs(SHARD_PATH, pchar(fileName));
end;
//Значение функции TRUE если мелкий шрифт
function SmallFonts:Boolean;
var DC:HDC;
begin
DC:=GetDC(0);
Result:=(GetDeviceCaps(DC, LOGPIXELSX) = 96);
{
В случае крупного шрифта будет 120}
ReleaseDC(0, DC);
end;
function DriveExists(Drive : Byte) : Boolean;
begin
Result := Boolean(GetLogicalDrives AND (1 SHL Drive))
end;
//'?';'Path does not exists';'Removable';'Fixed';'Remote';'CD-ROM';'RAMDISK'
function CheckDriveType(Drive : Byte) : String;
var
DriveLetter : Char;
DriveType : UInt;
begin
DriveLetter := Char(Drive + $41);
DriveType := GetDriveType(PChar(DriveLetter + ':\'));
Case DriveType of
0 : Result := '?';
1 : Result := 'Path does not exists';
DRIVE_REMOVABLE : Result := 'Removable';
DRIVE_FIXED : Result := 'Fixed';
DRIVE_REMOTE : Result := 'Remote';
DRIVE_CDROM : Result := 'CD-ROM';
DRIVE_RAMDISK : Result := 'RAMDISK'
Else Result := 'Unknown';
end;
end;
//GetVolumeInformation
function GetFileSysName(Drive : Byte) : String;
var
DriveLetter : Char;
NoMatter : DWORD;
FileSysName : Array[0..MAX_PATH] of Char;
begin
DriveLetter := Char(Drive + $41);
GetVolumeInformation(PChar(DriveLetter + ':\'), Nil, 0, nil, NoMatter, NoMatter, FileSysName, SizeOf(FileSysName));
Result := FileSysName;
end;
function GetVolumeName(Drive : Byte) : String;
var
DriveLetter : Char;
NoMatter : DWORD;
VolumeName : Array[0..MAX_PATH] of Char;
begin
DriveLetter := Char(Drive + $41);
GetVolumeInformation(PChar(DriveLetter + ':\'), VolumeName, SizeOf(VolumeName), nil, NoMatter, NoMatter, Nil, 0);
Result := VolumeName;
end;
procedure StartFromRegistry(appName,appPath:string);
var reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true{canCreate});
reg.WriteString(appname, appPath);
reg.CloseKey;
reg.free;
end;
procedure StartServiceFromRegistry(appName,appPath:string);
var reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\RunServices', true{canCreate});
reg.WriteString(appname, appPath);
reg.CloseKey;
reg.free;
end;
procedure StartFromWinIni(appPath:string);
var
WinIni : TIniFile;
WinIniFileName : array[0..MAX_PATH] of char;s : string;
begin
GetWindowsDirectory(WinIniFileName, sizeof(WinIniFileName));
StrCat(WinIniFileName, '\win.ini');
WinIni := TIniFile.Create(WinIniFileName);
s := WinIni.ReadString('windows', 'run', '');
if s = '' then s := appPath
else s := s + ';' + appPath;
WinIni.WriteString('windows', 'run', s);
Поделиться:
Популярные книги
Кодекс Крови. Книга III
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Отчий дом. Семейная хроника
Проза:
классическая проза
5.00
рейтинг книги
Скандальная свадьба
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Путанабус. Трилогия
Фантастика:
боевая фантастика
6.93
рейтинг книги
Идеальный мир для Лекаря 25
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Кодекс Крови. Книга ХVI
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Проданная невеста
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Потомок бога
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
С Д. Том 16
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
Переиграть войну! Пенталогия
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
От Советского Информбюро - 1941-1945 (Сборник)
Документальная литература:
биографии и мемуары
5.00
рейтинг книги

Санек 3
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прометей: повелитель стали
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Отмороженный 14.0
14. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00