ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »
