Читаем Советы по Delphi. Версия 1.4.3 от 1.1.2001 полностью

 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);

 WinIni.Free;

end;


function IsInstalled(FileExe: String): Boolean;

var

reg : TRegistry;

 temp: String;

begin

 result:=False;

 reg:= Tregistry.Create;

 try

  reg.RootKey:= HKEY_LOCAL_MACHINE;

  if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\App Paths\'+FileExe, false) then begin

   if reg.ValueExists('') then begin

    temp := reg.readString('Path');

    result := FileExists(temp+'\'+FileExe);

   end;

  end;

 finally

  reg.Free;

 end;

end;


END.

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT