Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538

    [VB6] - Ottenere il nome della finestra attiva

    Esiste un API che mi restituisce il nome della finestra attiva????

  2. #2
    GetActiveWindow ritorna l'handle della finestra
    GetWindowText ritorna il testo di una finestra di cui sai l'handle
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    innnanzitutto grazie per la rispost.
    ho aperto l api viewer e ho cercato le 2 api.

    codice:
    Public Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long
    questa è abbastanza chiara.



    codice:
    Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
    questa un po meno: il primo argomento che gli passo è l handle, ma gli altri 2? e poi nn dovrebbe restituirmi una string?

  4. #4
    la seconda gli passi

    l'handle , una stringa lunga quanto il numero che passi nel terzo parametro ovvero

    codice:
    sbuffer = space(255)
    GetWindowText(handle,sbuffer,255)
    
    sbuffer = trim(sbuffer)
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    quindi il nome della finestra rimarrà memorizzato in sbuffer????

  6. #6
    si le api restituiscono solo valori numerici a 32bit (indovina come mai?) se vuoi che ritornino una stringa gli devi creare un buffer di scrittura
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    ok grazie mille

  8. #8
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    mmm c'è un problema. apparentemente funziona solo che mi "riconosce" solamente il form stesso e il visual bsic, se provo ad attivare un altra finestra (tipo internet explorer nn va!). pensavo fosse perchè bisognava prima compilarlo e invece nn funziona comunque

    ecco il codice che utilizzo
    codice:
    Private Declare Function GetActiveWindow Lib "user32" () As Long
    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
    
    Private Sub Timer1_Timer()
    Dim h As Long
    Dim a As String
    h = GetActiveWindow
    a = Space(255)
    GetWindowText h, a, 255
    a = Trim(a)
    List1.AddItem a
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.