salut
Je voudrais savoir s'il est possible de rendre actif un programme ouvert
genre j'ai mon form qui est ouvert et je veux rendre active un programme "toto" qui est ouvert mais reduit dan,s la barres des taches.
Merci bcp d'avance
bonne journée








salut
Je voudrais savoir s'il est possible de rendre actif un programme ouvert
genre j'ai mon form qui est ouvert et je veux rendre active un programme "toto" qui est ouvert mais reduit dan,s la barres des taches.
Merci bcp d'avance
bonne journée
Salut
Comme je vois que ce topic est ouvert, inutile que j'en ouvre un autre.
J'ai le même soucis que toi gyver4000 et je cherche une solution car sur mon programme ouvert, j'aurais besoin de pouvoir executer les raccourcis clavier...
@+ Martipit
tu peux utiliser
pour envoyer des keys comme si vous utilisez le clavier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SendKeys.Send("{ENTER}")
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
Salut merci pour cette info, ceci dit nous ne savons toujours pas comment rendre l'application à laquelle on voudrait envoyer ces keys active.
@+ Martipit
Si ça peut aider :
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
19
20
21 Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean Private Sub MettreAuPremierPlan(ByVal nomProcess As String) 'Exemples de noms de Process en entrée : excel, notepad, outlook, photoshop, winword, wmplayer, etc. 'On peut trouver le nom d'un Process en ouvrant le Gestionnaire de Périphériques (ctrl + alt + suppr) ' '1) Récupérer toutes les instances pour le Process recherché Dim processes As Process() = Process.GetProcessesByName(nomProcess) If processes.Length > 0 Then Try '2) Mettre au premier la 1ère instance de l'application SetForegroundWindow(processes(0).MainWindowHandle) Catch ex As Exception 'Erreur lors de la mise au premier plan MessageBox.Show(ex.Message) End Try Else 'Aucune instance trouvée pour nomProcess MessageBox.Show("Aucune instance trouvée pour " & nomProcess & ".") End If End Sub
Je complète ma réponse précédente.
Si l'application à mettre au premier plan a été ouverte par le programme (Shell... ou Process.start...), on peut mémoriser son Process au moment de l'ouverture pour le rappeler au moment du rappel au premier plan.
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
19
20
21Private pApplicationProcess As Process Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean Private Sub btnLancer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLancer.Click 'Lance une application (ici Word) et mémorise son Process (pApplicationProcess) pApplicationProcess = Process.Start("winword") End Sub Private Sub btnRappeler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRappeler.Click 'Ramène au premier plan le Process mémorisé (pApplicationProcess) If pApplicationProcess IsNot Nothing Then Try SetForegroundWindow(pApplicationProcess.MainWindowHandle) Catch ex As Exception 'Erreur lors de la mise au premier plan MessageBox.Show(ex.Message) End Try End If End Sub
Partager