Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Включить автозапуск съёмных дисков


Автор: ShadowDancer 19.5.2006, 21:49
Как программно включить автозапуск съёмных дисков ?

Добавлено @ 22:00 
А вобще возможно ли на съёмных дисках запускать autorun.inf ? 

Автор: Guedda 20.5.2006, 00:38
Хм... Ошибка -  в 17 строке... Подробнее могёшь? 

Автор: Sunvas 20.5.2006, 18:01
Цитата(ShadowDancer @  19.5.2006,  21:49 Найти цитируемый пост)
А вобще возможно ли на съёмных дисках запускать autorun.inf ? 

Ну, открывай этот файл как обыкновенный ini файл и ищи значение параметра run. Потом простым winexec-ом запускай... 

Автор: ShadowDancer 21.5.2006, 08:56
Меня интересует: возможен ли самостоятельный запуск autorun.inf, как на CD дисках ?
Если да, то как включить программно ? 

Автор: Sunr1se 21.5.2006, 09:26
Я у себя сейчас попробовал - не проходит такой трюк, не авторанится smile 

Автор: Nickel 21.5.2006, 12:12
А вот так?
Код

uses IniFiles;

function ExecAutoRun(Drive:string):Boolean;
var
  Ini: TIniFile;
begin
    Result:=False;
    SetCurrentDirectory(PChar(Drive));
    Ini := TIniFile.Create(Drive + 'AutoRun.inf' );
    if WinExec(PChar(Ini.ReadString( 'autorun', 'open', '')),SW_SHOW) > 31 then Result:=True;
    Ini.Free;
end;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
if ExecAutoRun('G:\') then ShowMessage('Сработало')
else ShowMessage('Не сработало')
end;
 

Автор: Sunvas 21.5.2006, 16:43
Цитата(ShadowDancer @  21.5.2006,  08:56 Найти цитируемый пост)
Меня интересует: возможен ли самостоятельный запуск autorun.inf, как на CD дисках ?
Если да, то как включить программно ? 

Такие файлы не запускаются!!! Они служат всего-то лишь информационными файлами для винды, чтобы та знала где находиться ехе файл, который нужно запустить, и где иконка, которую нужно подставить. 

Автор: ShadowDancer 21.5.2006, 18:28
Цитата(Sunvas @  21.5.2006,  16:43 Найти цитируемый пост)
Такие файлы не запускаются!!! Они служат всего-то лишь информационными файлами для винды, чтобы та знала где находиться ехе файл, который нужно запустить, и где иконка, которую нужно подставить. 

Во-во, это я и имел ввиду. Мне не нужен запуск autorun.inf, мне нужно чтобы запускался файл прописаный там. Кстати, иконка подставляется, а запуска нету.
 

Автор: Sunvas 22.5.2006, 07:20
Цитата(ShadowDancer @  21.5.2006,  18:28 Найти цитируемый пост)
Во-во, это я и имел ввиду. Мне не нужен запуск autorun.inf, мне нужно чтобы запускался файл прописаный там.

Ты хоть чут-чуть думать/читать умеешь? Я ж тебе писал!!
Цитата(Sunvas @  20.5.2006,  18:01 Найти цитируемый пост)
Ну, открывай этот файл как обыкновенный ini файл и ищи значение параметра run. Потом простым winexec-ом запускай... 

 

Автор: Nickel 22.5.2006, 09:29
Цитата(Nickel @ 21.5.2006,  12:12)
А вот так?
Код

uses IniFiles;

function ExecAutoRun(Drive:string):Boolean;
var
  Ini: TIniFile;
begin
    Result:=False;
    SetCurrentDirectory(PChar(Drive));
    Ini := TIniFile.Create(Drive + 'AutoRun.inf' );
    if WinExec(PChar(Ini.ReadString( 'autorun', 'open', '')),SW_SHOW) > 31 then Result:=True;
    Ini.Free;
end;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
if ExecAutoRun('G:\') then ShowMessage('Сработало')
else ShowMessage('Не сработало')
end;

Это я для кого написал? Можно было хотя бы взглянуть или пока носом не ткнёшь? 

Автор: ShadowDancer 22.5.2006, 12:09
Sunvas, я те говорю про автоматический запуск (как на CD дисках), а не при помощи соей программы.

Nickel, к тебе это тоже относится. 

Автор: _hunter 22.5.2006, 12:30
а тебе говорят что это работает только на CD/DVD... 

Автор: ShadowDancer 22.5.2006, 23:24
_hunter, ОК, на CD так на CD 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)