Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119

    [delphi] programma in background

    vorrei fare un programma che stia in background :gren: e si attivi alla pressione di un tasto
    si può (con delphi) ???

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Se il programma gira in background, allora è già attivo.

    Scherzi a parte, ho capito cosa intendi. Si tratta di una cosa abbastanza particolare per la quale ti serve un hook di tastiera, in poche parole una specie di filtro che legga i pulsanti premuti a livello globale nel sistema (la tua applicazione non può riceverli se non esiste alcuna form visibile); quando intercetti una particolare combinazione di tasti, la form desiderata viene mostrata sullo schermo.

    In genere, questo meccanismo si implementa con una DLL, facilmente "caricabile" dal sistema operativo, che provvede ad installare l'hook, il filtro, e che dovrà poi attivare un programma specifico.

    Trovi qualche componente sviluppato ad hoc qui, alcuni freeware e con sorgente.

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

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

  3. #3
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    Se il programma gira in background, allora è già attivo.
    già... :gren:

    GRAZIE!
    ho scaricato 'AM Softwares AMHotKeys v.1.1', ma cosa devo farne? includere con uses i .pas?

  4. #4
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    Originariamente inviato da alka
    (la tua applicazione non può riceverli se non esiste alcuna form visibile)
    nel senso che non posso farla rimanere inattiva (o "invisibile") finchè non si preme un tasto? io ho un paio di programmi che lo fanno

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Segui le istruzioni che sono contenute nel pacchetto, se ci sono.

    Generalmente, i componenti vengono distribuiti come package da installare nell'IDE di Delphi oppure come componenti separati (file PAS) che devono essere aggiunti tramite la voce di menu [Component|Install Component].

    I componenti separati (.pas) sono solitamente seguiti da file .dcr che contengono l'icona da visualizzare nella Palette di Delphi.

    Una volta installati nella Palette, i componenti sono trascinabili sui form per poter essere adoperati come avviene con i componenti standard di Delphi.

    Se ci sono demo nel pacchetto, carica il progetto e osserva come funzionano prima di utilizzare il componente.

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

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

  6. #6
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    Originariamente inviato da ME!
    non posso farla rimanere inattiva (o "invisibile") finchè non si preme un tasto? io ho un paio di programmi che lo fanno

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da web ces
    nel senso che non posso farla rimanere inattiva (o "invisibile") finchè non si preme un tasto? io ho un paio di programmi che lo fanno
    Quando le applicazioni si sviluppano, occorre vederle sotto il punto di vista del programmatore e non dell'utilizzatore.

    Con l'impossibilità di ricevere messaggi senza form attive mi riferivo al fatto che nessuno degli eventi standard di gestione dei tasti (OnKeyPress, OnKeyDown, OnKeyUp...) viene generato se nessuna form è visualizzata e resa attiva sullo schermo.

    L'unico modo possibile è quello di usare un hook come ti ho descritto, per il quale hai trovato già dei componenti, in grado di installare un filtro che intercetta tasti a livello di sistema; quando l'applicazione, attraverso eventi resi disponibili da quel componente, identifica una combinazione di tasti specifica, allora puoi visualizzare la form desiderata nel modo convenzionale.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

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