Exemple # 114776 How to hide a VB app from the task list etc.
1 réponse
Andre Elliott
J'ai ici un tout petit script et je n'arrive pas =E0=20
comprendre que =E7a accroche =E0 3 endroits. La ligne=20
form1.invisible =3D False, OwnerhWnd =3D GetWindow(Me.hWnd, _=20
GW_OWNER),Unload Me.
Est ce que on v=E9r=E9fie les scripts avant de les publier ou=20
bien vos programmeurs sont tellement au-dessus de leur=20
affaires que ce n'est pas n=E9cessaire mais quand quelqu'un=20
est d=E9butant et qu'il tombe sur un script comme celui=20
cit=E9 plus haut =E7a fait dr=F4lement suer pour rester=20
poli.C'est bien beau la course au logiciel mais on=20
pourrais peaufiner le produit avant d'en sortir un autre.
Je suis franchement d=E9=E7u de microsoft, et vous ne donnez=20
pas vos produits en passant.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Hello,
form1.invisible = False
La propriété visible d'une form détermine la visibilité de la feuille. Ici, on masque l'objet form1.
OwnerhWnd = GetWindow(Me.hWnd, _ GW_OWNER)
GetWindow est une API qui permet d'obtenir une référence à une fenêtre à partir d'une autre fenêtre. Ici, il s'agit d'obtenir l'owner de la fenêtre actuelle (Me) hwnd est un "handle" (lire une référence) pointant vers la fenêtre pour les API windows.
Unload Me
Unload permet de décharger un objet. ici, on décharge la feuille actuelle.
Attention que dans la KB 114776, le code est écrit pour du windows 16 bit Sous win 9x/xp/2k/nt4, les déclarations d'API ne sont plus les mêmes (puisqu'il s'agit de travailler avec 32 bit). Donc, il faut remplacer Declare Function ShowWindow Lib "User" (ByVal hWnd As Integer, ByVal nCmdShow As Integer) As Integer Declare Function GetWindow Lib "User" (ByVal hWnd As Integer, ByVal wCmd As Integer) As Integer
Par Declare Function ShowWindow Lib "User32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long Declare Function GetWindow Lib "User32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Mais sous VB6, pour masquer l'application, tu peux faire ceci: dans les propriétés de la feuille, définit ceci pour éviter qu'on ne voit la feuille par Alt+Tab ShowInTaskbar = False Dans le code, pour éviter que l'app ne soit préssente dans le gestionnaire des tâches: App.TaskVisible = False
Sous win xp, l'application sera encore visible dans la liste des process et il n'est pas possible d'empécher ce comportement. Par contre, on peut éviter que l'utilisateur affiche cette liste en applicant les restrictions appropriées: http://support.microsoft.com/?kbid3164
Sinon, tu peux utiliser une version gratuite de visual basic 5 qui permet de créer des contrôles utilisateurs dans des webpages: http://msdn.microsoft.com/vbasic/downloads/tools/cce/default.asp
Tu peux aussi utiliser gratuitement le compilateur VB.Net fournit dans le .Net framework SDK: http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID3A2CA6-3647-4070-9F41-A333C6B9181D
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Andre Elliott" a écrit dans le message de news:10c6001c440ce$2b4c5540$
J'ai ici un tout petit script et je n'arrive pas à comprendre que ça accroche à 3 endroits. La ligne form1.invisible = False, OwnerhWnd = GetWindow(Me.hWnd, _ GW_OWNER),Unload Me. Est ce que on véréfie les scripts avant de les publier ou bien vos programmeurs sont tellement au-dessus de leur affaires que ce n'est pas nécessaire mais quand quelqu'un est débutant et qu'il tombe sur un script comme celui cité plus haut ça fait drôlement suer pour rester poli.C'est bien beau la course au logiciel mais on pourrais peaufiner le produit avant d'en sortir un autre. Je suis franchement déçu de microsoft, et vous ne donnez pas vos produits en passant.
Hello,
form1.invisible = False
La propriété visible d'une form détermine la visibilité de la feuille.
Ici, on masque l'objet form1.
OwnerhWnd = GetWindow(Me.hWnd, _
GW_OWNER)
GetWindow est une API qui permet d'obtenir une référence à une fenêtre à
partir d'une autre fenêtre.
Ici, il s'agit d'obtenir l'owner de la fenêtre actuelle (Me)
hwnd est un "handle" (lire une référence) pointant vers la fenêtre pour les
API windows.
Unload Me
Unload permet de décharger un objet. ici, on décharge la feuille actuelle.
Attention que dans la KB 114776, le code est écrit pour du windows 16 bit
Sous win 9x/xp/2k/nt4, les déclarations d'API ne sont plus les mêmes
(puisqu'il s'agit de travailler avec 32 bit).
Donc, il faut remplacer
Declare Function ShowWindow Lib "User" (ByVal hWnd As Integer,
ByVal nCmdShow As Integer) As Integer
Declare Function GetWindow Lib "User" (ByVal hWnd As Integer,
ByVal wCmd As Integer) As Integer
Par
Declare Function ShowWindow Lib "User32" (ByVal hWnd As Long,
ByVal nCmdShow As Long) As Long
Declare Function GetWindow Lib "User32" (ByVal hWnd As Long,
ByVal wCmd As Long) As Long
Mais sous VB6, pour masquer l'application, tu peux faire ceci:
dans les propriétés de la feuille, définit ceci pour éviter qu'on ne voit la
feuille par Alt+Tab
ShowInTaskbar = False
Dans le code, pour éviter que l'app ne soit préssente dans le gestionnaire
des tâches:
App.TaskVisible = False
Sous win xp, l'application sera encore visible dans la liste des process et
il n'est pas possible d'empécher ce comportement.
Par contre, on peut éviter que l'utilisateur affiche cette liste en
applicant les restrictions appropriées:
http://support.microsoft.com/?kbid3164
Sinon, tu peux utiliser une version gratuite de visual basic 5 qui permet de
créer des contrôles utilisateurs dans des webpages:
http://msdn.microsoft.com/vbasic/downloads/tools/cce/default.asp
Tu peux aussi utiliser gratuitement le compilateur VB.Net fournit dans le
.Net framework SDK:
http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID3A2CA6-3647-4070-9F41-A333C6B9181D
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Andre Elliott" <ell_and@hotmail.ca> a écrit dans le message de
news:10c6001c440ce$2b4c5540$a001280a@phx.gbl
J'ai ici un tout petit script et je n'arrive pas à
comprendre que ça accroche à 3 endroits. La ligne
form1.invisible = False, OwnerhWnd = GetWindow(Me.hWnd, _
GW_OWNER),Unload Me.
Est ce que on véréfie les scripts avant de les publier ou
bien vos programmeurs sont tellement au-dessus de leur
affaires que ce n'est pas nécessaire mais quand quelqu'un
est débutant et qu'il tombe sur un script comme celui
cité plus haut ça fait drôlement suer pour rester
poli.C'est bien beau la course au logiciel mais on
pourrais peaufiner le produit avant d'en sortir un autre.
Je suis franchement déçu de microsoft, et vous ne donnez
pas vos produits en passant.
La propriété visible d'une form détermine la visibilité de la feuille. Ici, on masque l'objet form1.
OwnerhWnd = GetWindow(Me.hWnd, _ GW_OWNER)
GetWindow est une API qui permet d'obtenir une référence à une fenêtre à partir d'une autre fenêtre. Ici, il s'agit d'obtenir l'owner de la fenêtre actuelle (Me) hwnd est un "handle" (lire une référence) pointant vers la fenêtre pour les API windows.
Unload Me
Unload permet de décharger un objet. ici, on décharge la feuille actuelle.
Attention que dans la KB 114776, le code est écrit pour du windows 16 bit Sous win 9x/xp/2k/nt4, les déclarations d'API ne sont plus les mêmes (puisqu'il s'agit de travailler avec 32 bit). Donc, il faut remplacer Declare Function ShowWindow Lib "User" (ByVal hWnd As Integer, ByVal nCmdShow As Integer) As Integer Declare Function GetWindow Lib "User" (ByVal hWnd As Integer, ByVal wCmd As Integer) As Integer
Par Declare Function ShowWindow Lib "User32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long Declare Function GetWindow Lib "User32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Mais sous VB6, pour masquer l'application, tu peux faire ceci: dans les propriétés de la feuille, définit ceci pour éviter qu'on ne voit la feuille par Alt+Tab ShowInTaskbar = False Dans le code, pour éviter que l'app ne soit préssente dans le gestionnaire des tâches: App.TaskVisible = False
Sous win xp, l'application sera encore visible dans la liste des process et il n'est pas possible d'empécher ce comportement. Par contre, on peut éviter que l'utilisateur affiche cette liste en applicant les restrictions appropriées: http://support.microsoft.com/?kbid3164
Sinon, tu peux utiliser une version gratuite de visual basic 5 qui permet de créer des contrôles utilisateurs dans des webpages: http://msdn.microsoft.com/vbasic/downloads/tools/cce/default.asp
Tu peux aussi utiliser gratuitement le compilateur VB.Net fournit dans le .Net framework SDK: http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID3A2CA6-3647-4070-9F41-A333C6B9181D
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Andre Elliott" a écrit dans le message de news:10c6001c440ce$2b4c5540$
J'ai ici un tout petit script et je n'arrive pas à comprendre que ça accroche à 3 endroits. La ligne form1.invisible = False, OwnerhWnd = GetWindow(Me.hWnd, _ GW_OWNER),Unload Me. Est ce que on véréfie les scripts avant de les publier ou bien vos programmeurs sont tellement au-dessus de leur affaires que ce n'est pas nécessaire mais quand quelqu'un est débutant et qu'il tombe sur un script comme celui cité plus haut ça fait drôlement suer pour rester poli.C'est bien beau la course au logiciel mais on pourrais peaufiner le produit avant d'en sortir un autre. Je suis franchement déçu de microsoft, et vous ne donnez pas vos produits en passant.