Salve, avrei una piccola richiesta per chiunque sappia usare il C++ o il C# facendoli interagire con le finestre di Windows. (il mio c++ è strictly terminal limited )
So che non è bello chiedere la pappa pronta ma... beh... che dire... ci provo
Mi servirebbe un semplice programmino che apra una sessione del terminale in modalità amministratore. Ecco la parte complicata:
1) il terminale scelto dovrebbe essere senza bordi né barra in alto, (titolo e pulsanti riduci, schermo intero e chiudi).
2) deve avere larghezza fissa ad 1/6 della larghezza dello schermo in pixel ed altezza fissa all'altezza dello schermo in pixel. Non ridimensionabile a mano né tramite il comando apposito del terminale.
3) trovarsi "fuori" dallo schermo oltre il margine destro.
4) all'avvicinarsi del mouse ai 3/4 pixels più a destra, la finestra del terminale deve spostarsi verso sinistra di tutta la sua larghezza
(in pratica un'animazione che porta il prompt in posizione visibile al margine destro dello schermo)
5) uscire con il mouse dall'area del terminale lo farà ritornare verso destra fuori dallo schermo.
Obbiettivo: avere il terminale sempre aperto ed a portata di mano in modalità amministratore e bloccato al margine destro, che possa apparire/scomparire su richiesta
Opzionali (non necessarie ma sfizi aggiuntivi)
6) pulsante opzioni in alto a dx che si mostra assieme all'eseguibile scelto. Nelle opzioni si può:
7) scegliere a quale bordo legare il terminale (alto basso destra sinistra)
scegliere manualmente la larghezza in pixel della finestra dell'eseguibile (con altezza fissa all'altezza dello schermo). In caso di bordo alto/basso scegliere manualmente l'altezza con larghezza fissa alla larghezza dello schermo.
9) scegliere la velocità dell'animazione.
Mi fareste un piacere enorme... E vi premierò con tanta stima
Piccola richiesta C++/C#
-
- Membro attivo
- Messaggi: 341
- Iscritto il: 03/09/2013, 13:26
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Contatta:
Piccola richiesta C++/C#
Utilizzo
GM: Studio Pro
C++ terminale
Batch
Jaschif
Spoiler
Re: Piccola richiesta C++/C#
Il prompt è un applicazione di windows, non la puoi modificare. Si potrebbe fare un programma che prende i comandi e li esegue sul prompt ma non vedresti l'output dei comandi. Ma invece se devi aprire il prompt non è più comodo premere Windows+R per aprire "Esegui" e poi "cmd" invio?considera che esegui salva l'ultima cosa che hai scritto quindi se lo usi solo per aprire il prompt ti basta premere invio
- nightwish88
- GMI Advanced
- Messaggi: 1739
- Iscritto il: 18/01/2009, 13:41
- Contatta:
Re: Piccola richiesta C++/C#
sono d'accordo con cash. Inserisci una shortcut per aprire/chiudere velocemente il prompt. La customizzazione che stai richiedendo in più mi sembra più fattibile farla creando una applicazione grafica normale e customizzarla facendola sembrare un prompt. Banalmente anche se vecchie come in cuccolo le windows form sono facili da implementare e fanno esattamente quello che stai chiedendo tu. Ovviamente dentro poi ci dovrai creare un controllo apposta che si comporta come il cmd e non so che ci devi fare, dovrai scriverti un binding tra la tua applicazione e l'eventuale output dei programmi che eseguirai ma vabbè.... nulla di impossibile
-
- Membro attivo
- Messaggi: 341
- Iscritto il: 03/09/2013, 13:26
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Piccola richiesta C++/C#
non si può usare l'handler della finestra per modificarne le coordinate? Non ne so niente di interazione con l'esterno ma credevo si potesse fare.
Non intendevo di modificare il prompt, intendevo un programma ulteriore che lo tiene aperto fuori schermo e ne modifica le coordinate all'avvicinarsi del mouse.
La comodità è avere il prompt sempre aperto, che non impiccia lo schermo quando non in uso ma che comunque sia velocemente accessibile.
Tipo l'overlay di Overwolf che rimane aperto ma compare solo avvicinandoci il mouse
Non intendevo di modificare il prompt, intendevo un programma ulteriore che lo tiene aperto fuori schermo e ne modifica le coordinate all'avvicinarsi del mouse.
La comodità è avere il prompt sempre aperto, che non impiccia lo schermo quando non in uso ma che comunque sia velocemente accessibile.
Tipo l'overlay di Overwolf che rimane aperto ma compare solo avvicinandoci il mouse
Utilizzo
GM: Studio Pro
C++ terminale
Batch
Jaschif
Spoiler
Re: Piccola richiesta C++/C#
Puoi modificare la posizione di una finestra, il problema è che lo puoi fare solo sulle finestre del tuo programma, non di quelle di altre. Il prompt dei comandi è un programma a se stante, non ne puoi assumere il controllo(o almeno credo)
- Breston
- Membro
- Messaggi: 84
- Iscritto il: 21/08/2014, 15:51
- Specialità: Nothing
- Uso: GM:Studio 2
- Contatta:
Re: Piccola richiesta C++/C#
L'ultima volta che ho provato a fare una cosa del genere in C++ era su windows 7 e potevo modificare la posizione di qualunque finestra, si tratta di inviare specifici messaggi con SendMessage, per personalizzazioni più avanzate non saprei ma sono praticamente certo che non si possa fare tutto quello che chiedi.
- nightwish88
- GMI Advanced
- Messaggi: 1739
- Iscritto il: 18/01/2009, 13:41
- Contatta:
Re: Piccola richiesta C++/C#
https://msdn.microsoft.com/en-us/librar ... .110).aspx
Penso quindi si può fare anche in c++ ma purtroppo le api per le console application le conosco solo in C#
Penso quindi si può fare anche in c++ ma purtroppo le api per le console application le conosco solo in C#
-
- Membro attivo
- Messaggi: 341
- Iscritto il: 03/09/2013, 13:26
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Pro
- Contatta:
Re: Piccola richiesta C++/C#
quello che voglio genererebbe un'eccezioneArgumentOutOfRangeException
left or top is less than zero.
-or-
left + WindowWidth is greater than BufferWidth.
-or-
top + WindowHeight is greater than BufferHeight.
@nichtwish87 please se hai del tempo in cui non sai cosa fare potresti provare a fare questa cosa? c# o c++ è uguale, tanto vorrei dare un'occhiatina ad entrambi...
Utilizzo
GM: Studio Pro
C++ terminale
Batch
Jaschif
Spoiler
Chi c’è in linea
Visitano il forum: Nessuno e 8 ospiti