hey wollt mir mal ne eigene Console schreiben und hab ein kleines Problem...
ich hab das ganze mit einem Edit Control gelöst, aber möchte dass man den text der vom skript geschrieben wird nicht ändern kann aber den text wo man selber schreibt schon .. so in etwa wie in der richtigen cmd.exe .. habe jetzt aber keine lust das alles mit _isPressed() zu machen - das ist zu aufwändig .. kennt jemand ne lösung?
Spoiler anzeigen
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiEdit.au3>
#include <Debug.au3>
#include <Misc.au3>
$Form1 = GUICreate("Console", 500, 300, 192, 124, BitOR($WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_SYSMENU, $WS_CAPTION, $WS_OVERLAPPEDWINDOW, $WS_TILEDWINDOW, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_TABSTOP, $WS_BORDER, $WS_CLIPSIBLINGS))
$Edit1 = GUICtrlCreateEdit("", 0, 0, 500, 300, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN), 0)
$hEdit1 = GUICtrlGetHandle($Edit1)
GUICtrlSetFont(-1, 8, 400, 0, "Courier")
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetBkColor(-1, 0x000000)
GUISetState()
GUISetState(@SW_MAXIMIZE, $Form1)
_ConsoleWrite("Copyright (c) 2010 Marcel Böhm. Alle Rechte vorbehalten.", 1)
_ConsoleWrite(_DebugBugReportEnv(), 1)
_ConsoleWrite("User: " & @UserName, 1)
If IsAdmin() = 1 Then
_ConsoleWrite("Admin: Ja", 1)
Else
_ConsoleWrite("Admin: Nein", 1)
EndIf
_ConsoleWrite("-> ", 0)
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If _IsPressed("0D") Then
MsgBox(0, "", _GUICtrlEdit_GetLine($hEdit1, _GUICtrlEdit_GetLineCount($hEdit1) - 2))
_ConsoleWrite("-> ", 0)
EndIf
WEnd
Func _ConsoleWrite($String, $Flag)
If $Flag = 1 Then
_GUICtrlEdit_AppendText($hEdit1, $String & @CRLF)
ElseIf $Flag = 0 Then
_GUICtrlEdit_AppendText($hEdit1, $String)
EndIf
EndFunc ;==>_ConsoleWrite