Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [vb6] Problemi con Sendkeys

    Ciao a tutti, volevo un'informazione. Come si fa a dire al programma tramite l'struzione Sendkeys di copiare un testo???

    Aspetto notizie, ciao

  2. #2
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Utilizzi vb6 o vb .net?

    Con vb.net c'è la procedura fatta apposta per copiare negli appunti..
    Vuoi fare tipo copia e incolla, vero?

    In vb6 ci sarebbe da lavorare su un po'..

  3. #3
    Purtroppo utilizzo vb6 potresti cmq spiegarmelo??

    Ti ringrazio in anticipo, ciao

  4. #4
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Una cosa..
    con vb6 vado a fare delle prove.. ma dovrei sapere da che programma prelevi il testo da copiare.. da blocco note, word? o altro?

  5. #5
    Il testo lo prelevo da un Textbox di un'altro programma. Credo che l'unico modo sia quello di copiare con Sendkeys ma non lo so.

    Io ho provato a scrivere:
    ...
    SendKeys "{ctrl} + {C}"
    ...

    ma sembra non funzionare dice che non riconosce ctrl.

    Cmq devo prenderlo da un textbox.

  6. #6

    Aiuto...

    ...qualcuno può darmi una soluzione stò provando tutti i nomi che possono essere attribuiti a ctrl ma non risco a farlo funzionare qualcuno mi aiuti

  7. #7
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Fatto!
    Ti avrei fatto un esempietto.. se vuoi te lo posto (in tal caso dammi il tuo indirizzo email!)

    Comunque per ctrl devi usare ^!
    Poi cosa fondamentale:
    se devi far copia e incolla da qualche parte, ricordati di selezionare il testo! Quindi:

    codice:
    Public ReturnValue
    
    Private Sub Form_Load()
        ReturnValue = Shell("ProgrammaDaCuiPrelevareIltesto.exe",1)
    End Sub
    
    Private Sub Command1_click()
        AppActivate ReturnValue
        SendKeys "{HOME}", True
        SendKeys "{HOME}", True
        SendKeys "+{END}", True
        SendKeys "^{c}", True
        Text1.SetFocus
        Text1.text=""
        SendKeys "^{v}"
    end Sub
    Per una breve spiegazione, devi lanciare l'applicazione, poi sposti il fuoco sul testo da prelevare vai all'inizio del testo (HOME) e poi lo selezioni tutto. Fai control c per copiarlo, torni sul tuo text1 e incolli con control v.

    Prova!

    Ciao
    Andrea

  8. #8

    Grazieee

    Ti ringrazio davvero molto, e chi andava a immaginare che il ctrl si scriveva ^. Posso sapere dove lo hai scoperto .

    Ti ringrazio ancora a presto, ciao

  9. #9
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Nell'help.
    Ci sono i vari tasti con le varie spiegazioni..
    Io lo conoscevo già perchè ho usato diverse volte sendkeys..

    Ciao
    Andrea

  10. #10
    Scusa ma è sorto un altro piccolo problema. Si può fare in modo che le istruzioni partano dopo un pò di tempo.

    Ora ti piego che cosa devo fare così mi puoi aiutare meglio. Ho bisogno di un elenco di tutti i vocaboli italiani(senza la descrizione) e siccome non riesco a trovarlo da nessuna parte ho pensato di "fregarlo" da un dizionario multimediale. Il database è naturalmente bloccato da una password quindi l'unico modo è quello di agire direttamente sul programma copiando in un database le singole parole.
    Questo si può fare eseguendo un ciclo di operazioni da tastiera con l'istruzione sendkeys.

    Il codice che ho scritto è il seguente dimmi se ho sbagliato qualche cosa.
    _________________________

    ...
    Private sub Form_load()
    ReturnValue = Shell("C:\Programmi\Garzanti Linguistica\Hazon Clic\Hazon.exe", 1)

    Private Sub Command2_click()
    Dim i As Integer
    For i = 1 to N
    Data1.recordset.AddNew 'aggiungo un record al database
    SendKeys "{HOME}", True 'seleziono
    SendKeys "{HOME}", True 'la
    SendKeys "+{END}", True 'parola
    SendKeys "^{c}", True 'copio la parola
    Text1.SetFocus
    Text1.Text = ""
    SendKeys "^{v}" 'incollo
    Data1.Recordset.Update 'salvo nel DB
    Form1.windowstate = 1
    ' siccome il programma è formato da un textbox (che contiene la parole) una listbox (elenco di tutte le parole) e un textbox con la descrizione per poter campiare parole devo eseguire questo procedimento
    SendKeys "{tab}" 'mi muovo dal primo textbox alla listbox
    SendKeys "{Down}" 'cambio parola
    SendKeys "{tab}" 'mi muovo al textbox della descrizion
    SendKeys "{tab}" ' e infine di nuovo al primo textbox
    Form1.WindowState = 0 'la form torna attiva
    Next
    ...
    _______

    Questo programma non funziona sempre. Gira ma non in modo corretto. Dimmi c'è qualche cosa che non va???
    Io non ci capisco più niente, maledizione

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.