Shell Explorer.exe TopMost

cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 - 14 sept. 2005 à 17:20
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Derniè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...

Quelqu'un a-t-il une meilleure idée ?

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>

PCPT
0
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
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

y a moyen
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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 :

Private Const SW_MINIMIZE = 6
Private Const SW_INVALIDATE = &H2

PCPT
0
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
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...)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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 window’s 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.

<HR>

PCPT
0
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
15 sept. 2005 à 13:48
Merci pc-pt ! (toujours pt ton pc ?....)

Je vai faire ça, pi si ça marche pas y a d'autres solutions spécifiques à mon appli

A+
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 sept. 2005 à 14:19
^^ (en effet, matériel archaïque)
bon courage
PCPT
0
Rejoignez-nous