Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [vb2010] Finestra in primo piano impossibile

    Dunque, lancio un programmino ridotto ad icona. Il programma è composto da 8 forms, quello principale + 7 finestre che lancio alla bisogna.

    Una volta avviato, parte una Sub Timer verifica continuamente la GetForegroundWindow().

    Ebbene, non me lo spiego proprio ma al lancio del programma l' Handle riilevato dalla GetForegroundWindow() è quello di uno dei Forms del programma, finestra che assolutamente non è lanciata. L' Handle della foreground rimane tale finché (ovviamente) non clicco da una qualsiasi parte.

    Domanda: come è possibile che GetForegroundWindow() rilevi l' Handle di una finestra che non è lanciata??? Potrei capire al limite quello del Form principale (anche se ridotto ad icona) ma cosa c' entra l' ultimo dei Forms del programma, assolutamente non lanciato??

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Bisogna valutare direttamente il codice in esecuzione per capire il perché ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Il codice è semplicissimo, peché ho tolto tutti gli If all' interno della Sub Timer per test.

    Ho tolto tutto anche alla frmMain, tranne alla fine della Sub dove viene attivato il Timer:

    Timer1.Start

    -------------

    Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed

    Dim Hwnd as IntPtr = GetForegroundWindow()

    Debug.Print(Hwnd.ToString & " - " & frmF6.Handle.ToString)

    End Sub

    Hwnd = frmF6, che è regolarmente chiusa, anche perché ho tolto praticamente tutto il codice.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E se scrivi

    Debug.Print(Hwnd.ToString & " - " & frmF5.Handle.ToString)

    è comunque uguale ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Debug.Print("Foreground: " & GetForegroundWindow().ToString & " -frmMain: " & Me.Handle.ToString & " -F6: " & frmF6.Handle.ToString & " -F5: " & frmF5.Handle.ToString)

    Risultato:

    Foreground: 262974 -frmMain: 197558 -F6: 262974 -F5: 197430

    Chiamo l' esorciccio??? Ma perché proprio 'sta F6??

    Comunque il tempo di creare una immagine jpg ed a proposito di F6 pongo un' altra domanda fuori dal mondo....

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No scusa ... fai la prova che ti ho chiesto ... non inserire la F6 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Tolta la F6

    Foreground: 853316 -frmMain: 263622 -F5: 460112

    Tolgo anche la FrmMain:

    Foreground: 525586 -F5: 460056

    Ce l' ha proprio con F6

    Ma fosse F4, F5 o F6... come è che GetForegroundWindow() prende l' Handle di un forum che non è lanciato?? Non esiste.........

    .

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sei sicuro di non utilizzare la F6 in qualsiasi modo in qualsiasi altra parte del programma in avvio?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Come ho detto, alla fine ho tolto TUTTO ed il programma si riduce al lancio di Timer1 nella main ed alla cattura del GetForegroundWindow() nel Timer.

    Ma alla fine tutta la questione non è essenziale, anche se il fatto che cerchi sempre F6 un minimo di problemi me li dà, ma è principalmente una curiosità.

    Invece l' altra domanda (il form di diverse altezze è sempre il maledetto F6) è più pratica, perché ho bisogno che sia sempre di 25 pixels.

    Hai una idea dell' arcano???

    Ty della disponibilità

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Mah ... se vuoi mi fai avere il progetto zippato per capire la questione della F6 (che è alquanto curiosa).

    Per l'altro problema, non ti saprei dire con certezza, ma considera che l'aspetto grafico varia con l'applicazione di diversi temi/font ... è possibile che venga fatta una scalatura e che i tuoi x pixel diventino y ... Ma sono solo sospetti, nulla di certo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.