J'utilise RAD Embarcadero Delphi 2010
Je suis amené à appeler le gestionnaire d'E-Mail.
Je le détecte via
puis je l'invoque via
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Registre.RootKey:=HKEY_CLASSES_ROOT; string A:='\mailto\shell\open\command'; Registre.OpenKey(A,false); if Registre.ValueExists('') then ..
Malheureusement sur certains PC et avec certains gestionnaires d'E-Mails, il arrive que je gestionnaire d'Email se localise en arrière plan de l'application appelante et qu'il faille utiliser "Alt-Tab" pour le ramener au 1er plan. Bien entendu un problème similaire pourrait arriver avec l'invocation d'autres utilitaires que 'send e-mail'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 destinataire:='---@--.--'; destinataire2:='---@--.--'; sujet:='---'; messge:='----'; email:='mailto:'+destinataire+'?subject='+sujet+ '&cc=' + destinataire2 + '&body='+messge; ExecuteFile:=Email; FillChar(SEInfo, SizeOf(SEInfo), 0) ; SEInfo.cbSize := SizeOf(TShellExecuteInfo) ; with SEInfo do begin fMask := SEE_MASK_NOCLOSEPROCESS; Wnd := Application.Handle; lpFile := PChar(ExecuteFile) ; nShow := SW_SHOWNORMAL; end; if ShellExecuteEx(@SEInfo) then ...
La question est donc la suivante: Comment peut-on automatiquement ramener l'application 'child' en avant plan?
merci de vos réponses.
Partager