Piccola richiesta C++/C#

Discussioni su qualunque linguaggio di programmazione o engine
Rispondi
Barnack
Membro attivo
Messaggi: 341
Iscritto il: 03/09/2013, 13:26
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Contatta:

Piccola richiesta C++/C#

Messaggio da Barnack »

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 :piagne: )
So che non è bello chiedere la pappa pronta ma... beh... che dire... ci provo :asd:

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)
8) 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 :first:

Utilizzo
GM: Studio Pro
C++ terminale
Batch
Jaschif

Spoiler
C++ WinApi / DirectX
C#



Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Piccola richiesta C++/C#

Messaggio da Cash »

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

Avatar utente
nightwish88
GMI Advanced
Messaggi: 1739
Iscritto il: 18/01/2009, 13:41
Contatta:

Re: Piccola richiesta C++/C#

Messaggio da nightwish88 »

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
Immagine

Web Site: AFGames

Barnack
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#

Messaggio da Barnack »

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

Utilizzo
GM: Studio Pro
C++ terminale
Batch
Jaschif

Spoiler
C++ WinApi / DirectX
C#



Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Piccola richiesta C++/C#

Messaggio da Cash »

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)

Avatar utente
Breston
Membro
Messaggi: 84
Iscritto il: 21/08/2014, 15:51
Specialità: Nothing
Uso: GM:Studio 2
Contatta:

Re: Piccola richiesta C++/C#

Messaggio da Breston »

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.

Avatar utente
nightwish88
GMI Advanced
Messaggi: 1739
Iscritto il: 18/01/2009, 13:41
Contatta:

Re: Piccola richiesta C++/C#

Messaggio da nightwish88 »

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#
Immagine

Web Site: AFGames

Barnack
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#

Messaggio da Barnack »

ArgumentOutOfRangeException

left or top is less than zero.

-or-

left + WindowWidth is greater than BufferWidth.

-or-

top + WindowHeight is greater than BufferHeight.
quello che voglio genererebbe un'eccezione :piagne:

@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
C++ WinApi / DirectX
C#



Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti