Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di gatto012
    Registrato dal
    Sep 2002
    Messaggi
    1,726
    salve, alla fine ho tolto il dente dalla radice ed ho installato Visual Studio 2010

    Adesso la funzione SendKeys si ottiene con SendKeys.Send("XYZ") e non da più rogne

    Non riesco a fare una cosa però.
    Mettiamo di avere una textbox nel mio form dove voglio scrivere numeri e lettere con la pressione di pulsanti invece che dall' inserimento da tastiera ( un po' come la calcolatrice di windows o la tastiera virtuale che si usano col mouse )
    Quindi seleziono la textbox col cursore e poi premo, per esempio, un tasto che mi senda un numero , per esempio l' 1

    codice:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    
         SendKeys.Send("1")
    
    End Sub
    Però nella textbox non mi scrive nulla...
    Penso che sia dovuto al fatto che premendo il pulsante perdo la selezione dela campo di testo...

    Spero di essere stato chiaro o che almeno abbiate abbastanza intuito da comprendero il mio scarso linguaggio tecnico

    In sostanza, come devo fare per fare dei send di caratteri numerici o lettere tramite la pressione di pulsanti sul mio programmino in modo che tali caratteri vengano rappresentati in altre finestre o applicazioni?

  2. #2
    Originariamente inviato da gatto012
    salve, alla fine ho tolto il dente dalla radice ed ho installato Visual Studio 2010

    Adesso la funzione SendKeys si ottiene con SendKeys.Send("XYZ") e non da più rogne

    Non riesco a fare una cosa però.
    Mettiamo di avere una textbox nel mio form dove voglio scrivere numeri e lettere con la pressione di pulsanti invece che dall' inserimento da tastiera ( un po' come la calcolatrice di windows o la tastiera virtuale che si usano col mouse )
    Quindi seleziono la textbox col cursore e poi premo, per esempio, un tasto che mi senda un numero , per esempio l' 1

    codice:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    
         SendKeys.Send("1")
    
    End Sub
    Però nella textbox non mi scrive nulla...
    Penso che sia dovuto al fatto che premendo il pulsante perdo la selezione dela campo di testo...

    Spero di essere stato chiaro o che almeno abbiate abbastanza intuito da comprendero il mio scarso linguaggio tecnico

    In sostanza, come devo fare per fare dei send di caratteri numerici o lettere tramite la pressione di pulsanti sul mio programmino in modo che tali caratteri vengano rappresentati in altre finestre o applicazioni?
    scusa ma all'interno del button1_click... non puoi scrivere :

    Text1.text = "1" ??
    Mandami una E-Mail
    Ciuz xxx80
    "WhatYouSeeIsWhatYouGet"

    bzzz,bzzz,bzzz

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315

    Moderazione

    Hai cambiato linguaggio di riferimento e tipologia di problema: in questi casi si apre una nuova discussione.

    Sposto tutto su una discussione nuova.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di gatto012
    Registrato dal
    Sep 2002
    Messaggi
    1,726

    Re: Moderazione

    Originariamente inviato da LeleFT
    Hai cambiato linguaggio di riferimento e tipologia di problema: in questi casi si apre una nuova discussione.

    Sposto tutto su una discussione nuova.


    Ciao.
    Grazie leleFT e scusa per disguido.

    Rispondo a Timbro:

    Beh magari fosse così semplice...
    Il mio obiettivo però non è quello di intervenire sulla TextBox e modificarla, ma di sendare caratteri alfanumerici su campi di testo esterni alla mia applicazioni e su altre finestre...

    L' esempio della tastiera virtuale fatto prima rende molto l' idea...

    In principio ho provato con VB6, ma su vista il comando SendKeys difettava ( è un errore cronico dovuto alla mancanza di supporto del VB6 sui sistemi operativi più recenti )

    Tale problema è stato risolto passando al più recente VB2010, adesso però ho bisogno di capire in che modo indirizzare il mio SendKeys su finestre di programmi terzi...

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Re: Moderazione

    Originariamente inviato da gatto012
    Rispondo a Timbro:

    Beh magari fosse così semplice...
    Il mio obiettivo però non è quello di intervenire sulla TextBox e modificarla, ma di sendare caratteri alfanumerici su campi di testo esterni alla mia applicazioni e su altre finestre...
    Guarda che tu hai scritto:
    Mettiamo di avere una textbox nel mio form dove voglio scrivere numeri e lettere con la pressione di pulsanti invece che dall' inserimento da tastiera ( un po' come la calcolatrice di windows o la tastiera virtuale che si usano col mouse )
    Quindi Timbro ti ha risposto correttamente.
    Magari la prossima volta spiegati meglio, e prima.

    ...sendare... ???
    Sarebbe auspicabile parlare italiano... piuttosto che storpiare le parole in questa maniera.

    [QUOTE]Originariamente inviato da gatto012
    L' esempio della tastiera virtuale fatto prima rende molto l' idea...]
    Non c'entra niente, invece.

    Originariamente inviato da gatto012
    In principio ho provato con VB6, ma su vista il comando SendKeys difettava ( è un errore cronico dovuto alla mancanza di supporto del VB6 sui sistemi operativi più recenti )
    Scusa, ma mi sembri poco documentato.
    La tua affermazione è assolutamente falsa. Non so dove l'hai letto me non è così.
    Può dipendere da diversi fattori, non ultimo: dal tipo di utente, dalle impostazioni dell'UAC, dai permessi che ha l'utente.
    Se l'utente è amministratore, il problema non si pone (cioè non esiste).
    Io ho programmi in VB6 che usano SendKeys a manetta e che girano su Vista e Seven e non hanno alcun problema (uno installato anche oggi su un Seven 64bit).
    Comunque nel link che ti ho inviato, spiega e risolve il problema alla radice.

    Per la cronaca, VB6 è supportato completamente anche in Windows 7, così come lo era in Vista. Quelle che sono cambiate sono le policy relative alla sicurezza, che sono ora più stringenti e meno permissive.
    Ma questo vale PER OGNI LINGUAGGIO, perchè NON è dipeso dal linguaggio, ma il sistema operativo a cui bisogna adeguarsi.

    Ti consiglio di documentarti meglio, prima di fare affermazioni non corrispondenti al vero.
    Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008 and Windows 7
    http://msdn.microsoft.com/en-us/vbru...08.aspx?ppud=4


    Originariamente inviato da gatto012
    Tale problema è stato risolto passando al più recente VB2010
    C'era bisogno di cambiare linguaggio solo per questo banale problema?

    Originariamente inviato da gatto012
    , adesso però ho bisogno di capire in che modo indirizzare il mio SendKeys su finestre di programmi terzi...
    Come è ben noto (eventualmente consultare la guida sarebbe utile) SendKeys() invia la sequenza SEMPRE e SOLO al controllo correntemente attivo.
    Se l'applicazione da monitorare è tua, sai già qual'è il controllo attivo.
    La cosa è molto diversa ed più complessa se lo vuoi fare in una applicazione esterna, inoltre bisogna avere qualche informazione sullo scenario (contesto) perchè possono esservi più strade per raggiungere lo scopo.

    Un paio di esempi:

    http://www.codeguru.com/vb/gen/vb_sy...9/SendKeys.htm
    http://www.devx.com/dotnet/Article/7914/0/page/5

    ma in rete se ne trovano sicuramente altri.


  6. #6
    Utente di HTML.it L'avatar di gatto012
    Registrato dal
    Sep 2002
    Messaggi
    1,726

    Re: Re: Re: Moderazione

    Originariamente inviato da gibra
    Guarda che tu hai scritto:

    Quindi Timbro ti ha risposto correttamente.
    Magari la prossima volta spiegati meglio, e prima.

    ...sendare... ???
    Sarebbe auspicabile parlare italiano... piuttosto che storpiare le parole in questa maniera.


    Scusa, ma mi sembri poco documentato.
    La tua affermazione è assolutamente falsa. Non so dove l'hai letto me non è così.
    Può dipendere da diversi fattori, non ultimo: dal tipo di utente, dalle impostazioni dell'UAC, dai permessi che ha l'utente.
    Se l'utente è amministratore, il problema non si pone (cioè non esiste).
    Io ho programmi in VB6 che usano SendKeys a manetta e che girano su Vista e Seven e non hanno alcun problema (uno installato anche oggi su un Seven 64bit).
    Comunque nel link che ti ho inviato, spiega e risolve il problema alla radice.

    Per la cronaca, VB6 è supportato completamente anche in Windows 7, così come lo era in Vista. Quelle che sono cambiate sono le policy relative alla sicurezza, che sono ora più stringenti e meno permissive.
    Ma questo vale PER OGNI LINGUAGGIO, perchè NON è dipeso dal linguaggio, ma il sistema operativo a cui bisogna adeguarsi.

    Ti consiglio di documentarti meglio, prima di fare affermazioni non corrispondenti al vero.
    Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008 and Windows 7
    http://msdn.microsoft.com/en-us/vbru...08.aspx?ppud=4



    C'era bisogno di cambiare linguaggio solo per questo banale problema?


    Come è ben noto (eventualmente consultare la guida sarebbe utile) SendKeys() invia la sequenza SEMPRE e SOLO al controllo correntemente attivo.
    Se l'applicazione da monitorare è tua, sai già qual'è il controllo attivo.
    La cosa è molto diversa ed più complessa se lo vuoi fare in una applicazione esterna, inoltre bisogna avere qualche informazione sullo scenario (contesto) perchè possono esservi più strade per raggiungere lo scopo.

    Un paio di esempi:

    http://www.codeguru.com/vb/gen/vb_sy...9/SendKeys.htm
    http://www.devx.com/dotnet/Article/7914/0/page/5

    ma in rete se ne trovano sicuramente altri.

    scusa ma c' è bisogno di tutta questa polemica?

    mi pare che le tue note anche se di aiuto non mi stanno risolvendo il problema

    hai provato quel modulo prima di indicarmelo? scommetto che ti sei limitato ad una ricerchetta su google, che trall' altro avevo giò fatto e non avevo trovato soluzioni, altrimenti non avrei chiesto aiuto a voi
    Se lo avresti provato ti saresti accorto che non risolve il problema... e ti saresti risparmiato questo tuo intervento.

    Come ho già indicato non sono un esperto e non conosco il linguaggio tecnico del settore, quindi prima di ridicolizzarmi per un termine errato potresti indicarmi quello corretto ( ed almeno il tuo intervento sarebbe stato utile )

    Per quanto riguarda l' accusa di diffondere false informazioni ti rispondo facendo nuovamente presente che non sono un esperto e mi attengo a quello che ho letto, cioè in più di una fonte inglese viene fatto presente che il supporto a VB6 è oramai interrotto da anni e sono mancate patch o aggiornamenti che rendessero l' ambiente del VB6 completamente compatibile sui nuovi sistemi operativi, se ritrovo queste fonti le pubblico

    Riassumendo, puoi farmi il punto della situazione per cercare di raggiungere il mio obiettivo oppure portare qualcosa di costruttivo? altrimenti puoi anche evitare di polemizzare e rispondere, per le cose messe in evidanza date ci sono già i moderatori che possono farle notare non penso che se ho sbagliato qualcosa nella mia segnalazione spetti a te penalizzarmi, o forse ti vuoi sostituire all' operato degli admin?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Scusa gatto012 ma sei poco chiaro.

    Mettiamo di avere una textbox nel mio form dove voglio scrivere numeri e lettere con la pressione di pulsanti invece che dall' inserimento da tastiera ( un po' come la calcolatrice di windows o la tastiera virtuale che si usano col mouse )
    La calcolatrice di windows con i pulsanti fa una cosa, ovvero all'intreno dell'applicazione invia dei numeri in una textBox, la tastiera virtuale fa tutt'altra cosa ovvero manda dei caratteri all'interno di TextBox di altre applicazioni, capisci che sono due cose diverse.

    Per cui, se è come penso, vuoi mandare caratteri in texBox di altre applicazioni devi prima attivare l'applicazione su cui vuoi intervenire e poi dare il focus sul controllo e mandare i caratteri con il SendKey.
    Sbagliare è umano, perseverare è diabolico.

  8. #8
    Utente di HTML.it L'avatar di gatto012
    Registrato dal
    Sep 2002
    Messaggi
    1,726
    Originariamente inviato da Pirelli72
    Scusa gatto012 ma sei poco chiaro.


    Per cui, se è come penso, vuoi mandare caratteri in texBox di altre applicazioni devi prima attivare l'applicazione su cui vuoi intervenire e poi dare il focus sul controllo e mandare i caratteri con il SendKey.
    esatto

    forse sono stato poco chiaro è vero ma non essendo sicuro sul percorso da intraprendere per risolvere la cosa ho poco chiaro anche io cosa serve farvi presente ...

    comuqneu penso che la tua scaletta sia corretta.

    A grandi linee ho compreso la sintassi del comando SendKeys su vb2010
    Guardando alcuni esempi di applicazione di tale comando effetivamente ho sempre notato l' uso di un comando con radice " focus " come hai fatto notare tu

    A cosa serve?

    In questo forum esterno per esempio pongono il mio stesso problema

    http://www.vbforums.com/showthread.php?t=528518

    Li fanno notare l' uso di un comando " FindWindows ", potete farmi un esempio di come devo utilizzarlo?

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    FindWindows non è un comando, ma una funzione API.

    Di esempi su FindWindows ce ne sono a vagonate sul web, basta fare una ricerca su Google.

    http://lmgtfy.com/?q=findwindows+vb.net


  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    8
    ecco io ho un problema simile sto facendo la calcolatrice con visual basic mi funziona tutto ma nn riesco a trovare un controllo che non mi faccia inserire da tastiera numeri (o lettere) nel textbox ma me li faccia solamente inserire con i pulsanti della calcolatrice ... help me ! grazie in anticipo

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.