2013-06-02 13 views
12

È possibile personalizzare la barra del titolo (ovvero cambiare colore) o rimuoverla completamente?Personalizzazione dell'area della barra del titolo di un'applicazione console

+0

Ho trovato una possibile soluzione [qui] (http://stackoverflow.com/questions/2014014/hide-title-bar-of-program-using-api) ma ho appena provato a implementarlo da solo e ho ricevuto un errore su la prima riga del metodo 'ToggleTitleBar'. –

+0

Yh Ho provato ma non ha funzionato per me:/ –

+2

La messaggistica con lo stile predefinito di Windows nella tua applicazione è: non bella, non alla moda, non utile, non matura. Certo, cambia il testo per essere più utile/informativo, ma non fare altro. – user3791372

risposta

15

Utilizzare la proprietà Console.Title

controlla questo link per un esempio Console.Title Property

+0

Yh sapevo di quella proprietà ma ti permette solo di cambiare il testo, come farei per cambiarlo di più? ed è possibile rimuoverlo/nasconderlo? –

+0

Chiama: Console.Title = ""; per nascondere il titolo –

-1

per rimuoverlo è possibile modificare il FormBorderStyle a nessuno. Lo rende un po 'brutto, ma si sbarazza di esso. Tuttavia, perdi anche i pulsanti Min Max e Exit.

+1

È un'applicazione console, non un progetto WinForms. –

+0

Come potrei farlo? Ho provato 'this.FormborderStyle.None' e ' Form myForm = this Form(); myForm.FormBorderStyle.None; ' –

+0

@ClarkeAbear Si sta chiedendo informazioni su un'applicazione console. Non è possibile utilizzare il codice WinForms su questo. Non c'è forma. –

2

Non è facile. La finestra della console viene effettivamente gestita da un processo separato, conhost.exe. Dovresti persuadere quel processo a cambiare il suo comportamento che implicherebbe degli hack grossolani.

È possibile ottenere l'handle di finestra abbastanza facilmente e modificare le proprietà di base della finestra e sperare che conhost.exe non li modifichi. Ma la pittura personalizzata della barra dei sottotitoli implicherebbe l'iniezione di codice in conhost.exe.

0

Utilizzare l'API SetConsoleTitle. Con P/Invoke direi.

Problemi correlati