Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi CD Autostart dynamisch verhindern (https://www.delphipraxis.net/83902-cd-autostart-dynamisch-verhindern.html)

runger 8. Jan 2007 10:18


CD Autostart dynamisch verhindern
 
Hallo,

ich habe hier ein ganz einfaches Problem:
wir listen CD Inhalte auf, dafür wurde ein Programm geschrieben.
Ich habe nur das Problem, dass jedesmal wenn die CD gewechselt wird der Autostart (der CD) lösläuft (es ist nicht möglich den Autostart komplett abzuschalten)
Kennt jemand eine Möglichkeit dies dynamisch zu tun, also den CD Autostart ein beziehungsweise auszuschalten?

Rainer

SirThornberry 8. Jan 2007 10:57

Re: CD Autostart dynamisch verhindern
 
Also so weit ich mich erinnere konnte man den Autostart verhindern in dem man die Shift-Taste gedrückt hält. Eventuell geht es auch wenn du das Drücken dieser Taste simulierst.

gsh 8. Jan 2007 11:14

Re: CD Autostart dynamisch verhindern
 
Zitat:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Cdrom\
Wert: Autorun
Hier in der regedit kannst du es ausschalten
0 = Aus
1 = Ein

Luckie 8. Jan 2007 11:20

Re: CD Autostart dynamisch verhindern
 
1.) Ist da nach ein Reboot nötig?
2.) Was machen nicht Administratoren, die dort keine Schreibrechte haben?
3.) Will er es nur für sein Programm deaktivieren und nicht global.

runger 9. Jan 2007 05:18

Re: CD Autostart dynamisch verhindern
 
Hallo Luckie,
ich muss das nur solange deaktivieren bis die CD wieder draussen ist.
Da bei uns alle Kollegen lokale Adminrechte haben spielen die Rechte hier keine Rolle.

Rainer

runger 9. Jan 2007 05:41

Re: CD Autostart dynamisch verhindern
 
Hallo,

hier eine Funktion die den CDROM Autostart jeweils in den anderen Zustand versetzt. Der Rückgabewert (boolean) entspricht dem Zustand der in Zukunft gilt.

Delphi-Quellcode:
Function CDautorun:boolean;
var Reg: TRegistry;s:word;
begin
        Reg := TRegistry.Create;
        Reg.RootKey := HKEY_LOCAL_MACHINE;
        reg.OpenKey('System\CurrentControlSet\Services\
        Cdrom',false);
        s:=reg.ReadInteger('autorun');
        If s=0 then
           begin
             reg.WriteInteger('autorun',1);
             result:=true
           end
        else
           begin
             reg.WriteInteger('autorun',0);
             result:=false
           end;
        Reg.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  If CDautorun then
     label1.caption:='Autostart wird eingeschaltet'
   else
     label1.caption:='Autostart wird ausgeschaltet';
end;
Rainer
(Ob danach gebootet werden muss, muss noch ausprobiert werden.)

Sunlight7 9. Jan 2007 05:43

Re: CD Autostart dynamisch verhindern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin!

Warum so umständlich???

Du kannst Dir ein kleines Programm schreiben, das den Autostart verhindert, oder einfach meins nehmen :???:

Grüßle!

runger 9. Jan 2007 05:46

Re: CD Autostart dynamisch verhindern
 
Hallo Sunlight,
genau nach dem Programm und wie man es schreibt hatte ich doch gefragt???

Rainer

Sunlight7 9. Jan 2007 05:49

Re: CD Autostart dynamisch verhindern
 
:gruebel: Is doch Source Code :gruebel:

runger 9. Jan 2007 05:51

Re: CD Autostart dynamisch verhindern
 
Hallo Sunlight,

ich weiss jetzt nicht so ganz genau welches die umständlichere Methode ist aber ich tendiere für mein Problem eher zur Registry-Lösung Lösung.

Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz