Wie kann man die Ausgabefarbe von Clink einstellen?

1096
Pacerier

Die Standardtextausgabe von Clink ist weiß. Nach der Injektion von Clink clinkTabTabzeigt das Tippen zB:

Wie kann man die Ausgabefarbe von Clink einstellen?

Wenn ich das Cmd-Fenster auf schwarzen Text auf weißem Hintergrund ("Eigenschaften" → "Farben") setze, ist dies die Ausgabe:

Wie kann man die Ausgabefarbe von Clink einstellen?

Die zweite Zeile ist nicht sichtbar, da es sich um weißen Text auf weißem Hintergrund handelt. Die Textausgabe von Clink bleibt weiß und ignoriert die Farbeinstellungen für das cmd-Fenster.

Wie können wir die Ausgabefarbe von Clink einstellen ?

Gibt es etwas Ähnliches set clink.prompt_colour=12für die Ausgabefarbe ?

1

1 Antwort auf die Frage

3
krowe

Ohne Apps von Drittanbietern ist dies nicht möglich.

clinkfügt keine Farben in die Ausgabe ein, sie erlaubt nur der Kommando-Shell, sie zu interpretieren. Sie müssen ein Programm verwenden, das die Farbausgabe anzeigt. Dies sind meistens Linux-Anwendungen, weil sie cmd.exenormalerweise nicht angezeigt werden. Wenn Sie beispielsweise die GnuWin32- Version von installieren ls, können Sie Farbe in einer Konsole sehen, die bereits injiziert wurde.

Zuerst klatschen. Dafür gibt es mehrere Möglichkeiten. Die anderen Methoden sind auf der Clink-Informationsseite aufgeführt :

clink.exe inject 

Dann können Sie den Befehl verwenden:

ls --color 

Um Verzeichnislisten in Farbe anzuzeigen.

Wenn Sie den printfBefehl auch installieren, können Sie die Ausgabe Ihrer eigenen Skripts farbig gestalten. Zum Beispiel:

printf "\033[0;31mhello\33[0m, \33[0;32mworld\33[0m" 

Wird "Hallo" in Rot und "Welt" in Grün drucken. Sie können auch den GNU- echoBefehl mit der -eOption verwenden. Da dies jedoch bereits ein Windows-Befehl ist, müssen Sie bei jeder Verwendung den vollständigen Pfad zum exe verwenden.

Es gibt sicherlich andere Programme, die das können, aber so verwende ich es. Ich habe eine ausführliche Anleitung geschrieben, um die Art und Weise einzurichten, die ich für Sie interessiere.

