Salut,
je voudrai savoir s'il y a une fonction qui permet de mettre des fenêtres qui contiennent des pages web (non des forms vb) en premier plan.
Merci d'avance
Salut,
je voudrai savoir s'il y a une fonction qui permet de mettre des fenêtres qui contiennent des pages web (non des forms vb) en premier plan.
Merci d'avance
salut,
tu fais du vb ou pas?je voudrai savoir s'il y a une fonction qui permet de mettre des fenêtres qui contiennent des pages web (non des forms vb) en premier plan.
Xavier
bien sur que je fais du vb, je voudrai à partir d'une application vb mettre des fenêtres non vb (pages HTML...) en premier planet en derrière plan.
il existe un API qui fait ce genre de choses.
Fonction SetWindowPos
Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" ( _
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
Description :
Cette API permet d'afficher la fenêtre où bon vous semble sur
l'écran en exécutant une méthode du type move avec la possibilité de laisser la feuille toujours au premier plan d'affichage.
hwnd est le handle de la feuille,
hWndInsertAfter est une des contantes définies ci-dessous,
X, Y, cx et cy sont respectivement les coordonnées et les dimensions de l'image.
wFlags est une combinaison de constantes ci-dessous.
Constante Valeur Définition
HWND_BOTTOM 1 Place la fenêtre en dessous de toutes les autres.
HWND_NOTOPMOST -2 Place la fenêtre au dessus de toutes les fenêtres qui n'ont pas l'attribut "TOPMOST" (et en dessous de ces dernières).
HWND_TOP 0 Place la fenêtre au premier niveau.
HWND_TOPMOST -1 Place la fenêtre au premier niveau, celle-ci conserve cet attribut même lorsqu'elle perd le focus.
SWP_HIDEWINDOW &H80 Cache la fenêtre.
SWP_NOACTIVATE &H10 N'active pas la fenêtre.
SWP_NOMOVE &H2 Garde la même position (les paramètres X et Y ne sont pas pris en compte).
SWP_NOSIZE &H1 Conserve les dimensions courantes (paramètres cx et cy pas pris en compte).
SWP_SHOWWINDOW &H40 Affiche la fenêtre.
Xavier
et si la page que je voudrai mettre en premier plan est une page HTML
comment on pourra utiliser cette fonction que tu m'as donné,
merci pour tes réponses
très bonne question. Attends un peu, je cherche.
Xavier
une question: qu'est censée faire ton appli exactement?
Xavier
bon quand je travaille avec mon appli j'ai 2 pages html ouvertes, je voudrai grace à un bouton dans mon appli permuter entre ces 2 pages en premier plan.
Merci
je sais pas si ça peut marcher, mais si tu connais le nom des processus associés aux fenêtres HTML, tu peux peut-être, lors d'un clic sur le bouton rechercher le process qui correspond et mettre au premier plan.
Xavier
Oui mais comment mettre un process en premier plan?
fais déjà une recherche sur le forum pour savoir comment récupérer un processus. On verra la suite après.
Je regarde de mon côté.
Xavier
je sais comment obtenir la liste des process mais par contre je suis en train de chercher comment obtenir la liste des fenêtres ouvertes sur windows, ca sera bien encore
Merci bcp pour ton aide
pour t'éclairer: je me suis un jour posé la question:
http://www.developpez.net/forums/arc.../t-115187.html
Xavier
quelle était la conclusion?
la conclusion, c'est que tout le code qu'il y a en bas permet de récupérer le nom des process, le nom des appli associées, et de les enregistrer dans un fichier texte mis à jour régulièrement.
Fouille un peu, tu trouveras ton bonheur.
Xavier
zaza à la rescousse
Bon, je tiens juste à spécifier que j'ai utilisé ce jeu d'API une Fois et cette fois là seulement, il y a un moment dèjà et que ma mémoire à parfois des ratées...
Alors, j'envoie le dossier de mon projet à titre d'exemple.
- Pour les nouveaux : Mode d'emploi et aide aux nouveaux
- et impérativement les règles du forum. Histoire de garder une ambiance amicale.
- Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
- Cours Excel - FAQ Excel - Forum Excel - Cours VBA - Cours complet VBA Excel
bonjour
si tu utilises Internet Explorer, tu peux tester cette procédure pour amener une fenetre IE 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
21
22
23
24
25
26
27
28
29
30 Option Explicit Private Declare Function BringWindowToTop Lib "user32" _ (ByVal hwnd As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShowWindow Lib "user32" _ (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Const SW_SHOWNORMAL = 1 Private Sub Command1_Click() 'activer la référence "Microsoft Internet Controls" Dim IE As New InternetExplorer Dim winShell As New ShellWindows Dim x As Long On Error Resume Next For Each IE In winShell If IE.LocationURL = "http://www.developpez.com/" Then x = IE.hwnd Exit For End If Next IE BringWindowToTop x ShowWindow x, SW_SHOWNORMAL End Sub
remarque:
cela fonctionne aussi en VBA , à condition de ne pas lancer la procedure depuis l'editeur de macro
bonne journée
michel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager