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

    [vb] AppActivate, non basta...

    Ciao a tutti,

    sto costruendo un robot che, su macchina win xp, deve selezionarmi delle finestre.
    Come sapete con la funzione in oggetto è possibile selezionare una finestra conoscendo il titolo della finestra.
    Purtroppo non basta, alcuni programmi aprono più finestre con lo stesso titolo... se ne seleziono una ed eseguo un azione... come faccio poi a selezionare l'altra?
    una soluzione è chiudere la finestra in cui ho eseguito l'azione in modo da avere la possibilità di riutilizzare appactivate... ma io non le voglio chiudere le finestre ghghgh.

    senza dilungarmi in altri esempi che complicherebbero la spiegazione (come vedete già non mi so spiegare) passo a domande specifiche:
    1) esistono altre funzioni che mi potrebbero aiutare nell'intercettazione di finestre?
    2) ho notato che ad esempio il nome dell'applicazione che si vede dal task manager (pannello applicazioni) potrebbe aiutarmi a capire quali finestre sono aperte... ma si può recuperare in vb l'elenco delle applicazioni in esecuzione del task manager?

    grazie dell'attenzione, un abbraccio
    reddy
    entra su ciaopeople chat e tieniti informato con
    news - se ti interessa il poker di
    4a puoi guarda alcuni video su
    Poker Libero Video

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In effetti non ti sei spiegato a sufficienza. In particolare, per rispondere, bisognerebbe capire bene lo scopo del tuo programma (un robot? in che senso? per fare cosa?).

    In via generale, puoi ricercare le finestre con la API FindWindow ma un criterio ci deve pur essere (il nome della classe della finestra o il titolo ...) ...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ho corretto il titolo, inserito il linguaggio e la versione e spostato la discussione.
    Attenzione al Regolamento quando si aprono nuove discussioni.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4

    Re: [vb] AppActivate, non basta...

    Originariamente inviato da IlGrandeReddy
    Ciao a tutti,

    sto costruendo un robot che, su macchina win xp, deve selezionarmi delle finestre.
    Come sapete con la funzione in oggetto è possibile selezionare una finestra conoscendo il titolo della finestra.
    Purtroppo non basta, alcuni programmi aprono più finestre con lo stesso titolo... se ne seleziono una ed eseguo un azione... come faccio poi a selezionare l'altra?
    una soluzione è chiudere la finestra in cui ho eseguito l'azione in modo da avere la possibilità di riutilizzare appactivate... ma io non le voglio chiudere le finestre ghghgh.

    senza dilungarmi in altri esempi che complicherebbero la spiegazione (come vedete già non mi so spiegare) passo a domande specifiche:
    1) esistono altre funzioni che mi potrebbero aiutare nell'intercettazione di finestre?
    2) ho notato che ad esempio il nome dell'applicazione che si vede dal task manager (pannello applicazioni) potrebbe aiutarmi a capire quali finestre sono aperte... ma si può recuperare in vb l'elenco delle applicazioni in esecuzione del task manager?

    grazie dell'attenzione, un abbraccio
    reddy
    Per ottenere l'elenco di tutte le finestre visibili sul Desktop potresti utilizzare la funzione API WindowFromPoint della libreria di sistema "user32"...

    Dovresti fare una scansione del desktop nelle coordinate x e y, chiamando la funzione sopra indicata, che restituisce l'handle della singola finestra (che e' univoco, anche se piu' finestre hanno lo stesso nome)...
    IceCube_HT (VB6 fan Club)

  5. #5
    Credo che una soluzione più comoda ed efficiente sia quella di usare la API EnumWindows.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.