Hallo ich hab mal ne Frage die wohl an XenoBiologist (Mega) geht
ich wollte einfach mal seine geile DLLCall Funktion von seinem Yahtzee-Spiel in mein Script einbauen was auch Funktioniert, nur net komplett ![]()
Und zwar wird die GUI-Beim einblenden zwar eingeblendet aber 2 Inputs nicht... bzw. erst wenn der einblendevorgang schon abgeschlossen ist...
Woran liegt denn das?
Hier mal mein Script
Das ausblenden Funktioniert perfekt ![]()
Hier mal noch die Kompelierte version (damit ihr auch die schönen Bildchen habt :D) http://fire.public-enemy-clan.de/awfl_demos2.exe
Spoiler anzeigen
#include <GUIConstants.au3>
#include <Process.au3>
AutoItSetOption("GUIOnEventMode", 1)
AutoItSetOption("TrayIconHide", 1)
$options = 1231234123
$input1 = 123149
$input2 = 12314123
FileDelete(@TempDir & "\liste.lst")
$regread = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\WinRAR.exe\shell\open\command", "")
FileInstall( "C:\Hilfe.txt", @TempDir&"\Hilfe.txt")
FileInstall( "C:\awfl.jpg", @TempDir&"\awfl.jpg")
SplashImageOn("Splash Screen", @TempDir&"\awfl.jpg",644,173, Default, Default, 3)
Sleep(2000)
SplashOff()
$gui = GUICreate("AWFL Screenshot/Demo Uploader", 300, 230, Default, Default, Default, $WS_EX_ACCEPTFILES)
$edit = GUICtrlCreateList("", 10, 70, 280, 130)
$button = GUICtrlCreateButton("Demos hochladen", 10, 200, 100, 20)
$clear = GUICtrlCreateButton("Clear Edit", 120, 40, 60, 20)
$datei = GUICtrlCreateButton("Datei öffnen", 10, 40, 80, 20)
$input2 = GUICtrlCreateInput("Name", 210, 40, 80, 20)
$matchlink_input = GUICtrlCreateInput("Matchlink", 10, 10, 280, 20)
GUICtrlSetState($edit, $GUI_DROPACCEPTED)
GUISetOnEvent($GUI_EVENT_CLOSE, "GUI_exit")
GUICtrlSetOnEvent($button, "read")
GUICtrlSetOnEvent($clear, "clear")
GUICtrlSetOnEvent($datei, "gui_create")
sleep(200)
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1000, "long", 0x00080000)
GUISetState(@SW_SHOW)
$gui_anzeigen = 22394219387412934
$file = 1231023012730
$combo = 1332141234
$b1 = 123123213
$b2 = 2307123891
$gui_2 = 123123123
$rarfile = 2139109238
GUISetHelp("notepad "&@TempDir&"\Hilfe.txt")
Func gui_create()
Global $file = FileOpenDialog("Screenshot / Demo auswählen", "", "Screenshots (*.bmp)|CS-Demos (*.dem)")
If $file = "" Then
Return(0)
EndIf
Global $gui_2 = GUICreate("Demo/Screenshot hinzufügen", 300, 100)
Global $combo = GUICtrlCreateCombo("Map wählen", 10, 5, Default, Default, $CBS_DROPDOWNLIST)
GUICtrlSetData($combo, "de_airstrip|de_aztec|de_cbble|de_chateau|de_dust|de_dust2|de_inferno|de_nuke|de_piranesi|de_prodigy|de_storm|de_survivor|de_torn|de_train|de_tuscan|de_vertigo")
GUICtrlCreateLabel("Team:", 10, 33)
Global $b1 = GUICtrlCreateRadio("Counter-Terrorist", 50, 30, 100)
Global $b2 = GUICtrlCreateRadio("Terrorist", 150, 30, 100)
Global $ok = GUICtrlCreateButton( "OK", 10, 70)
Global $not = GUICtrlCreateButton( "Abbrechen", 40, 70)
GUICtrlSetOnEvent($ok, "ok")
GUICtrlSetOnEvent($not, "gui_close")
GUISetOnEvent($GUI_EVENT_CLOSE, "gui_close")
If StringRight($file, 3) = "bmp" Then
$anzeigen = GUICtrlCreateButton("Screenshot anzeigen", 190, 70)
EndIf
If StringRight($file, 3) = "bmp" Then
GUICtrlSetOnEvent($anzeigen, "screenshot_anzeigen")
EndIf
GUISetHelp("notepad "&@TempDir&"\Hilfe.txt")
GUISetState(@SW_SHOW)
EndFunc
Func gui_close()
GUISetState(@SW_HIDE, $gui_2)
EndFunc
Func ok()
Global $map = StringMid(GUICtrlRead($combo), 4)
Global $b11 = GUICtrlRead($b1)
Global $b21 = GUICtrlRead($b2)
If $map = " wählen" Then
MsgBox(0, "Error", "Bitte zuerst Map auswählen")
Return(0)
EndIf
If $b11 = $GUI_UNCHECKED And $b21 = $GUI_UNCHECKED Then
MsgBox(0, "Error", "Bitte zuerst Team wählen")
Return(0)
EndIf
If $b11 = $GUI_CHECKED Then
$seite = "ct"
Else
$seite = "t"
EndIf
$filename = $map&"_"&$seite&StringRight($file, 4) ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>FILENAME!!!!
For $t = 2 To 20
If FileExists("C:\"&$filename) <> 0 Then
$filename = $map&"_"&$seite&"_"&$t&StringRight($file, 4) ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>FILENAME!!!!
Else
ExitLoop
EndIf
Next
GUICtrlSetData($edit, $filename)
FileCopy($file, "C:\"&$filename)
FileWriteLine(@TempDir & "\liste.lst", "C:\"&$filename)
GUISetState(@SW_HIDE, $gui_2)
EndFunc
Func screenshot_anzeigen()
$gui_anzeigen = GUICreate( $file, 700, 560)
GUICtrlCreatePic( $file, 0, 0, 700, 525)
$exit = GUICtrlCreateButton( "EXIT", 10, 530, 680, 25)
GUICtrlSetOnEvent($exit, "schliessen")
GUISetOnEvent($GUI_EVENT_CLOSE, "schliessen")
GUISetHelp("notepad "&@TempDir&"\Hilfe.txt")
GUISetState(@SW_SHOW)
EndFunc
Func schliessen()
GUISetState(@SW_HIDE, $gui_anzeigen)
EndFunc
Func clear()
For $r = 1 To 100
$read3 = FileReadLine(@TempDir & "\liste.lst", $r)
If $read3 = "" Then
ExitLoop
EndIf
FileDelete($read3)
Next
FileDelete(@TempDir & "\liste.lst")
GUICtrlSetData($edit, "")
EndFunc ;==>clear
Func cancel()
GUISetState(@SW_HIDE, $options)
EndFunc ;==>cancel
Func read()
$matchlink = GUICtrlRead($matchlink_input)
If StringMid($matchlink,29, 4) <> "liga" Then
MsgBox(0, "Error", "Matchlink Falsch!")
Return(0)
EndIf
$matchsplit = StringSplit($matchlink, "/")
$length = StringLen($matchsplit[4])
Select
Case $length = 17
$liga = "oldskill"
Case $length = 18
$liga = "liga2on2"
Case Else
$liga = StringMid($matchsplit[4],10, 5) ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>LIGA!!!!
EndSelect
If GUICtrlRead($input2) = "" Or GUICtrlRead($input2) = "Name" Then
MsgBox(0, "Error", "Bitte zuerst Namen eingeben")
return(0)
EndIf
$name = GUICtrlRead($input2)
$string1 = StringInStr(GUICtrlRead($input2), "\")
$string2 = StringInStr(GUICtrlRead($input2), "/")
$string3 = StringInStr(GUICtrlRead($input2), ":")
$string4 = StringInStr(GUICtrlRead($input2), "*")
$string5 = StringInStr(GUICtrlRead($input2), "?")
$string6 = StringInStr(GUICtrlRead($input2), '"')
$string7 = StringInStr(GUICtrlRead($input2), "<")
$string8 = StringInStr(GUICtrlRead($input2), ">")
$string9 = StringInStr(GUICtrlRead($input2), "|")
If $string1 <> 0 Or $string2 <> 0 Or $string3 <> 0 Or $string4 <> 0 Or $string5 <> 0 Or $string6 <> 0 Or $string7 <> 0 Or $string8 <> 0 Or $string9 <> 0 Then
MsgBox(0, "Error", 'Folgende Sonderzeichen sind nicht erlaubt:'&@CRLF&'\ / : * ? " < > |')
Return(0)
EndIf
IF FileExists(@TempDir & "\liste.lst") = 0 Then
MsgBox(0, "Error", "Bitte erst Dateien hinzufügen")
Return(0)
EndIf
For $i = 1 To 30
$read = FileReadLine(@TempDir & "\liste.lst", $i)
If $read = "" Then
$read = FileReadLine(@TempDir & "\liste.lst", $i-1)
ExitLoop
EndIf
If StringRight($read, 4) <> ".dem" And StringRight($read, 4) <> ".bmp" Then
MsgBox(0, "Error", "Falsches Format, entweder bmp oder dem benutzen")
return(0)
EndIf
If $i > 1 Then
$read2 = FileReadLine(@TempDir & "\liste.lst", $i-1)
If StringRight($read, 4) <> StringRight($read2, 4) Then
MsgBox(0, "Error", "Bitte nur ein Format benutzen, entweder .dem oder .bmp")
return(0)
EndIf
EndIf
Next
Select
Case StringRight($read, 4) = ".bmp"
$gr = "sc"
Case StringRight($read, 4) = ".dem"
$gr = "pl"
Case Else
$gr = "ka"
EndSelect
If FileExists(StringMid(StringLeft($regread, StringLen($regread)-6), 2)) Then
FileDelete("C:\ftpupload.ftp")
FileWriteLine("C:\ftpupload.ftp", "open fire.public-enemy-clan.de")
FileWriteLine("C:\ftpupload.ftp", "********")
FileWriteLine("C:\ftpupload.ftp", "********")
FileWriteLine("C:\ftpupload.ftp", "cd httpdocs")
FileWriteLine("C:\ftpupload.ftp", "cd AWFL")
FileWriteLine("C:\ftpupload.ftp", "cd "&$liga)
FileWriteLine("C:\ftpupload.ftp", "BINARY")
$rarfile = StringMid($matchsplit[5], 22)&"_"&$gr&"_"&StringLower($name)&".rar" ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>RARFILENAME!!!!
FileWriteLine("C:\ftpupload.ftp", "put C:\Spiel"&$rarfile)
FileWriteLine("C:\ftpupload.ftp", "bye")
RunWait(StringMid(StringLeft($regread, StringLen($regread)-6), 2)&" A -ep1 -s -m5 C:\Spiel"&$rarfile&" @" & @TempDir & "\liste.lst")
sleep(1000)
$gui_progress = GUICreate("Uploading", 240, 30, Default, Default, $WS_CAPTION)
$progress = GUICtrlCreateProgress(5, 5, 200, 20)
$progress2 = GUICtrlCreateLabel( "", 210, 7, 50, 15)
GUISetState(@SW_SHOW)
Run(@ComSpec & " /c " & 'ftp -s:C:\ftpupload.ftp', "", @SW_HIDE)
$file = FileGetSize("C:\Spiel"&$rarfile)
$fertig = False
While $fertig = False
$size2 = InetGetSize("http://fire.public-enemy-clan.de/AWFL/"&$liga&"/Spiel"&$rarfile) / $file
$size = $size2 * 100
$split = StringSplit($size, ".")
GUICtrlSetData($progress, $size)
GUICtrlSetData($progress2, $split[1]&" %")
If $size > 99.99 Then
sleep(500)
$fertig = True
GUISetState(@SW_HIDE, $gui_progress)
ExitLoop
EndIf
WEnd
FileDelete(@TempDir&"\Hilfe.txt")
FileDelete("C:\ftpupload.ftp")
FileDelete("C:\Spiel"&$rarfile)
For $r = 1 To 100
$read3 = FileReadLine(@TempDir & "\liste.lst", $r)
If $read3 = "" Then
ExitLoop
EndIf
FileDelete($read3)
Next
FileDelete(@TempDir & "\liste.lst")
GUICtrlSetData($matchlink_input, "http://fire.public-enemy-clan.de/AWFL/"&$liga&"/Spiel"&$rarfile)
GUICtrlSetData($edit, "")
MsgBox(0, "Success", "Datei wurde erfolgreich hochgeladen")
Else
MsgBox(0, "Error", "WinRAR wurde nicht gefunden")
EndIf
EndFunc ;==>read
Func GUI_exit()
FileDelete(@TempDir&"\Hilfe.txt")
FileDelete("C:\ftpupload.ftp")
FileDelete("C:\Spiel"&$rarfile)
For $r = 1 To 100
$read3 = FileReadLine(@TempDir & "\liste.lst", $r)
If $read3 = "" Then
ExitLoop
EndIf
FileDelete($read3)
Next
FileDelete(@TempDir & "\liste.lst")
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 1500, "long", 0x00090000)
Exit
EndFunc ;==>GUI_exit
While 1
WEnd
Danke für eure Hilfe ![]()
@xeno woher weisst du wie solche dllcall funktionen aussehen müssen damit die sachen passieren?