Comment faire pour que mon prgm et la priorité!

padide Messages postés 15 Date d'inscription mardi 23 novembre 2004 Statut Membre Dernière intervention 13 janvier 2005 - 13 janv. 2005 à 12:33
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 - 14 janv. 2005 à 11:11
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
13 janv. 2005 à 12:57
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]
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
14 janv. 2005 à 10:50
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...
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
14 janv. 2005 à 11:11
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
0