Hallo,
ich möchte hingehen und eine autoit datei nicht als normales Fenster öffnen, sondern so ein schwarzes Fenster erstellenm( sry weiß net mehr wie viel Bit...)
also wie zb. mit so einem befehl: creat_dos(....)
soll keine DOS-Datei sein sondern nur heit so ein Fenster (kein voller bildschirm), soll so ausehen wie cmd.exe oder ftp.exe....(ich will nix an cmd.exe senden!)
antwortet mir bitte mit ganzem befehl!
thx im vorraus
AutoIt-Skript in einem "schwarzem Fenster"
-
- [ offen ]
-
AntiSpeed -
15. Januar 2010 um 14:13 -
Geschlossen -
Erledigt
-
-
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit]
$Form = GUICreate("Form", 405, 294, 302, 218)
GUISetBkColor(0x000000)
GUISetState(@SW_SHOW)While 1
[/autoit][autoit][/autoit][autoit][/autoit]
Sleep(100)
WEndOder mehr als eine Art CMD mit einem Input?
[autoit]#include <EditConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit]
$Form = GUICreate("Form", 698, 277, 302, 218)
GUICtrlCreateEdit("", 0, 0, 697, 273)
GUICtrlSetBkColor(-1, 0x000000)
GUISetState(@SW_SHOW)While 1
[/autoit]
Sleep(100)
WEnd -
hi
thx für schnelle :re.
aba das meinte ich nicht
ich will keinen "simulator" der nur so aussieht als wenn das eine währe
sondern ich möchte eine au3to16-(wie auch immer bit's)bit-exe
...verstehs du was ich meine? also nicht das der script ein fenster erzeugt als wenn es so aussieht sondern eine richtige exe! die wirklich so istmit anderen worten:
erstelle eine normale C++ exe nur mit einer while(sodass sie nicht schließt)
so ein fenster möchte ich haben
..gibt es denn nicht so ein gui-befehl?
ok thx im vorraus -
Wenn man das cmd dings mit dem script auslesen kann, dann kann man mit ner If abfrage auch Rückgabewerte ausgeben lassen (dein willkommen...)
-
Ich versteh dich wirklich nicht... Willst du jetzt ein Fenster erstellen, was so aussieht wie cmd oder ähnliches, oder willst du einen Wert in eine shell schreiben wenn das Programm von da aufgerufen wird?
-
[autoit]
If $CmdLine[0]=0 Then
[/autoit]
MsgBox(0,"","Keine Parameter übergeben!")
ElseIf $CmdLine[0]=1 Then
MsgBox(0,"","Zu wenig Parameter Übergeben!")
ElseIf $CmdLine[0]=2 Then
MsgBox(0,"","Es wurden 2 Parameter Übergeben!")
Else
MsgBox(0,"","Zu viele Parameter übergeben!")
EndIf
Exit
meinste sowas?
$CmdLine[0] da steht drinn wie viel parameter übergeben wurden
$CmdLine[1],$CmdLine[2]... sind dann die Parameter die du dann aufgreifen kannst -
du must oben
[autoit]
[/autoit]
#AutoIt3Wrapper_Change2CUI=yeinfügen und dann hast du ein cmd window
-
Wieso will man denn die CMD verwenden, wenn man doch eine GUI hat ? Aber gut, du musst mit dem AutoIt3Wrapper kompilieren und dort CUI einstellen. Zum Lesen von der Konsole brauchst du zusätzlich diese Funktionen, schreiben geht mit ConoleWrite.
Spoiler anzeigen
[autoit]#include<WinAPI.au3>
[/autoit] [autoit][/autoit] [autoit]
#include-once
Func _Console_Open()
; Author: Prog@ndy
Return _WinAPI_CreateFile("CON", 2, 2)
EndFunc
Func _Console_Read($hConsole, $sPrompt='')
; Author: Prog@ndy
If Not @Compiled Then
If $sPrompt = '' Then $sPrompt = "Your input:"
Return InputBox("Console Input", $sPrompt)
EndIf
If Not $hConsole Then Return SetError(1,0,'')
If $sPrompt<>'' Then ConsoleWrite($sPrompt)
Local $tStruct = DllStructCreate("char[1024]"), $sString='', $iRead
Do
_WinAPI_ReadFile($hConsole, DllStructGetPtr($tStruct), 1024, $iRead)
$sString &= DllStructGetData($tStruct,1)
Until $iRead<1024 Or StringRight($sString, 2) = @CRLF
Return StringTrimLeft($sString,2)
EndFunc
Func _Console_Close($hConsole)
; Author: Prog@ndy
_WinAPI_CloseHandle($hConsole)
EndFunc;-----------------------------------------------------------------------------
[/autoit]
#AutoIt3Wrapper_Change2CUI=y
If Not @Compiled Then MsgBox(0, '', "Konsole funktioniert nur kompiliert")
Global $hConsole = _Console_Open()
MsgBox(0, '', _Console_Read($hConsole, "Name eingeben >"))
_Console_Close($hConsole) -
cool
ab in die sammlung -
[autoit]
[/autoit][autoit][/autoit][autoit]
#AutoIt3Wrapper_Change2CUI=yIf $CmdLine[0] > 0 Then
[/autoit][autoit][/autoit][autoit]
ConsoleWrite($CmdLine[1] & @CRLF)
Else
ConsoleWrite("Hello CMD world!" & @CRLF)
EndIfWhile 1 * Sleep(100)
[/autoit]
WEndCompilieren und die Exe dann starten!
Ich hoffe, dass du das meinst!
Gruß,
UEZPS: Ups, gab ja gleich mehrer Antworten...
-
hi @ all
der eine befehl von UAZ funkt.
thx an alle :re's
wie immer nette leute hier
.....vielen dank
danke, danke