IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Mode debug - empecher fermeture application VB6


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Mode debug - empecher fermeture application VB6
    Bonjour,

    Lorsque je lance un programme en mode debug (flèche play)
    Le programme s’exécute normalement et la fenêtre projet reste accessible.
    Il y a donc 2 fenêtres (celle de mon application et celle de vb6.exe (le code))

    J'aimerais pouvoir désactiver la croix de fermeture de l'application projet (pas celle de mon application, celle de vb6 !).
    Toutes les méthodes sont les bienvenues
    - Configuration
    - Programme externe (n'importe quel langage devrait faire l'affaire)
    - Modification base de registre
    - Éventuellement modification du binaire VBA6.exe (mais c'est la solution qui m'intéresserait le moins)
    - ...

    Je suis en VB6 et la méthode recherchée devrait au moins fonctionner sous XP (et sous les version suivante vista, seven, ce serait un plus)

    Merci

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Bonjour,

    juste par curiosité, je peux te demander l'intérêt de la chose ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai une application, déployée en mode Debug sur des postes "utilisateurs" (ne me demande pas pourquoi, c'est comme ça , je fais avec et il n'y a absolument aucune chance que je puisse y changer quelque chose dans au minimum les 2 années à venir)

    Et donc pour limiter le risque que l'utilisateur ferme son VB et donc par conséquent l'application qui tourne en mode debug je voudrais supprimer cette petite croix.

    Pour le moment, l'application VB est passée en mode réduit, mais parfois (et c'est ça qui est bien avec les utilisateurs , ils sont tellement prévisibles, on sait tout de suite qu'à un moment ou un autre il feront ce qu'il ne faut pas faire), donc parfois cette fenêtre n'est plus minimisée (pour diverses raisons)...

    Alors je sais, désactiver la petite croix n’empêchera pas de faire Alt+F4 ou Alt+Q, seulement l'événement recurrent (ca arrive pas tous les jours quand même) c'est vraiment le click par erreur sur cette croix (souvent confusion entre plusieurs fenêtres)

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bonjour,
    J'ai une application, déployée en mode Debug sur des postes "utilisateurs" .../...
    Tu peux préciser
    le type d'application, ce qu'elle fait ... ?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Tu peux préciser
    le type d'application, ce qu'elle fait ... ?
    Euh non, désolé, ça je ne vais pas avoir le droit.

  6. #6
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Alors désolé,
    si tu ne peux indiquer si ton application est un exécutable, une dll, un addin
    comment elle interragit avec le code en cours d'exécution
    ni si elle effectue des opérations d'écriture, de communication etc.
    je ne vois pas comment on pourra t'aider.

    Ceci dit, sur le fond, il me semble anormal de vouloir forcer les actions d'un utilisateur
    comme par exemple, interdire la fermeture d'une application
    (c'est du style «machine à apprendre des sous doués» si tu vois ce que je veux dire )

  7. #7
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    salut,
    "wndclass_desked_gsk" +
    étant précisé que le mot clé est le nom de classe de la fenêtre principale de l'IDE Visual Basic...
    maintenant déployer une application en mode debug, franchement...
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Alors désolé,
    si tu ne peux indiquer si ton application est un exécutable, une dll, un addin
    comment elle interragit avec le code en cours d'exécution
    ni si elle effectue des opérations d'écriture, de communication etc.
    je ne vois pas comment on pourra t'aider.
    euh non là, je pense que tu n'as pas bien saisi la question (peut être mal exposée ?)
    mon application c'est un celle que je lance via le bouton "play" de vb6 (1ère fenêtre)
    l'autre c'est le vb6 lui même (donc des interactions il y en a plein puisqu'on est en mode debug)
    je ne cherche pas a modifier mon application a moi, je cherche à modifier "l'application VB6"

    (c'est du style «machine à apprendre des sous doués» si tu vois ce que je veux dire )
    désolé, pas du tout

  9. #9
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Points : 1 165
    Points
    1 165
    Par défaut
    Laisser un "client" avec le système de développement VB6, c'est dangereux (il te supprime une ligne de code .... et après, bonjour le téléphone!)

    De plus, je crois que c'est contraire à la licence VB6 qui est généralement que pour un seul PC

    Je ne vois qu'un seul intérêt, modifier in situ le source chez le "client" .... mais après, bonjour pour sauvegarder l'historique ! Il faut être bénédictin pour gérer les évolutions.

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Laisser un "client" avec le système de développement VB6, c'est dangereux (il te supprime une ligne de code .... et après, bonjour le téléphone!)

    De plus, je crois que c'est contraire à la licence VB6 qui est généralement que pour un seul PC

    Je ne vois qu'un seul intérêt, modifier in situ le source chez le "client" .... mais après, bonjour pour sauvegarder l'historique ! Il faut être bénédictin pour gérer les évolutions.
    Ne t'inquiète pas pour le client et ne t'inquiète pas pour les licences.
    Oui il y a un certain risque, en même temps on est face à des gens censés, il faut juste éviter les erreur de manip.
    Pour l'intérêt, un peu d'imagination que diable !

    "wndclass_desked_gsk"
    Merci por l'info, je vais regarder

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    La solution

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
    Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long

    Private Const MF_BYPOSITION = &H400&
    Private Const MF_REMOVE = &H1000&

    Private Sub Form_Load()
    Dim hMenu As Long
    Dim nCount As Long
    lngHandle = FindWindow("wndclass_desked_gsk", vbNullString)
    hMenu = GetSystemMenu(lngHandle, 0)

    nCount = GetMenuItemCount(hMenu)

    Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
    Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)
    Call RemoveMenu(hMenu, nCount - 3, MF_REMOVE Or MF_BYPOSITION)

    DrawMenuBar lngHandle
    End Sub

    et merci pour votre aide.

  12. #12
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 296
    Points : 3 549
    Points
    3 549
    Par défaut
    hé bien voilà

    un petit et ce sera parfait
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/10/2006, 17h43
  2. [VB6]problème fermeture application
    Par pimousse_cerise dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2006, 11h24
  3. [VB6] Probleme fermeture application
    Par h82kev dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/03/2006, 13h18
  4. Empecher fermeture Application Console.
    Par Oregon09 dans le forum Langage
    Réponses: 8
    Dernier message: 09/01/2006, 20h45
  5. [ Eclipse3.1 ]Lancement d'une application en mode debug
    Par elnivo dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 07/11/2005, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo