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
Partager