Clink kann jedoch die Eingabeaufforderungsfarbe fein einstellen: `set clink.prompt_colour = 12`. Gibt es keine entsprechende Option zum Einstellen der Textfarbe? Pacerier vor 9 Jahren 1
Programme müssen spezielle Zeichenfolgen ausgeben, um der Konsole mitzuteilen, welche Farben ausgegeben werden sollen. Da Windows-Konsolenanwendungen diese Zeichen nicht ausgeben, werden nur sehr wenige Apps für Windows farbig sein (es sei denn, sie wurden speziell für die Verwendung von Clink entwickelt). clink kann die Eingabeaufforderung ändern, da diese Zeichen zur Eingabeaufforderung hinzugefügt werden. Einige Windows-Programme zeigen jedoch Farbe an. Beispielsweise gibt TYPE auch Farbe aus, wenn die angezeigte Datei die erforderlichen Zeichen enthält. krowe vor 9 Jahren 0
Clink gibt an, dass es sich in `ReadConsole ()` einfügt, sodass es nicht auch in der Lage ist, der Ausgabe Farben zuzuweisen? Eine andere Kuriosität ist, wenn dies nicht der Fall ist, warum ist die Farbe weiß statt der Farbe, die cmd verwendet (die unter Verwendung von "Eigenschaften >> Farben" im Cmd-Fenster auf Schwarz gesetzt ist). Pacerier vor 9 Jahren 0
Ich habe bereits erklärt, dass es das tut. Das Problem ist, dass 99% der Windows-Apps die Farb-Escape-Codes nicht ausgeben. Versuchen Sie dies, erstellen Sie eine neue Textdatei in Notepad ++ und wählen Sie "Bearbeiten -> Zeichenbereich". Dann nimm den String, den ich oben angegeben habe, `/ 033 [0; 31m ....` 'und füge ihn in die Datei ein. Ersetzen Sie dann jedes "/ 033" durch das Zeichen "ESC" (27 Dezimal). Dann speichern Sie es. Jetzt können Sie `TYPE myfile.txt` eingeben und sehen, dass auch sie farbig ist. Leider ist TYPE eine der wenigen Windows-Apps, mit denen Sie diese Zeichen ausgeben können. krowe vor 9 Jahren 0
Mir ist gerade eingefallen, dass Sie auch eine Konsole benötigen, die diese Farbcodes interpretieren kann. Dafür gibt es mehrere Möglichkeiten. Ich benutze ConEmu, aber wenn die Standardkonsole dies tun soll, benötigen Sie einen ANSI.SYS-Ersatz wie ANSICON: http://adoxa.altervista.org/ansicon. Der Nachteil davon ist, dass es dauerhaft (AFAIK) Farbunterstützung für Ihre Konsole hinzufügt (da dies Ihre aktuelle DLL ersetzt). Wenn Sie dies verwenden möchten, laden Sie es einfach herunter und führen Sie `ansicon.exe -i` aus. Von da an wird Ihre Konsole farblich unterstützt. krowe vor 9 Jahren 0
Das sehe ich mit `type myfile.txt`: http://i.stack.imgur.com/7yC7M.png. Um es zusammenzufassen: Wollen Sie damit sagen, dass Standard-Cmd keine Farbunterstützung hat, so dass Clink auch keine Farben verwenden kann? Aber warum scheint es so, als würde Clink den Text auf Weiß setzen, auch nachdem ich die Cmd-Einstellungen für die Textfarbe in Schwarz geändert habe? Pacerier vor 9 Jahren 0
Die von der Standardkonsole cmd.exe angebotene Farbunterstützung ist sehr schlecht. clink unterstützt beides, aber wenn Sie die Standardeinstellung verwenden, ist clink sehr eingeschränkt, was in dieser Situation möglich ist. Wenn Sie irgendetwas mit Standard-ANSI-Unterstützung verwenden, ist dies in Ordnung (einmal eingerichtet). Sie können entweder ANSICON oder etwas wie ConEmu verwenden, um diese Unterstützung zu erhalten. krowe vor 9 Jahren 0
Übrigens sehe ich, dass Sie "Clink" als "CLink" bezeichnen. Warum nennen Sie es "CLink"? Zurück zum Thema: Warum kann Clink die Eingabeaufforderungsfarbe für Standard-Cmd festlegen, nicht jedoch die Ausgabefarbe? Liegt es an einem Fehler oder an einer inhärenten Windows-Einschränkung? Pacerier vor 9 Jahren 0
Ich nenne es einfach so, damit Sie genau sehen können, was ich tue. Normalerweise benutze ich ConEmu, um es einzuspritzen, aber manchmal führe ich einfach die `* .bat'-Datei aus. Es ist weder ein Fehler noch eine Einschränkung des Klirrens. Clink ist keine App-Ausgabe als Teil seines Jobs und es gibt bereits andere Tools, die dies tun. Ich glaube, dass es in der Vergangenheit einen Teil des modifizierten ANSI-Systems gab, das jedoch entfernt wurde, da es bereits von Apps wie ansicon.exe gehandhabt wurde. krowe vor 9 Jahren 0
Bin ich richtig zu sagen, dass Sie sagen, dass "es ohne Apps von Drittanbietern nicht möglich ist"? Pacerier vor 9 Jahren 1