OVH Cloud OVH Cloud

instance programme

3 réponses
Avatar
joel.decotigny
boujour, j'ai un logiciel qui une fois lancer se reduit dans la barre des
taches et s'ouvre en cliquant sur cette icone dans la barre des taches par
contre si je clique sur l'icone du bureau il s'ouvre une autre
instance(normal) mais je souhaiterait qu'en cliquant sur l' icone du bureau
il se souvre et ne lance pas une autre instance du prg. si quelqu'un pouvait
m'aider car la ?
merci d'avance.

3 réponses

Avatar
X
Par exemple en faisant ceci:

LANCEMENT UNE SEULE FOIS DEPUIS SA FEUILLE
INTERDIRE 2 LANCEMENTS LOAD
Sub Form_Load()
If App.PrevInstance Then: End
End Sub

--------------

"joel.decotigny" a écrit dans le message de
news: 43d89c1e$0$29186$
boujour, j'ai un logiciel qui une fois lancer se reduit dans la barre des
taches et s'ouvre en cliquant sur cette icone dans la barre des taches par
contre si je clique sur l'icone du bureau il s'ouvre une autre
instance(normal) mais je souhaiterait qu'en cliquant sur l' icone du
bureau il se souvre et ne lance pas une autre instance du prg. si
quelqu'un pouvait m'aider car la ?
merci d'avance.



Avatar
joel.decotigny
merci pour ta reponse, ok pour ca je l'avais ajouter pour pas qu'il se
relance mais mon probleme c'est que je voudrait qu'il ouvre celui deja
lancer dans la barre des taches, non pas en cliquent sur l'icone de la barre
des taches mais en cliquant sur son icone du bureau.

"X" <x> a écrit dans le message de news:

Par exemple en faisant ceci:

LANCEMENT UNE SEULE FOIS DEPUIS SA FEUILLE
INTERDIRE 2 LANCEMENTS LOAD
Sub Form_Load()
If App.PrevInstance Then: End
End Sub

--------------

"joel.decotigny" a écrit dans le message de
news: 43d89c1e$0$29186$
boujour, j'ai un logiciel qui une fois lancer se reduit dans la barre des
taches et s'ouvre en cliquant sur cette icone dans la barre des taches
par contre si je clique sur l'icone du bureau il s'ouvre une autre
instance(normal) mais je souhaiterait qu'en cliquant sur l' icone du
bureau il se souvre et ne lance pas une autre instance du prg. si
quelqu'un pouvait m'aider car la ?
merci d'avance.







Avatar
Alfred
"joel.decotigny" a écrit dans le message de
news:43d89c1e$0$29186$
boujour, j'ai un logiciel qui une fois lancer se reduit dans la barre des
taches et s'ouvre en cliquant sur cette icone dans la barre des taches par
contre si je clique sur l'icone du bureau il s'ouvre une autre
instance(normal) mais je souhaiterait qu'en cliquant sur l' icone du


bureau
il se souvre et ne lance pas une autre instance du prg. si quelqu'un


pouvait
m'aider car la ?
merci d'avance.





Bonjour

Private Sub Form_Load()
If App.PrevInstance Then ShowPrevInstance

......
End Sub

Private Sub ShowPrevInstance()
Dim OldTitle As String
Dim ll_WindowHandle As Long
'saving the current title in OldTitle variable
'and changing the application title
OldTitle = App.Title
App.Title = "This App Will Be Closed"
'finding the previous instance. if you are using VB 5.0,
'change "ThunderRT6Main" to "ThunderRT5Main"
ll_WindowHandle = FindWindow("ThunderRT6Main", OldTitle)
'if there is no old instances of your application - exit.
If ll_WindowHandle = 0 Then Exit Sub
'Find the window we need to restore
ll_WindowHandle = GetWindow(ll_WindowHandle, GW_HWNDPREV)
'Now restore it
Call OpenIcon(ll_WindowHandle)
'And Bring it to the foreground
Call SetForegroundWindow(ll_WindowHandle)

End

End Sub


dans un module:
Option Explicit
'Empècher 2è instance
'DECLARATION API
Declare Function OpenIcon Lib "user32" (ByVal hwnd As Long) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As _
Long) As Long
Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As _
Long
'DECLARATION CONSTANTE
Public Const GW_HWNDPREV = 3

Alfred