CreateProcess() sur SW_SHOWMAXIMIZED
Bonsoir à tous et bonne année :)
Windows XP Pro SP2, 32 bits, Delphi 7.
Ds un prog en Delphi 7, j'utilise CreateProcess() pour appeler UltraEdit32. Mais UltraEdit ne s'ouvre pas en fenêtre SW_SHOWMAXIMIZED (grande ouverte). Pourquoi ?
En plus, lorsque j'appelle ensuite UltraEdit, même "manuellement", il s'ouvre en mode "NON MAXIMIZED". Il me semble avoir touché à l'environnement général de Windows.
Le processus père qui, donc, appelle UltraEdit, a une form invisible. Elle doit le rester. Est-ce que ça aurait un rapport ?
Voici le code:
procedure Appel_Editeur;
var Nom_F : string;
Processus : string;
Parametre : string;
StartupInfo: TStartupinfo;
ProcessInfo: TProcessInformation;
Retour : longbool;
Rep : string;
begin
Nom_F := Nom_F_A_Editer;
//StartUpInfo.wShowWindow := SW_SHOWMAXIMIZED; // Marche pas
StartUpInfo.wShowWindow := SW_MAXIMIZE; // Marche pas
FillChar(Startupinfo,Sizeof(TStartupinfo),0);
Startupinfo.cb:=Sizeof(TStartupInfo);
Rep := Rep_Temporaire;
Parametre := Processus + ' ' + Nom_F; // Contient le nom du processus (UltraEdit) + le fichier cible à éditer
Retour := CreateProcess(nil,
PChar(Parametre),
nil,
nil,
false,
normal_priority_class,
nil,
PChar(Rep),
Startupinfo,ProcessInfo);
// etc...
end;
Liens que j'ai utilisés pour ce bug :
"STARTF_USESHOWWINDOW" - Recherche Google
http://www.codeproject.com/KB/winsdk/runsilent.aspx
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx