ВУЗ:
Составители:
11
б) встроить в приложение проверку наличия внешнего носителя с конкретным
серийным номером.
3. Рекомендации при разработке приложения.
3.1. Для определения серийного номера внешнего устройства создайте
отдельное приложение и используйте в нем стандартный компонент
TDriveComboBox. Возможный вариант интерфейса вспомогательного приложения
приведен на рис.1
Рис.1 Внешний вид окна вспомогательного приложения
3.2. Для определения подключенных к компьютеру внешних устройств при
встраивании защиты в программу используйте функции GetLogicalDrives: Integer
и GetDriveType(Name: PChar): Integer.
Текст процедуры, выводящей в компонент TListBox список подключенных
внешних устройств компьютера:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var i, mask: Integer;
S: String;
begin
mask := GetLogicalDrives;
I := 0;
while mask <> 0 do
begin
s := chr(ord('a') + i) + ':\';
if (mask and 1) <>0 then
case GetDriveType(PChar(S)) of
0: ListBox1.Items.Add(S + 'unknow');
1: ListBox1.Items.Add(S + 'not exists');
Drive_Removable: ListBox1.Items.Add(S + 'removable'); //floppy
Drive_Fixed: ListBox1.Items.Add(S + 'fixed'); //hard
Drive_Remote: ListBox1.Items.Add(S + 'network');
Drive_CDROM: ListBox1.Items.Add(S + 'CD_ROM'); //cd
Drive_RamDisk: ListBox1.Items.Add(S + 'RAM');
end; //case
inc(i);
mask := mask shr 1;
end;
end;
11 б) встроить в приложение проверку наличия внешнего носителя с конкретным серийным номером. 3. Рекомендации при разработке приложения. 3.1. Для определения серийного номера внешнего устройства создайте отдельное приложение и используйте в нем стандартный компонент TDriveComboBox. Возможный вариант интерфейса вспомогательного приложения приведен на рис.1 Рис.1 Внешний вид окна вспомогательного приложения 3.2. Для определения подключенных к компьютеру внешних устройств при встраивании защиты в программу используйте функции GetLogicalDrives: Integer и GetDriveType(Name: PChar): Integer. Текст процедуры, выводящей в компонент TListBox список подключенных внешних устройств компьютера: procedure TForm1.SpeedButton1Click(Sender: TObject); var i, mask: Integer; S: String; begin mask := GetLogicalDrives; I := 0; while mask <> 0 do begin s := chr(ord('a') + i) + ':\'; if (mask and 1) <>0 then case GetDriveType(PChar(S)) of 0: ListBox1.Items.Add(S + 'unknow'); 1: ListBox1.Items.Add(S + 'not exists'); Drive_Removable: ListBox1.Items.Add(S + 'removable'); //floppy Drive_Fixed: ListBox1.Items.Add(S + 'fixed'); //hard Drive_Remote: ListBox1.Items.Add(S + 'network'); Drive_CDROM: ListBox1.Items.Add(S + 'CD_ROM'); //cd Drive_RamDisk: ListBox1.Items.Add(S + 'RAM'); end; //case inc(i); mask := mask shr 1; end; end;
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »