Emettere segnale gtk : cursore
Emettere segnale gtk : cursore
Scusate una domanda, un po' rapida ed imprecisa : sto scrivendo un programmino in c con le gtk...ho la necessità di cliccare su certe coordinate che fornirei io ad un' ipotetica funzione atta proprio a questo.
Problema : come spiegarlo all' OS?
Possibile soluzione : basterebbe, in linea teorica, emettere il segnale "clicked" ?
Potreste rispondere : "provaci!" , ma ho la vaga impressione che non sia così semplice. Se almeno mi dite di sì, è giustificato lo studio dei segnali e la scrittura del codice ;D
P.S Il programma , almeno per ora, deve funzionare su Winzoz
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sto scrivendo un programmino per un' amico : si tratta sostanzialmente di un programma per il click automatico, dopo un certo tempo, su una certa finestra, diversa da quella del programmino in questione.
Per il momento sono riuscito a ricavare le coordinate della finestra che mi interessa : quando l'utente clicca sul tasto "scegli" la finestra principale del programmino va in icona ed al suo posto appare una finestra trasparente opaca popup fullscreen, attraverso la quale può cliccare impunemente su qualsiasi altra finestra presente sul desktop, anche sulle x, senza correre il rischio di chiudere alcun programma, dato che il segnale viene ricevuto solo dalla finestra trasparente.
Una volta ricevuto questo dato , dopo questo famoso lasso di tempo, devo portare il cursore sulle coordinate scelte e simulare il click. Riesco a spostare il cursore senza problemi, ma ancora non so come simulare il click.
Oltretutto mi trovo su winzoz, non so che inventarmi.
Per questo parlavo di OS : magari c'è qualche API già predisposta di winzoz per tale scopo (anceh se mi rendo conto che questo forum non sia il luogo più adatto dove chiedere Grin).
D'altra parte, volevo solo sapere se , a livello anche solo teorico, l'idea di lanciare un segnale "clicked" potrebbe funzionare a tale scopo.
Problema : come spiegarlo all' OS?
Possibile soluzione : basterebbe, in linea teorica, emettere il segnale "clicked" ?
Potreste rispondere : "provaci!" , ma ho la vaga impressione che non sia così semplice. Se almeno mi dite di sì, è giustificato lo studio dei segnali e la scrittura del codice ;D
P.S Il programma , almeno per ora, deve funzionare su Winzoz
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sto scrivendo un programmino per un' amico : si tratta sostanzialmente di un programma per il click automatico, dopo un certo tempo, su una certa finestra, diversa da quella del programmino in questione.
Per il momento sono riuscito a ricavare le coordinate della finestra che mi interessa : quando l'utente clicca sul tasto "scegli" la finestra principale del programmino va in icona ed al suo posto appare una finestra trasparente opaca popup fullscreen, attraverso la quale può cliccare impunemente su qualsiasi altra finestra presente sul desktop, anche sulle x, senza correre il rischio di chiudere alcun programma, dato che il segnale viene ricevuto solo dalla finestra trasparente.
Una volta ricevuto questo dato , dopo questo famoso lasso di tempo, devo portare il cursore sulle coordinate scelte e simulare il click. Riesco a spostare il cursore senza problemi, ma ancora non so come simulare il click.
Oltretutto mi trovo su winzoz, non so che inventarmi.
Per questo parlavo di OS : magari c'è qualche API già predisposta di winzoz per tale scopo (anceh se mi rendo conto che questo forum non sia il luogo più adatto dove chiedere Grin).
D'altra parte, volevo solo sapere se , a livello anche solo teorico, l'idea di lanciare un segnale "clicked" potrebbe funzionare a tale scopo.
Ultima modifica di dyrkpw il giovedì 3 febbraio 2011, 22:23, modificato 1 volta in totale.
io sono ciò che sono non solo per merito di ciò che siamo tutti:
Io non sono te, tu non sei me, ma entrambi siano noi.
Io non sono te, tu non sei me, ma entrambi siano noi.
Re: Emettere segnale gtk : cursore
up
io sono ciò che sono non solo per merito di ciò che siamo tutti:
Io non sono te, tu non sei me, ma entrambi siano noi.
Io non sono te, tu non sei me, ma entrambi siano noi.
Re: Emettere segnale gtk : cursore
ultimo tentativo :'(
io sono ciò che sono non solo per merito di ciò che siamo tutti:
Io non sono te, tu non sei me, ma entrambi siano noi.
Io non sono te, tu non sei me, ma entrambi siano noi.
Re: Emettere segnale gtk : cursore
Ciao, magari dai qualche dettaglio in più:dyrkpw ha scritto: Scusate una domanda, un po' rapida ed imprecisa : sto scrivendo un programmino in c con le gtk...ho la necessità di cliccare su certe coordinate che fornirei io ad un' ipotetica funzione atta proprio a questo.
esempio: c'è un widget che riceve il segnale? Oppure descrivi il funzionamento del programma (cosa deve fare), così che si possa pensare ad un'idea.
- crisixk
- Entusiasta Emergente

- Messaggi: 1402
- Iscrizione: domenica 17 maggio 2009, 1:15
- Località: Pontedera - Pisa
- Contatti:
Re: Emettere segnale gtk : cursore
ciao dyrkpwdyrkpw ha scritto: Scusate una domanda, un po' rapida ed imprecisa : sto scrivendo un programmino in c con le gtk...ho la necessità di cliccare su certe coordinate che fornirei io ad un' ipotetica funzione atta proprio a questo.
Problema : come spiegarlo all' OS?
Possibile soluzione : basterebbe, in linea teorica, emettere il segnale "clicked" ?
Potreste rispondere : "provaci!" , ma ho la vaga impressione che non sia così semplice. Se almeno mi dite di sì, è giustificato lo studio dei segnali e la scrittura del codice
P.S Il programma , almeno per ora, deve funzionare su Winzoz
utilizzando la libreria GTK+ .... (rotfl)Problema : come spiegarlo all' OS?
ecco un esempio pratico e funzionante:
Codice: Seleziona tutto
#include <gtk/gtk.h>
static
void ciao ( GtkWidget* widget,
GdkEventButton* event,
gpointer user_data)
{
g_print ( "Ciao!! %s! \n",(gchar*)user_data );
g_print (" widget: %p in position: %f - %f \n", widget, event->x, event->y );
return;
}
static
gboolean
delete_event ( GtkWidget* widget,
GdkEvent * event,
gpointer data )
{
gtk_main_quit ();
return FALSE;
}
int
main ( int argc,
char* argv[] )
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Esempio");
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
gtk_window_set_default_size ( GTK_WINDOW (window), 150, 150);
gtk_widget_set_events ( window, GDK_BUTTON_PRESS_MASK );
g_signal_connect ( window, "delete-event",
G_CALLBACK (delete_event), NULL );
g_signal_connect ( window, "button_press_event",
G_CALLBACK (ciao), (gpointer)"hola!" );
gtk_widget_show (window);
gtk_main ();
return 0;
}bye bye ... :P
Avvolte cio' che si crea per facilitarci la vita, ci libera dal ragionare ed insieme ci imprigiona in una sorta di limbo nel quale la coscienza è solo un limite, uno spreco di risorse e tempo. Cosa fa' la mia mano ?
Re: Emettere segnale gtk : cursore
Grazie crisixk
ma lo ammetto, mi sono spiegato male.
Sto scrivendo un programmino per un' amico : si tratta sostanzialmente di un programma per il click automatico, dopo un certo tempo, su una certa finestra, diversa da quella del programmino in questione.
Per il momento sono riuscito a ricavare le coordinate della finestra che mi interessa : quando l'utente clicca sul tasto "scegli" la finestra principale del programmino va in icona ed al suo posto appare una finestra trasparente opaca popup fullscreen, attraverso la quale può cliccare impunemente su qualsiasi altra finestra presente sul desktop, anche sulle x, senza correre il rischio di chiudere alcun programma, dato che il segnale viene ricevuto solo dalla finestra trasparente.
Una volta ricevuto questo dato , dopo questo famoso lasso di tempo, devo portare il cursore sulle coordinate scelte e simulare il click. Riesco a spostare il cursore senza problemi, ma ancora non so come simulare il click.
Oltretutto mi trovo su winzoz, non so che inventarmi.
Per questo parlavo di OS : magari c'è qualche API già predisposta di winzoz per tale scopo (anceh se mi rendo conto che questo forum non sia il luogo più adatto dove chiedere
).
D'altra parte, volevo solo sapere se , a livello anche solo teorico, l'idea di lanciare un segnale "clicked" potrebbe funzionare a tale scopo.
Sto scrivendo un programmino per un' amico : si tratta sostanzialmente di un programma per il click automatico, dopo un certo tempo, su una certa finestra, diversa da quella del programmino in questione.
Per il momento sono riuscito a ricavare le coordinate della finestra che mi interessa : quando l'utente clicca sul tasto "scegli" la finestra principale del programmino va in icona ed al suo posto appare una finestra trasparente opaca popup fullscreen, attraverso la quale può cliccare impunemente su qualsiasi altra finestra presente sul desktop, anche sulle x, senza correre il rischio di chiudere alcun programma, dato che il segnale viene ricevuto solo dalla finestra trasparente.
Una volta ricevuto questo dato , dopo questo famoso lasso di tempo, devo portare il cursore sulle coordinate scelte e simulare il click. Riesco a spostare il cursore senza problemi, ma ancora non so come simulare il click.
Oltretutto mi trovo su winzoz, non so che inventarmi.
Per questo parlavo di OS : magari c'è qualche API già predisposta di winzoz per tale scopo (anceh se mi rendo conto che questo forum non sia il luogo più adatto dove chiedere
D'altra parte, volevo solo sapere se , a livello anche solo teorico, l'idea di lanciare un segnale "clicked" potrebbe funzionare a tale scopo.
io sono ciò che sono non solo per merito di ciò che siamo tutti:
Io non sono te, tu non sei me, ma entrambi siano noi.
Io non sono te, tu non sei me, ma entrambi siano noi.
- crisixk
- Entusiasta Emergente

- Messaggi: 1402
- Iscrizione: domenica 17 maggio 2009, 1:15
- Località: Pontedera - Pisa
- Contatti:
Re: Emettere segnale gtk : cursore
non ne capisco il senso ....
non fai prima a ricavare attraverso il focus il processo relativo alla finestra cliccata e attraverso questo gestire la finestra?
Inoltre se vuoi una migliore funzionalità del tuo programma ti consiglio di lasciar perdere GTK+, a meno che tu voglia creare un software portabile ... se resti su win ti becchi solo i difetti di GTK+, difetti relativi ovviamente al suo rapporto con WIN.
:-\
Avvolte cio' che si crea per facilitarci la vita, ci libera dal ragionare ed insieme ci imprigiona in una sorta di limbo nel quale la coscienza è solo un limite, uno spreco di risorse e tempo. Cosa fa' la mia mano ?
Re: Emettere segnale gtk : cursore
Il fatto è che per ora conosco solo le gtk e questo programmino col tempo sta diventando un impiccio (ora come ora sono assorbito da arduino
).
cosa intendi con :
?
Per quanto riguarda il senso....esistono già programmi che svolgono la funzione di autoclick. Il punto è che al mio amico servono funzioni aggiuntive ( il padre gestisce un videonoleggio..la macchina però è vecchia e dopo il ritiro di una ventina di dvd si "sfasa" e i dvd restano bloccati all' interno della macchina per motivi prettamente meccanici. L'unica maniera, al momento, per risolvere il problema è cliccare ogni tot di tempo o di ritiri su "reset" : ovviamente la macchina è comandata da un pc xD) ed è per questo che sto reinventando la ruota.
cosa intendi con :
crisixk ha scritto:
non fai prima a ricavare attraverso il focus il processo relativo alla finestra cliccata e attraverso questo gestire la finestra?
?
Per quanto riguarda il senso....esistono già programmi che svolgono la funzione di autoclick. Il punto è che al mio amico servono funzioni aggiuntive ( il padre gestisce un videonoleggio..la macchina però è vecchia e dopo il ritiro di una ventina di dvd si "sfasa" e i dvd restano bloccati all' interno della macchina per motivi prettamente meccanici. L'unica maniera, al momento, per risolvere il problema è cliccare ogni tot di tempo o di ritiri su "reset" : ovviamente la macchina è comandata da un pc xD) ed è per questo che sto reinventando la ruota.
Ultima modifica di dyrkpw il venerdì 4 febbraio 2011, 14:50, modificato 1 volta in totale.
io sono ciò che sono non solo per merito di ciò che siamo tutti:
Io non sono te, tu non sei me, ma entrambi siano noi.
Io non sono te, tu non sei me, ma entrambi siano noi.
- crisixk
- Entusiasta Emergente

- Messaggi: 1402
- Iscrizione: domenica 17 maggio 2009, 1:15
- Località: Pontedera - Pisa
- Contatti:
Re: Emettere segnale gtk : cursore
...... con le poke informazioni che ho non mi vengono idee ....... se il problema è meccanico perché il click? Se hai un'azienda metti anche in conto di aggiustare i tuoi macchinari ogni tanto oppure cambiarli ... (ot)
vabbhe, buona fortuna .... (b2b)
vabbhe, buona fortuna .... (b2b)
Avvolte cio' che si crea per facilitarci la vita, ci libera dal ragionare ed insieme ci imprigiona in una sorta di limbo nel quale la coscienza è solo un limite, uno spreco di risorse e tempo. Cosa fa' la mia mano ?
-
camilla112
- Scoppiettante Seguace

- Messaggi: 267
- Iscrizione: mercoledì 13 gennaio 2010, 13:04
Re: Emettere segnale gtk : cursore
la butto la, poi magari ti leggi la documentazione della GTK: hai pensato di usare la funzione
oppure (sono anni che non programmo con le GTK)
?
Codice: Seleziona tutto
g_signal_emit_by_nameCodice: Seleziona tutto
g_signal_emitChi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti