Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi "Aktion ausführen" dynamisch unterdrücken? (https://www.delphipraxis.net/107004-aktion-ausfuehren-dynamisch-unterdruecken.html)

alleinherrscher 20. Jan 2008 17:36


"Aktion ausführen" dynamisch unterdrücken?
 
Hi@all!

Ich schreibe grade an einem kleinen Programm, nur so ein FrondEnd für meine Videosammlung. Ich wähle n Film aus, und das Programm mountet mir das entsprechende Image über Daemon tools. Dann soll das video mit powerdvd wiedergegeben werden und zwar alles möglichst so, dass man nichts vom mounten und starten von power dvd mitbekommt.

Das mounten klappt im grunde super, allerdings wird immer das Fenster "Aktion ausführen" angezeigt. Das kann ich natürlich per Windows deaktivieren, schöner wäre aber, wenn ich es von delphi aus unterdrücken könnte.

Dieser Code aus dem Forum funktioniert leider nicht:

Delphi-Quellcode:
procedure TForm1.WndProc(var Message:TMessage);
begin
   If Message.Msg=WM_AutoRun then begin
      If Erlauben1.Checked then
         Message.Result:=0 else

            Message.Result:=1;

      Exit;
   end;

   inherited WndProc(Message);
end;
Grüße und besten Dank, euer alleinherrscher

API 20. Jan 2008 18:12

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Hallo, hast du die Anmerkung beachtet:

Zitat:

Anmerkung: Die Anwendung muß im Vordergrund sein, damit das funktioniert

alleinherrscher 20. Jan 2008 18:23

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Jup, die Anwendung is sogar im Vollbild im Vordergrund :)

API 20. Jan 2008 18:25

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Zitat:

Zitat von alleinherrscher
Jup, die Anwendung is sogar im Vollbild im Vordergrund :)

Könnte es sein, dass deiner Anwendung einige ms den Fokus gestohlen wird und somit
nicht mehr im Vordergrund ist?

alleinherrscher 20. Jan 2008 18:33

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Oh, jo, das könnte natürlich sein....

API 20. Jan 2008 18:58

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Ansonsten probier's mal mittels IQueryCancelAutoPlay

alleinherrscher 20. Jan 2008 19:41

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Wie kann ich denn dafür sorgen, dass mir der Fokus nicht entrissen wird, wenn ich per ShellExecute die Daemontools starte? Bring to front kurz nach dem shellexecute bringt gar nix

phXql 20. Jan 2008 19:44

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Vielleicht das Programm minimiert starten, oder vielleicht gleich ganz versteckt.

API 20. Jan 2008 20:53

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von API
Ansonsten probier's mal mittels IQueryCancelAutoPlay

Habe mal damit gespielt...Damit funktioniert es auch, wenn deine Anwendung nicht im Vordergrund ist.
Siehe Test-App im Anhang.

(Gibt noch eine Fehlermeldung beim Beenden: InvalidPointer etwas)

alleinherrscher 20. Jan 2008 21:05

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Cool, herzlichen Dank! Ich werde es direkt testen und mich gleich nochmal melden!!!

alleinherrscher 20. Jan 2008 22:00

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Leider funktioniert das unterdrücken von dir auch nicht!

Es geht ja wie gesagt nicht um die Autostart funktion sondern um den Windows XP Dialog "Aktion auswählen"

Grüße

API 20. Jan 2008 22:01

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Zitat:

Zitat von alleinherrscher
Leider funktioniert das unterdrücken von dir auch nicht!

Es geht ja wie gesagt nicht um die Autostart funktion sondern um den Windows XP Dialog "Aktion auswählen"

Grüße

Bei mir wird der Dialog unterdrückt. (Win XP)
Existiert bei dir der Reg. Key, wie im Quellcode angegeben.?

alleinherrscher 20. Jan 2008 23:15

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Scheinbar muss der Key immer in der Registry bleiben, oder? ich hatte es jetzt so programmiert, dass beim start des prorgamms der key gesetzt wird und beim beenden wieder gelöscht wird, aber das bringt offensichtlich nix

API 21. Jan 2008 07:08

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Zitat:

Zitat von alleinherrscher
Scheinbar muss der Key immer in der Registry bleiben, oder? ich hatte es jetzt so programmiert, dass beim start des prorgamms der key gesetzt wird und beim beenden wieder gelöscht wird, aber das bringt offensichtlich nix

Eigentlich gibt's keinen Grund diesen Key wieder zu löschen, oder?
Grundsätzlich muss sich der Key vor dem Ausführen deines Codes in der Registry befinden.

alleinherrscher 21. Jan 2008 08:17

Re: "Aktion ausführen" dynamisch unterdrücken?
 
Zitat:

Eigentlich gibt's keinen Grund diesen Key wieder zu löschen, oder?
Grundsätzlich muss sich der Key vor dem Ausführen deines Codes in der Registry befinden.
Ne, das reicht nicht. Der Explorer muss mit diesem Key gestartet werden, wahrscheinlich ließt er ihn zu diesem Zeitpunkt ein. Erst ein Neustart, nachdem ich den Key hinzugefügt habe und mein Programm gestartet habe, hat das Fenster unterdrückt!

Aber vielen herzlichen Dank für den Code und deine Mühe!

Schöne Woche,
Grüße,
Alleinherrscher


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.

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