Discussione Domanda Eseguire comandi all'avvio

zouth

Utente Silver
16 Dicembre 2020
82
36
4
61
Ciao a tutti,
Ho appena creato un programma in C++ che per funzionare ha bisogno di dei parametri passabili solo da riga di comando.
Come faccio a far eseguire un comando all'avvio senza che venga mostrato il prompt dei comandi?
 
Ultima modifica:
Esegui questo comando da cmd:
Codice:
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /f /v NomeProgramma /t REG_SZ /d "\"C:\percorso\programma.exe\" -parametro1 -parametro2"

Se vuoi farlo da C++ puoi invocare reg come sopra usando CreateProcess oppure usando le API del registro come RegSetValueEx.

In questo modo dopo il login dell'utente in cui esegui il comando partirà in automatico programma.exe e verranno passati quei parametri.

PS: rileggendo mi è parso di capire che invece di passare da parametro tu voglia scrivere in stdin, beh in questo caso non puoi, o lo cambi o se non puoi ti serve mettere all'avvio un altro programma in C++ che scrive in stdin. Posso chiederti perché ti serve se è questo il caso?

Per "nascondere il prompt" dovresti compilare come Windows Application, non come Console Application. Se proprio vuoi farlo come console potresti trovare la finestra con FindWindow e nasconderla ma si vedrebbe per un istante è non è buona pratica.
 
Esegui questo comando da cmd:
Codice:
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /f /v NomeProgramma /t REG_SZ /d "\"C:\percorso\programma.exe\" -parametro1 -parametro2"

Se vuoi farlo da C++ puoi invocare reg come sopra usando CreateProcess oppure usando le API del registro come RegSetValueEx.

In questo modo dopo il login dell'utente in cui esegui il comando partirà in automatico programma.exe e verranno passati quei parametri.

PS: rileggendo mi è parso di capire che invece di passare da parametro tu voglia scrivere in stdin, beh in questo caso non puoi, o lo cambi o se non puoi ti serve mettere all'avvio un altro programma in C++ che scrive in stdin. Posso chiederti perché ti serve se è questo il caso?

Per "nascondere il prompt" dovresti compilare come Windows Application, non come Console Application. Se proprio vuoi farlo come console potresti trovare la finestra con FindWindow e nasconderla ma si vedrebbe per un istante è non è buona pratica.
Il programma in questione e' un programma che permette di alzare e abbassare il volume tramite la rotella del mouse e devono essere passati quattro numeri interi.

Avevo gia' aperto una discussione riguardo questo programma dove hai risposto solo tu