[Delphi] Tijdelijk de autorun van een cd-rom uitschakelen?

Pagina: 1
Acties:

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025
Ik ben bezig aan een programmatje voor mijn werk, voor c.c.m's (complete computer moron's). D'r moeten dus zo weinig mogelijk 'enge' dingen gebeuren voor hun.

Het programmatje werkt heel simpel, je klikt op een knop, mn proggy scant de drive labels af naar een bepaald label, en kopieert wat bestanden van de ene locatie naar de andere.

Nu het probleem: Als ze de cd-rom nog niet in de drive gestopt hebben (waar dus de source files op staan) krijgen ze een melding dat ze die er eerst even in moeten stoppen, en dan nog een keer op op de kopieer knop moeten klikken.

Stoppen ze dan die cd-rom er in, dan komt de windows autorun eerst om de hoek kijken, en start hij de originele interface voor die cd op :|

Ik heb al verschillende stukjes auto-run-uitschakel code gevonden, maar voor zover ik heb kunnen testen werkt dit pas na een reboot.

Is er een simpele manier om dit tijdelijk uit te zetten, en daarna weer aan te zetten?

Stop uploading passwords to Github!


  • |sWORDs|
  • Registratie: Maart 2000
  • Laatst online: 14-04 12:48

|sWORDs|

vSphere/ESXi

offtopic:
dubbelpost

Te Koop:24 Core Intel Upgradeset


  • |sWORDs|
  • Registratie: Maart 2000
  • Laatst online: 14-04 12:48

|sWORDs|

vSphere/ESXi

Ik heb geen verstand van delphi, maar je kunt door de shift toets in te houden de autorun omzeilen. Misschien kun je zoiets programmeren.

Te Koop:24 Core Intel Upgradeset


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025
Hmm... dat lijkt me een beetje een plakband oplossing eerlijk gezegd ;)

Stop uploading passwords to Github!


  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 24-08 07:20

Rashann

Zoek de hond...

De meeste CD's die doen wat jij wil werekn juist andersom: die controleren of het programma al draait bij de autorun, en laten dan wel/niet zichzelf zien...

Hoe je vanuit een programma de autorun kan blokkeren weet ik helaas niet (zou je anders het autorun bestand kunnen blokkeren?)

offtopic:
Vraagje: De source van de doc->html converter in je sig, is die openbaar? Zo ja, waar kan ik die vinden?

If nothing is written below, I was the last to reply...


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:09
Ik zou bij het opstarten van je interface de actieve processen even scannen, zodat je weet of er al een instantie van je applicatie actief is. In dit geval sluit je direct weer af.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 02:09
Het kan mooier trouwens (kwam ik achter door op MSDN "disable autorun" in te typen):
With systems that have Shell version 4.70 and later, Microsoft® Windows® sends a "QueryCancelAutoPlay" message to the foreground window. Your application can respond to this message to suppress AutoRun. This approach is used by system utilities such as the Open common dialog box to disable AutoRun. You will not get a "QueryCancelAutoPlay" message with versions of Windows 95 that do not have the Microsoft Internet Explorer 4.0 integrated Shell installed.
Zie hier: http://msdn.microsoft.com.../autorun/autoplay_reg.asp

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025
Soultaker schreef op 02 september 2002 @ 17:02:
Het kan mooier trouwens (kwam ik achter door op MSDN "disable autorun" in te typen):


[...]


Zie hier: http://msdn.microsoft.com.../autorun/autoplay_reg.asp
thanks! dat ziet er veelbelovend uit :9

Stop uploading passwords to Github!


  • littledreamer
  • Registratie: Juni 2002
  • Laatst online: 15-08-2025

littledreamer

Dingen enzo!

Met Tweakui kan je het wel uitschakelen. Misschien dat je daar op een of andere manier d'r wat van kan overnemen :?

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025
Goed, ik heb dus even wat gerommeld, en deze pagina gevonden.


Precies alles gedaan zoals het daar staat, en het lijkt me wel dat die code die daar staat klopt.

Alleen: als ik de cd er in doe (win 2k of win 95) reageert mijn app gewoon niet op die window message! :'( Ik heb zelfs al een showmessage in die wndproc functie gezet om te testen, maar die reageert ook niet :{

Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.WndProc( var Msg : TMessage );
begin
  if(Msg.Msg = MsgID_QueryCancelAutoPlay)then
  showmessage(
  begin
     showmessage('request for autorun');  // this one doesn't even show :-/
    // set Msg.Result
    //   to 1 to stop AutoPlay or
    //   to 0 to continue with AutoPlay
    Msg.Result := 1;
  end else
    inherited WndProc( Msg );
end;


Is er iemand die een oplossing weet?

Stop uploading passwords to Github!

Pagina: 1