OVH Cloud OVH Cloud

Comment afficher au 1er plan

12 réponses
Avatar
LE TROLL
Bonjour,

Comment afficher au 1er plan (mais PAS toujours à l'écran), je fais ceci
:

Depuis l'exe je lance un site avec l'explorer dans le load, puis je lui
demande de s'afficher au 1er plan (enfin, je crois), dans l'activate, mais
ça ne marche pas le site de l'explorer recouvre le programme GRRrrrrrr...
:o)

ShellExecute Me.hwnd, "Open", Site, "", App.Path, 1
End Sub ' load

Sub Form_Activate()
Picture1(240).SetFocus
'Form1.Show ???
' Form1.SetFocus ??? MARCHE PAS ???
' Me.SetFocus ???
End Sub

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.

2 réponses

1 2
Avatar
LE TROLL
Bonjour,

Merci, voir ma dernière réponse à 23h52, j'ai trouvé une solution "en
force", je mets toujours en premier à l'écran juste après le lancement du
site, puis je retire "toujours en 1er à l'écran", et ça reste au dessus tant
qu'on ne touche pas à autre chose, c'est ce que je voulais, mais en moins
lourd, enfin, bref...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"parci" a écrit dans le message de
news:4a8f16ff$0$1528$
parci a écrit :
LE TROLL a écrit :
Bonjour,

Merci de ta réponse, mais ça ne marche pas davantage !

Déjà toi tu lances l'explorer, c'est un logiciel PC, évidemment que
ça marche, mais ce n'est absolument pas l'exemple que j'ai donné (moi
j'appelle un site) !

D'autre part l'API ShellExecute je crois accepte tous les explorer,
alors que Shelle n'accepte qu'InternetExplorer il me semble...




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 Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As
Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
Dim Site As String
Site = "http://irolog.free.fr"
ShellExecute Me.hWnd, "Open", Site, "", App.Path, 1
Sleep 500
SetForegroundWindow Me.hWnd
End Sub




Ben, en fait non, ça marche avec FF mais pas avec IE ou Opera.


Avatar
AT
Après mûre réflexion, LE TROLL a écrit :

Ben quand tu verras ta forme devant le site tu me diras ?

Pour le timer ça ne peut pas coller, car le timer il va exécuter toutes
les 5 secondes, certes, mais il va exécuter dès qu'on l'appelle le code qu'il
contient, "puis", toutes les 5 secondes, donc il faut lui mettre une boucle,
par exemple i = 0, puis dans le timer i = i + 1, puis (si i > 0 alors)...
Mais ceci est équivalent à

Dim retval
retval = Shell("explorer.exe http://Irolog.free.fr", 6)
sleep 5000

Ce qui ne change rien, désolé :o)



Sleep n'est pas un mot clef visual basic. Tu veux que l'on exécute tes
exemples, mais ceux-ci contiennent des procédures que tu ne publies
pas.
Le fait que ce soit ton site ne change rien, sauf à faire ta pub... en
lançant Internet explorer par défaut sans l'url il affiche la page
d'accueil défini à l'avance, en l'occurrence MSN chez moi.


Le code ci-dessous fonctionne .

Private Sub Form_Load()
Dim retval
retval = Shell("explorer.exe http://Irolog.free.fr", 6)
Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()
Show
Timer1.Enabled = False
End Sub


J'ai testé avec un timer à 1000 (1 seconde) mais bien sur le delai va
dependre du temps que met la machine à lancer internet explorer! Si ton
pc met 8 secondes pour ouvrir IE, celui-ci sera au premier plan!


Alors comme déjà expliqué, si tu avais lu ma réponse précédente, tu
peux utiliser ça:

A copier dans un module.bas

============================================
Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1

Private Declare Function SetWindowPos Lib "USER32" (ByVal hwnd As Long,
ByVal hWndInsertAfter As Long, _
ByVal x As Long,
ByVal y As Long, ByVal cx As Long, _
ByVal cy As Long,
ByVal wFlags As Long) As Long

Public Function AuSommet(hwnd As Long) As Long

AuSommet = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)

End Function

===============================================




************************************************


Private Sub Form_Load()

AuSommet Me.hwnd

Dim retval
retval = Shell("explorer.exe http://Irolog.free.fr", 1)


End Sub

**************************************************
1 2