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.NET Discussion :

Les icônes Mini et Maxi d'une Application Console


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 80
    Par défaut Les icônes Mini et Maxi d'une Application Console
    Dans une Application Console en Vb.net je sais rendre inopérant les fonctions
    Minimum et maximum de la fenêtre Console par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Const MF_BYCOMMAND As Integer = &H0 : Public Const SC_MINIMIZE As Integer = &HF020
        Public Const SC_MAXIMIZE As Integer = &HF030 : Public Const SC_SIZE As Integer = &HF000
        Friend Declare Function DeleteMenu Lib "user32.dll" (ByVal hMenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
        Friend Declare Function GetSystemMenu Lib "user32.dll" (hWnd As IntPtr, bRevert As Boolean) As IntPtr
    .
    .
    Dim handle As IntPtr = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
    Dim sysMenu As IntPtr
    DeleteMenu(sysMenu, SC_MINIMIZE, MF_BYCOMMAND) 'Empêche l'utilisateur de minimiser la console window
    DeleteMenu(sysMenu, SC_MAXIMIZE, MF_BYCOMMAND) 'Empêche l'utilisateur de maximiser la console window
    DeleteMenu(sysMenu, SC_SIZE, MF_BYCOMMAND)     'Empêche l'utilisateur de retailler la console window
    Ce code fonctionne parfaitement mais je voudrais en plus de l'inactivité de ces fonctions faire disparaître
    Les symboles représentés par les signes « moins » et « Carré ».

    Nom : Image1.jpg
Affichages : 190
Taille : 24,3 Ko

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 503
    Par défaut
    En s'inspirant fortement de ce lien https://devblogs.microsoft.com/oldne...04-00/?p=13803 :
    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
    31
    Imports System
     
    Module Program
        Private Const MF_BYCOMMAND As Integer = &H0
        Private Const SC_MINIMIZE As Integer = &HF020
        Private Const SC_MAXIMIZE As Integer = &HF030
        Private Const SC_SIZE As Integer = &HF000
        Private Const SC_CLOSE As Integer = &HF060
        Private Const GWL_STYLE = (-16)
        Private Const WS_MAXIMIZEBOX = &H10000
        Private Const WS_MINIMIZEBOX = &H20000
     
        ' Declaring references to external procedures that are in user32.dll.
        Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Integer, ByVal uPosition As Integer, ByVal uFlags As Integer) As Boolean
        Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Integer, ByVal bRevert As Boolean) As IntPtr
        Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
        Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
        ' Declaring references to external procedures that are in kernel32.dll.
        Private Declare Function GetConsoleWindow Lib "kernel32" Alias "GetConsoleWindow" () As IntPtr
     
        Sub Main(args As String())
            Dim hWnd As IntPtr = GetConsoleWindow()
            ' Obtain a handle to the console application system menu.
            Dim hMenu As Integer = GetSystemMenu(hWnd, False)
            SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) And Not WS_MAXIMIZEBOX)
            SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) And Not WS_MINIMIZEBOX)
            DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND)     'Empêche l'utilisateur de retailler la console window
            Console.WriteLine("Hello World!")
            Console.ReadLine()
        End Sub
    End Module
    PS1: chez moi, ta fonction pour retourner le handle de la console ne fonctionne pas, c'est pour ça que j'ai utilisé GetConsoleWindow de kernel32.dll (il y a d'autres façons possibles)
    PS2: si le bouton n'est plus visible, inutile d'en désactiver la fonction

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Définir la taille mini et maxi d'une couche (cadre)
    Par NICOSNE dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/07/2009, 20h30
  2. mini et maxi dans une jointure
    Par MoonUnit dans le forum Langage SQL
    Réponses: 6
    Dernier message: 10/10/2008, 12h21
  3. Réponses: 5
    Dernier message: 02/07/2008, 14h10
  4. Réponses: 26
    Dernier message: 30/07/2007, 12h09
  5. Réponses: 9
    Dernier message: 05/01/2007, 10h51

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