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 :

WorkAreaLeft avec une DLL, sans passer par SysInfo.ocx


Sujet :

VB 6 et antérieur

  1. #1
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut WorkAreaLeft avec une DLL, sans passer par SysInfo.ocx
    Bonjour,

    Actuellement dans un projet VB5 j'utilise le contrôle (OCX) SysInfo pour obtenir les coordonnées utilisable de l'écran (donc en dehors de la barre des tâches) :

    SysInfo1.WorkAreaLeft
    SysInfo1.WorkAreaTop
    SysInfo1.WorkAreaWidth
    SysInfo1.WorkAreaHeight

    Je souhaite que mon programme n'utilise plus aucune OCX. Trop de problèmes de compatiblité...

    Comment récupérer WorkAreaLeft, ... WorkAreaHeight sans OCX ? En utilisant l'API win32 (gdi32, kernel32, ...) ?

    Attention le programme doit tourner même sous Windows95

    Merci - à bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  2. #2
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Voici la solution :

    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
        Type WinRECT
            Left As Long
            Top As Long
            right As Long
            bottom As Long
        End Type
        Private Declare Function SystemParametersInfo Lib "user32" _
            Alias "SystemParametersInfoA" (ByVal uAction As Long, _
            ByVal uParam As Long, ByRef lpvParam As WinRECT, _
            ByVal fuWinIni As Long) As Long
        Private Const SPI_GETWORKAREA = 48
    ...
    ...
    '        WaLeft = CiDess.PC_Info.WorkAreaLeft
    '        WaTop = CiDess.PC_Info.WorkAreaTop
    '        WaWidth = CiDess.PC_Info.WorkAreaWidth
    '        WaHeight = CiDess.PC_Info.WorkAreaHeight
            Call SystemParametersInfo(SPI_GETWORKAREA, 0, wr, 0)
            WaLeft = wr.Left * Screen.TwipsPerPixelX
            WaTop = wr.Top * Screen.TwipsPerPixelY
            WaWidth = (wr.right - wr.Left) * Screen.TwipsPerPixelX
            WaHeight = (wr.bottom - wr.Top) * Screen.TwipsPerPixelY
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

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

Discussions similaires

  1. [AC-2007] Requête Ajoût avec donnée d'une table, sans passer par le SQL
    Par charlhub dans le forum Access
    Réponses: 4
    Dernier message: 08/01/2012, 19h49
  2. Réponses: 4
    Dernier message: 01/04/2009, 14h16
  3. Envoyer une télécopie sans passer par l'assistant de télécopie
    Par therouxy dans le forum Composants VCL
    Réponses: 5
    Dernier message: 09/10/2006, 11h05
  4. Réponses: 5
    Dernier message: 13/04/2006, 22h54
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

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