Comment faire pour que mon prgm et la priorité!

Signaler
Messages postés
15
Date d'inscription
mardi 23 novembre 2004
Statut
Membre
Dernière intervention
13 janvier 2005
-
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
-
Salut

Je voudrai savoir si il est possible que mon prgm en vb6 bloque le bureau c à dire que quand il est en cour d'exe on ne puisse pas faire autre chose ( pas cliquer ailleurs que sur la fenetre de mon prgm, pas taper du texte ds un autre prgm et ne pas ouvrir un autre prgm...)

Merci!!!

3 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Ben si tu mets ton programme en plein écran avec une position toujours
devant les autres fenêtres, déjà, ca limitera pas mal les choses !



Utilise la fonction de l'API Windows SetWindowPos pour définir la position de la fenêtre sur l'axe Z.

DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
7
Darkisdious, ton idée est pas mal mais j'ajouterais ceci :
- dans from_load, place me.show 1 pour lui donner un modal, ainsi, on sera cette entre restera au dessus, comme une boite de message.
- (je suis sur un pc de mon école, j'ai vb devant moi...) dans form_lostfocus (ou qque chose dans le style) place un me.setfocus (ou qque chose dans le genre aussi)
- Il existe une api (Declare Function ClipCursor Lib "user32" ( lpRect As Any) As Long ) qui permet de coincer ta souris dans un rectangle (pour qu'elle ne sorte pas de ton application)
- Pour la priorité, il existe une propriété de l'objet app qui permet de la définir mais sans vb sous la main , je peux pas t'aider.

Voilà, désolé pour mes imprécisions, je verrai ce soir sur mon pc si je peux faire mieux...

J'aime bien les frites...
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
7
Voilà pour la priorité :
Private Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, _
ByVal dwPriorityClass As Long) As Long

Const HIGH_PRIORITY_CLASS As Long = &H80

dim hCurrentProcess as long
(déso je suis tjrs pas sur mon pc...)

hCurrentProcess=app.(qquechose je sais pus quoi, cherche dans l'explorateur d'objet (f2), sa doit pas etre bien compiqué à trouver)

SetPriorityClass hCurrentProcess, HIGH_PRIORITY_CLASS