Scrivere sul cmd con c++??

di il
5 risposte

Scrivere sul cmd con c++??

Salve a tutti,
ho un problema in c++, ho bisogno di una funzione (oppure qualunque cosa lo permetta di fare) che sia in grado di scrivere su un altro programma... Mi spiego meglio: se, ad esempio, io ho un programma in c++ che mi apre il cmd di Windows, oppure anche Google chrome, avrei bisogno che una volta aperti questi programmi io ci possa scrivere del testo sopra, tipo scrivere nella barra di ricerca di Google e poi dare anche l'invio, oppure scrivere sul cmd e dare l'invio. Spero di essermi spiegato, ringrazio in anticipo chi mi aiuterà a risolvere questo mio dilemma .

ps. Lo so che per lanciare comandi del cmd è sufficiente usare:
system("comando");
Ma io ho necessità di aprire un cmd a parte e poterci scrivere.

5 Risposte

  • Re: Scrivere sul cmd con c++??

    Non capisco ... se esegui un programma c++ di tipo console, puoi scrivere con una banale printf ...

    Spiegati meglio ... spiega anche esattamente dove vuoi applicare quello che chiedi ...
  • Re: Scrivere sul cmd con c++??

    Non intendo poter stampare una frase nel programma da me fatto tramite un printf o un cout.
    Intendo che se ad esempio io ho aperto un editor di pdf, il mio programma deve essere in grado di poter scrivere sull'editor di pdf.
    Cioè invece di essere io a dover digitare con la tastiera, lo fa il programma per me (ovviamente le frasi che dovrà scrivere il programma saranno già definite all'interno di esso tramite degli array di char oppure delle stringhe).
    Così è più chiaro?
  • Re: Scrivere sul cmd con c++??

    Se sei in Windows puoi provare con keybd_event(). Non l'ho mai usata, quindi non sono certo che faccia al caso tuo ma... cos'hai da perdere?
    /*==============================================================================
    The keybd_event function synthesizes a keystroke. The system can use such a
    synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The
    keyboard driver's interrupt handler calls the keybd_event function. 
    
    VOID keybd_event(
        BYTE bVk,	         // virtual-key code
        BYTE bScan,	       // hardware scan code
        DWORD dwFlags,	    // flags specifying various function options
        DWORD dwExtraInfo 	// additional data associated with keystroke
    );	
     
    
    Parameters
    
      bVk
        Specifies a virtual-key code. The code must be a value in the range 1 to 254
    
      bScan
        Specifies a hardware scan code for the key
    
      dwFlags
        A set of flag bits that specify various aspects of function operation. An
        application can use any combination of the following predefined constant
        values to set the flags:
    
        Value                   Meaning
        KEYEVENTF_EXTENDEDKEY   If specified, the scan code was preceded by a prefix
                                byte having the value 0xE0 (224).
        KEYEVENTF_KEYUP         If specified, the key is being released. If not
                                specified, the key is being depressed.
     
    
      dwExtraInfo
        Specifies an additional 32-bit value associated with the key stroke
    
     
    Return Values
    
    This function has no return value. 
    
    Remarks
    
    Although keybd_event passes an OEM-dependent hardware scan code to Windows,
    applications should not use the scan code. Windows converts scan codes to
    virtual-key codes internally and clears the up/down bit in the scan code before
    passing it to applications.
    
    An application can simulate a press of the PRINTSCREEN key in order to obtain a
    screen snapshot and save it to the Windows clipboard. To do this, call
    keybd_event with the bVk parameter set to VK_SNAPSHOT, and the bScan parameter
    set to 0 for a snapshot of the full screen or set bScan to 1 for a snapshot of
    the active window.
    ==============================================================================*/
  • Re: Scrivere sul cmd con c++??

    AldoBaldo ha scritto:


    Se sei in Windows puoi provare con keybd_event(). Non l'ho mai usata, quindi non sono certo che faccia al caso tuo ma... cos'hai da perdere?
    /*==============================================================================
    The keybd_event function synthesizes a keystroke. The system can use such a
    synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The
    keyboard driver's interrupt handler calls the keybd_event function. 
    
    VOID keybd_event(
        BYTE bVk,	         // virtual-key code
        BYTE bScan,	       // hardware scan code
        DWORD dwFlags,	    // flags specifying various function options
        DWORD dwExtraInfo 	// additional data associated with keystroke
    );	
     
    
    Parameters
    
      bVk
        Specifies a virtual-key code. The code must be a value in the range 1 to 254
    
      bScan
        Specifies a hardware scan code for the key
    
      dwFlags
        A set of flag bits that specify various aspects of function operation. An
        application can use any combination of the following predefined constant
        values to set the flags:
    
        Value                   Meaning
        KEYEVENTF_EXTENDEDKEY   If specified, the scan code was preceded by a prefix
                                byte having the value 0xE0 (224).
        KEYEVENTF_KEYUP         If specified, the key is being released. If not
                                specified, the key is being depressed.
     
    
      dwExtraInfo
        Specifies an additional 32-bit value associated with the key stroke
    
     
    Return Values
    
    This function has no return value. 
    
    Remarks
    
    Although keybd_event passes an OEM-dependent hardware scan code to Windows,
    applications should not use the scan code. Windows converts scan codes to
    virtual-key codes internally and clears the up/down bit in the scan code before
    passing it to applications.
    
    An application can simulate a press of the PRINTSCREEN key in order to obtain a
    screen snapshot and save it to the Windows clipboard. To do this, call
    keybd_event with the bVk parameter set to VK_SNAPSHOT, and the bScan parameter
    set to 0 for a snapshot of the full screen or set bScan to 1 for a snapshot of
    the active window.
    ==============================================================================*/

    Grazie mille, lo provo e ti faccio sapere
  • Re: Scrivere sul cmd con c++??

    Autoit
Devi accedere o registrarti per scrivere nel forum
5 risposte