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 ShellExecute mit SW_HIDE zeigt Dateien trotzdem an (https://www.delphipraxis.net/87888-shellexecute-mit-sw_hide-zeigt-dateien-trotzdem.html)

Zacherl 6. Mär 2007 20:01


ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Hey,

ich habe einen seltsamen Fehler: Und zwar habe ich folgenden Befehl in einer nonVCL Anwendung ohne Formular:

Delphi-Quellcode:
ShellExecute(0, 'open', PChar('C:\Windows\System32\taskmgr.exe), nil, nil, SW_HIDE); //Beispiel
--> Der Taskmanager wird sichtbar gestartet

Nun schreibe ich den selben Code in eine VCL Anwendung und:

--> Der Taskmanager wird versteckt gestartet .. :wall:

Jemand ne Idee, woran das liegen könnte?

Luckie 6. Mär 2007 21:15

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Hast du in der VCL-Anwendung auch kein Parenthandle angegeben?

Zacherl 7. Mär 2007 18:36

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Handle hatte ich auch in der VCL Anwendung auf 0 belassen .. daher kann ich mir dieses Verhalten nicht erklären =/

Luckie 7. Mär 2007 18:41

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  Windows, ShellAPI;

begin
  ShellExecute(0, 'open', PChar('C:\Windows\System32\taskmgr.exe'), nil, nil, SW_HIDE);
end.
Wird minimiert gestartet.

Zacherl 7. Mär 2007 18:57

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Zitat:

Zitat von Luckie
Wird minimiert gestartet.

Echt? :shock: Bei mir nicht .. es startet sichtbar .. hab allerdings auch das {APPTYPE CONSOLE} weggemacht, aber daran dürfte es ja eigentlich nicht liegen .. =/

mleyen 13. Mär 2008 08:12

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Sorry das ich das alte Thema wieder aufwühle aber bei mir funktioniert es auch nicht. :coder2:
Egal ob SW_MINIMIZE, SW_SHOWMINIMIZED, SW_HIDE, und alles andere auch, es wird immer gleich angezeigt! :gruebel:

Delphi-Quellcode:
ShellExecute(Handle,
             'open',
             PChar(QStart[TSpeedButton(Sender).Tag].FileName),
             PChar(QStart[TSpeedButton(Sender).Tag].Parameter),
             nil,
             SW_MINIMIZE);
Hat vielleicht jemand schon herausgefunden, woran das liegen könnte?
Durch die Sufu hab ich keine Lösung gefunden und CreateProcess will ich nicht verwenden.

Luckie 13. Mär 2008 08:37

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Eventuell ignoriert das Programm diese Vorgaben und setzt seine eigenen, zum Beispiel um gleich maximiert zu starten oder so.

mleyen 13. Mär 2008 09:05

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Ah, das könnte sein.
Das minimieren funktioniert zumindestens bei, von mir selbst erstellten, komplett leeren, Formen.
Nur schade, dass es nicht bei (fast) allen anderen Programmen nicht funktoniert.
Naja, such ich mal nach einer brachialmethode, welche das Fenster direkt minimiert. :roll:
(Rocket Dock etc. schaffts ja auch zB: *.jpg´s minimiert öffnen zu lassen)

(Falls ich was gefunden hab, editier ichs hier rein für 'auchsuchende')

Luckie 13. Mär 2008 09:10

Re: ShellExecute mit SW_HIDE zeigt Dateien trotzdem an
 
Zitat:

Zitat von spawn89
(Rocket Dock etc. schaffts ja auch zB: *.jpg´s minimiert öffnen zu lassen)

*.jpg ist eine Dateinamenerweiterung und kennzeichnet JPEG-Dateien. Dsteien kann man weder minimiert noch maximiert öffnen. man kann sie nur in einem Anwendungsprogramm anzeigen lassen. Und das kann man eventuell dazu bewegen minimiert oder maximiert zu starten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 Uhr.

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