Как сделать чтобы запущеный exe сам себя удалил?
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: новые сочинения, реферат риски
| Добавил(а) на сайт: Jekonomov.
Предыдущая страница реферата | 11 12 13 14 15 16 17 18 19 20 21 | Следующая страница реферата
begin
// Кроме строки '.E : ', можно использовать, 'cdrom0', 'cdrom1' и т.д.
// в зависимости от количества устройств
hDevice := CreateFile('.E : ', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil, OPEN_EXISTING, 0, 0);
if hDevice=INVALID_HANDLE_VALUE then
ShowMessage('INVALID_HANDLE_VALUE');
sptwb.Spt.Length := sizeof(TSCSIPASSTHROUGH);
sptwb.Spt.CdbLength := 6; // Шестибайтная команда
sptwb.Spt.SenseInfoLength := 24;
// Команда будет получать данные от устройства (ввод)
sptwb.Spt.DataIn := SCSI_IOCTL_DATA_IN;
// Устанавливаем размер передаваемых данных
sptwb.Spt.DataTransferLength := sizeof(sptwb.bDataBuf);
sptwb.Spt.TimeOutValue := 10; // Время ожидания – 10 секунд
sptwb.Spt.DataBufferOffset := DWORD(@sptwb.bDataBuf)-DWORD(@sptwb);
sptwb.Spt.SenseInfoOffset := DWORD(@sptwb.bSenseBuf)-DWORD(@sptwb);
len := sptwb.Spt.DataBufferOffset+sptwb.spt.DataTransferLength;
// Команда INQUIRY вам уже известна по предыдущей статье
sptwb.Spt.CDB[0] := SCSI_INQUIRY;
sptwb.Spt.CDB[3] := HiByte(sizeof(sptwb.bDataBuf));
sptwb.Spt.CDB[4] := LoByte(sizeof(sptwb.bDataBuf));
Рекомендуем скачать другие рефераты по теме: шпоры по гражданскому праву, заказать дипломную работу.
Категории:
Предыдущая страница реферата | 11 12 13 14 15 16 17 18 19 20 21 | Следующая страница реферата