cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 2014
-
14 sept. 2005 à 17:20
PCPT
Messages postés13278Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
15 sept. 2005 à 14:19
Bonjour à tous,
Savez-vous comment lancer une instance de l'explorer.exe en premier plan ?
j'ai essayé en récupérant l'ID de process grace à la fonction Shell
le problème c'est que lorsque l'on passe un paramètre à l'explorer genre un fichier en pdf, l'id change donc impossible de le mettre en TopMost de cette façon...
PCPT
Messages postés13278Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 14 sept. 2005 à 17:31
salut,
à moins que je n'ai pas compris :
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNOACTIVATE = 4
'
'
Private Sub Form_Load()
ShellExecute 0, vbNullString, "explorer.exe", vbNullString, "C:", SW_SHOWNOACTIVATE
End Sub
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 14 sept. 2005 à 17:47
Salut pcpt !
Merci pour ta réponse
c'est pas mal
J'ai un problème un peu plus compliqué en fait :
J'ai une appli qui lance une instance d'excel, dans cette instance j'ai un formulaire vb.net qui est en topmost=true (donc en premier plan)
et lorsque je lance une appli en premier genre explorer (grace à ta fonction), cette application reste active le temps de se lancer (à peine une demis sec) puis mon formulaire se remet en avant plan
or ce que je voudrai c'est passé mon formulaire en avant plan et ensuite, sur un événement, devant lui l'explorer
et lorsque je fermer l'explorer je reprend le formulaire en avant plan
PCPT
Messages postés13278Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 14 sept. 2005 à 18:08
un appli qui lance ....
en .NET ?
je ne connais pas du tout .NET
si j'ai bien compris, tu voudrais lancer l'explorer en arriere plan, et dans ton formulaire .net, passer l'explorer en premier plan jusqu'à sa fermeture????
si c'est çà, il te faut enlever le topmost, récupérer le handle de l'explorer une fois qu'il est ouvert (GetParent), et dans ce cas, dans mon code, remplace avec au choix :
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 15 sept. 2005 à 07:44
Salut pcpt !
heu ben heu j'ai pas tout compris....
tu peux détailler un peu stp ?
c koi le getparent ?
c'est koi tes nouvelles constantes ?
(et heu ben en fait je ne sais pas récupérer le handle de l'explorer car si je lui passe en paramètre un fichier qui s'ouvre avec un autre programme le handle change...)
Vous n’avez pas trouvé la réponse que vous recherchez ?
PCPT
Messages postés13278Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 15 sept. 2005 à 12:40
salut,
pour les constantes, ajoute les à mon exemple et essaye avec.....
et pour trouver le Handle (qui a été modifié), raproche-toi des API GetParent et FindWindow
<HR>
The GetParent function retrieves the handle of the specified child windows parent window.
The FindWindow function retrieves the handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.