das forum wie auch die meisten Forums übermitteln die Variablen nicht über GET (was man über http ansteuern könnte), sondern über POST. Daher denke ich nicht, dass du dein vorhaben mit WinHttp lösen kannst.
Natürlich geht das mit WinHTTP
das forum wie auch die meisten Forums übermitteln die Variablen nicht über GET (was man über http ansteuern könnte), sondern über POST. Daher denke ich nicht, dass du dein vorhaben mit WinHttp lösen kannst.
Natürlich geht das mit WinHTTP
Hi,
hast du sowas schonmal gemacht?
So einfach geht das nicht, ist nicht zu vergleichen mit AutoIt wo man einfach eine Datei includiert.
Je nachdem was man benutzt: vs10, vs12 etc, muss erstmal das Projekt dafür erstellt werden.
Das geht einfach in dem man die Beiliegende sln datei öffnet und sie erstellt ( F7 ), danach hast du die libs und dlls im Ordner, das geht aber auch nur wenn es ein VC10 Projekt ist ( in deinem Fall ).
Ansonsten muss man cmake benutzen.
Wenn du das geschafft hast du muss du die Sachen linken auch noch. Also jede menge Arbeit bis so etwas erstmal läuft.
Ich empfehl dir übrigens nicht die sdl zu benutzen, nehm lieber hier:
http://www.sfml-dev.org/download/sfml/2.0/ ( Das richtige auswählen natürlich ), für eine Version gibt es da schon fertige libs, weis aber gerade nicht welche. Ansonsten wie oben einfach genannt sln öffnen und erstellen.
Dann musst die wieder Linken, ich hab ne Anleitung mir mal gemacht, weil ich das selber immer wieder vergesse:
ZitatAlles anzeigenProjekt -> Projekteigenschaften -> Konfigurationseigenschaften
C/C++ -> Allgemein -> Zusätzliche includeverzeichnisse (dort SFML/include angeben)
Linker -> Allgemein -> zusätzliche Bibliothekverzeichnisse (dort SFML/lib angeben)
Linker -> Eingabe -> Zusätzliche Abhängigkeiten
dort:
sfml-audio-d.lib
sfml-graphics-d.lib
sfml-network-d.lib
sfml-main-d.lib
sfml-system-d.lib
sfml-window-d.libeintragen
C/C++ -> Präprozessor -> Präprozessordefinitionen -> SFML_DYNAMIC eintragen
Danach noch die ganzen dlls die er brauch in dein Projektverzeichnis, ( falls noch welcher fehlen sagt er das beim compilieren )
Gruß Greek
Alles was du Down machst musst du auch wieder Up machen, das setzt sich nach Script Beendung leider nicht zurück.
Sow 3 Stunden durch die msdn gelesen bis ich rausgefunden hab wies geht
Sleep(2000)
[/autoit] [autoit][/autoit] [autoit]_WinAPI_Mouse_Event($MOUSEEVENTF_XDOWN,0,0,0x0001)
[/autoit] [autoit][/autoit] [autoit]Sleep(2000)
[/autoit] [autoit][/autoit] [autoit]_WinAPI_Mouse_Event($MOUSEEVENTF_XUP,0,0,0x0001)
[/autoit]Das ist XButton1 für XButton2 musst du 0x0002 eintragen.
Die Konstanten dafür fehlen in der Constants.au3 deswegen selber 0x0001 und 0x0002 eintragen
Glaub der Ersteller von _WinAPI_Mouse_Event hat das selbst auch nicht verstanden, da das in $iData nicht erwähnt wird ( der 4. Parameter ). Constanten + Dokumentation Update mal beantragen.
Gruß Greek, die mühe hab ich mir gern gemacht
Verstehst du das was in Bonus passiert? Die eigne Lösung ist immer besser.
Mach es lieber mit Hashs, die sind viiiiiiiiiel einfacher als Arrays, schaus dir nochmal und probier es umzusetzen ohne das ich es schreibe
;----------------------------------------------------------------------
;------------------------Hash-Table------------------------------------
;----------------------------------------------------------------------
; http://msdn.microsoft.com/de-de/library/….hashtable.aspx
;////Hash-Table Erstellen///////////
$hash = ObjCreate("System.Collections.Hashtable")
;////Einträge hinzufügen///////////
$hash.add ("Berlin", 3395189)
$hash.add ("Hamburg", 1743627)
$hash.add ("München", 1259677)
$hash.add ("Köln", 983347)
$hash.add ("Dresden", 504795)
;Beispiel hier: Einwohnerzahl wird der jeweiligen Stadt zugeordnet.
;////Anzahl der Elemente bestimmen///////////
$Count = $hash.Count
;////Überprüft ob ein Element vorhanden ist///////////
If $hash.Contains ("Bonn") Then MsgBox(0, "", "Bonn ist eingetragen") ;Bonn ist im Bsp. nicht enthalten
;////Löscht ein Element aus der Hash-Table///////////
$hash.remove ("München")
;////Elemente aufrufen///////////
ConsoleWrite("Einwohner(Berlin): " & $hash("Berlin") & @CRLF)
ConsoleWrite("Einwohner(Dresden): " & $hash("Dresden") & @CRLF)
;////Leert die Hash-Table///////////
$hash.Clear
Kannst dir mal Internet mal anschauen was Hashs überhaupt sind.
Und benutz
bitte, sonst sieht man vor lauter Code kaum etwas
Gruß Greek
Wie gesagt wenn du das Array nicht sortierst hast du das Problem nicht, das wär dann so:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form0 = GUICreate("Rahl Beispiel", 280, 200, -1, -1)
For $i=0 to 5 Step +1
Assign("Input" & "_" &$i, GUICtrlCreateInput($i, 5, $i*30, 120, 21))
Next
For $i=0 to 5 Step +1
Assign("Input" & "_" &$i+6, GUICtrlCreateInput($i+6, 150, $i*30, 121, 21))
Next
GUISetState(@SW_SHOW)
Sleep(2000)
[/autoit] [autoit][/autoit] [autoit]Global $container[6] ; Array geht von 0 - 5
Global $maximum = 0
;// Auslesen
For $i=0 To 5 Step +1
$container[$i] = Number(GUICtrlRead(Eval("Input" & "_" &$i))) ;// Er ließt es als Text aus, müssen ihm sagen das es eine Zahl ist
Next
;// Den besten finden
For $i=0 To 5 Step +1
If ($container[$i] > $maximum) Then
$maximum = $container[$i]
EndIf
Next
;// Dein Bonus addieren
For $i=0 To 5 Step +1
If ($container[$i] = $maximum) Then
$container[$i] += 100;
ExitLoop ; Nur einer darf maximum sein
EndIf
Next
;// Zurueck schreiben
For $i=0 To 5 Step +1
GUICtrlSetData(Eval("Input" & "_" &$i+6),$container[$i])
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
( Sorry ich mag Assign/Eval sehr gerne )
Aber ich mach dir mal ein Beispiel mit Hash maps dann ist das doch schon wesentlich einfacher zu verstehen :), ich editiere dann nach.
Edit: So hier nochmal ganz einfach, dann musst du keine blöden arrays mehr benutzen
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form= ;// Mit Koda generiert, zu faul atm
$Form1 = GUICreate("Form1", 390, 101, -1, -1)
$Label_0 = GUICtrlCreateLabel("Ausdauer", 8, 8, 49, 17)
$Label_1 = GUICtrlCreateLabel("Tempo", 8, 40, 37, 17)
$Label_2 = GUICtrlCreateLabel("Galopp", 8, 72, 38, 17)
$Input_0 = GUICtrlCreateInput("50", 64, 8, 121, 21)
$Input_1 = GUICtrlCreateInput("20", 64, 40, 121, 21)
$Input_2 = GUICtrlCreateInput("60", 64, 72, 121, 21)
$Label_3 = GUICtrlCreateLabel("Ausdauer", 200, 8, 49, 17)
$Label_4 = GUICtrlCreateLabel("Tempo", 200, 40, 37, 17)
$Label_5 = GUICtrlCreateLabel("Galopp", 200, 72, 38, 17)
$Input_3 = GUICtrlCreateInput("", 256, 8, 121, 21)
$Input_4 = GUICtrlCreateInput("", 256, 40, 121, 21)
$Input_5 = GUICtrlCreateInput("", 256, 72, 121, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$hash = ObjCreate("System.Collections.Hashtable") ;// Alternative zu Array, wesentlich einfacher
[/autoit] [autoit][/autoit] [autoit];// Einlesen
For $i=0 To 2 Step +1
$hash.add(GUICtrlRead(Eval("Label" & "_" &$i)),Number(GUICtrlRead(Eval("Input" & "_" &$i))))
Next
;// Nun kannst du ganz einfach drauf zu greifen !
MsgBox(0,"Ausdauer Anzeige", $hash("Ausdauer"))
;// In die 2 Spalte
For $i=0 To 2 Step +1
GUICtrlSetData(Eval("Input" & "_" &$i+3),$hash(GUICtrlRead(Eval("Label" & "_" &$i))))
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
https://autoit.de/index.php?page…24276#post24276
Hier bei Hash-Tabelle kannst du mehr drüber lesen, AspirinJunkie hat hier sehr schön die array alternativen gezeigt.
Gruß Greek
Oder du veränderst einfach die Reihenfolge von deinem array nicht, also kein arraysort benutzen.
Beispiel wenn ein Wert einen Bonus bekommen soll:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form0 = GUICreate("Rahl Beispiel", 141, 201, -1, -1)
$Input_0 = GUICtrlCreateInput("5", 8, 8, 121, 21)
$Input_1 = GUICtrlCreateInput("10", 8, 40, 121, 21)
$Input_2 = GUICtrlCreateInput("8", 8, 72, 121, 21)
$Input_3 = GUICtrlCreateInput("1", 8, 104, 121, 21)
$Input_4 = GUICtrlCreateInput("2", 8, 136, 121, 21)
$Input_5 = GUICtrlCreateInput("6", 8, 168, 121, 21)
GUISetState(@SW_SHOW)
Sleep(2000)
[/autoit] [autoit][/autoit] [autoit]Global $container[6] ; Array geht von 0 - 5
Global $maximum = 0
;// Auslesen
For $i=0 To 5 Step +1
$container[$i] = Number(GUICtrlRead(Eval("Input" & "_" &$i))) ;// Er ließt es als Text aus, müssen ihm sagen das es eine Zahl ist
Next
;// Den besten finden
For $i=0 To 5 Step +1
If ($container[$i] > $maximum) Then
$maximum = $container[$i]
EndIf
Next
;// Dein Bonus addieren
For $i=0 To 5 Step +1
If ($container[$i] = $maximum) Then
$container[$i] += 100;
ExitLoop ; Nur einer darf maximum sein
EndIf
Next
;// Zurueck schreiben
For $i=0 To 5 Step +1
GUICtrlSetData(Eval("Input" & "_" &$i),$container[$i])
Next
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
So z.B.
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <timers.au3>
#include <misc.au3>
#Include <WinAPI.au3>
HotKeySet("{ESC}","_ende")
[/autoit] [autoit][/autoit] [autoit]Global Const $GWL_EXSTYLE = -20
[/autoit] [autoit][/autoit] [autoit]$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]Global $ballpos1=@DesktopWidth/2
Global $ballpos2=@DesktopHeight/2
Global $BewegungSenkrecht=Random(5, 7, 1)
Global $BewegungWagrecht=Random(5, 7, 1)
Global $Speed=10
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $hGui = GUICreate("Rahmen", @DesktopWidth, @DesktopHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
WinSetOnTop("Rahmen","",1)
GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hGui, 0xABCDEF, 255)
GUISetState()
Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
$Pinsel = _GDIPlus_PenCreate(0xFF0000FF, 20)
Global $vanish = _GDIPlus_PenCreate(0xFF000000, 20)
;Global $vanish = _GDIPlus_PenCreate(0xFFABCDEF, 20) // Alles mit der Farbe ABCDEF verschwindet
;_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF ) // Wenn du hier mit drübermalst ist alles weg
$t1 = _Timer_SetTimer(0, 20, "move")
$begin=TimerInit()
_Win_SetClickThrough($hGui)
[/autoit] [autoit][/autoit] [autoit]While 1
$nmsg=GUIGetMsg()
Switch $nmsg
Case $gui_event_close
Exit
EndSwitch
WEnd
Func _ende()
_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF )
_GDIPlus_PenDispose($Pinsel)
_GDIPlus_PenDispose($vanish)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_ende
Func move($a, $b, $c, $d)
_GDIPlus_GraphicsDrawArc ( $hGraphic, $ballpos1, $ballpos2, 70, 70, 180, 360, $vanish )
$ballpos1+=$BewegungWagrecht * $Speed
$ballpos2+=$BewegungSenkrecht * $Speed
_GDIPlus_GraphicsDrawArc ( $hGraphic, $ballpos1, $ballpos2, 70, 70, 180, 360, $Pinsel )
If $ballpos1 >= @DesktopWidth - 80 And $BewegungWagrecht > 0 Then $BewegungWagrecht = Random(-7, -5, 1)
If $ballpos1 < 10 And $BewegungWagrecht < 0 Then $BewegungWagrecht = Random(5, 7, 1)
If $ballpos2 >= @DesktopHeight - 95 And $BewegungSenkrecht > 0 Then $BewegungSenkrecht = Random(-7, -5, 1)
If $ballpos2 < 30 And $BewegungSenkrecht < 0 Then $BewegungSenkrecht = Random(5, 7, 1)
If _GDIPlus_PenGetColor ( $vanish )=0xFF000000 Then
_GDIPlus_PenSetColor ( $vanish, 0xFFFFFF00 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFFFFFF00 Then
_GDIPlus_PenSetColor ( $vanish, 0xFFFF0000 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFFFF0000 Then
_GDIPlus_PenSetColor ( $vanish, 0xFF00FF00 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFF00FF00 Then
_GDIPlus_PenSetColor ( $vanish, 0xFF000000 )
EndIf
$dif=TimerDiff( $begin )
If $dif>12000 Then
_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF )
$begin=TimerInit()
EndIf
EndFunc ;==>move
Func _Win_SetClickThrough($title,$text = "",$noclic = True)
; UDF von ProgAndy
Local $hWnd = WinGetHandle($title,$text)
If @error Then Return SetError(1,0,0)
If $noclic Then
_WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitOR(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),$WS_EX_TRANSPARENT))
If @error Then Return SetError(2,0,0)
;WinSetTrans($hWnd,"",255) ; Sets the Layered Attribute, but still shows the window Hier müsste man checken ob es das attribute schon hat, habs mal auskommentiert
If @error Then Return SetError(2,0,0)
Else
_WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitAND(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),BitNOT($WS_EX_TRANSPARENT)))
If @error Then Return SetError(2,0,0)
EndIf
Return 1
EndFunc
Damit malst du auf ein GUI zwar, aber es ist unsichtbar und es lässt Klicks durch.
Hi,
da muss deine eigene Funktion rein, so:
HotKeySet("{ESC}", "_exit")
HotKeySet("{ENTER}", "_myFunction")
While 1
Sleep(200)
WEnd
Func _exit()
Exit
EndFunc
Func _myFunction()
MouseMove(500,500)
EndFunc
Frohe Ostern
Greek
Hi,
du könntest ein eigenes GUI machen durch das man durch drücken kann und das bei einer bestimmen Farbe alles löscht, bzw. transparent setzt.
So könnte man das machen:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <timers.au3>
#include <misc.au3>
#Include <WinAPI.au3>
Global Const $GWL_EXSTYLE = -20
[/autoit] [autoit][/autoit] [autoit]$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]Global $ballpos1=@DesktopWidth/2
Global $ballpos2=@DesktopHeight/2
Global $BewegungSenkrecht=Random(5, 7, 1)
Global $BewegungWagrecht=Random(5, 7, 1)
Global $Speed=10
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $hGui = GUICreate("Rahmen", @DesktopWidth, @DesktopHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hGui, 0xABCDEF, 255)
GUISetState()
Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
$Pinsel = _GDIPlus_PenCreate(0xFF0000FF, 20)
Global $vanish = _GDIPlus_PenCreate(0xFF000000, 20)
;Global $vanish = _GDIPlus_PenCreate(0xFFABCDEF, 20) // Alles mit der Farbe ABCDEF verschwindet
;_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF ) // Wenn du hier mit drübermalst ist alles weg
$t1 = _Timer_SetTimer(0, 20, "move")
$begin=TimerInit()
_Win_SetClickThrough($hGui)
[/autoit] [autoit][/autoit] [autoit]While 1
$nmsg=GUIGetMsg()
Switch $nmsg
Case $gui_event_close
Exit
EndSwitch
WEnd
Func _ende()
_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF )
_GDIPlus_PenDispose($Pinsel)
_GDIPlus_PenDispose($vanish)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_ende
Func move($a, $b, $c, $d)
_GDIPlus_GraphicsDrawArc ( $hGraphic, $ballpos1, $ballpos2, 70, 70, 180, 360, $vanish )
$ballpos1+=$BewegungWagrecht * $Speed
$ballpos2+=$BewegungSenkrecht * $Speed
_GDIPlus_GraphicsDrawArc ( $hGraphic, $ballpos1, $ballpos2, 70, 70, 180, 360, $Pinsel )
If $ballpos1 >= @DesktopWidth - 80 And $BewegungWagrecht > 0 Then $BewegungWagrecht = Random(-7, -5, 1)
If $ballpos1 < 10 And $BewegungWagrecht < 0 Then $BewegungWagrecht = Random(5, 7, 1)
If $ballpos2 >= @DesktopHeight - 95 And $BewegungSenkrecht > 0 Then $BewegungSenkrecht = Random(-7, -5, 1)
If $ballpos2 < 30 And $BewegungSenkrecht < 0 Then $BewegungSenkrecht = Random(5, 7, 1)
If _GDIPlus_PenGetColor ( $vanish )=0xFF000000 Then
_GDIPlus_PenSetColor ( $vanish, 0xFFFFFF00 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFFFFFF00 Then
_GDIPlus_PenSetColor ( $vanish, 0xFFFF0000 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFFFF0000 Then
_GDIPlus_PenSetColor ( $vanish, 0xFF00FF00 )
ElseIf _GDIPlus_PenGetColor ( $vanish )=0xFF00FF00 Then
_GDIPlus_PenSetColor ( $vanish, 0xFF000000 )
EndIf
$dif=TimerDiff( $begin )
If $dif>12000 Then
_GDIPlus_GraphicsClear ( $hGraphic, 0xFFABCDEF )
$begin=TimerInit()
EndIf
EndFunc ;==>move
Func _Win_SetClickThrough($title,$text = "",$noclic = True)
; UDF von ProgAndy
Local $hWnd = WinGetHandle($title,$text)
If @error Then Return SetError(1,0,0)
If $noclic Then
_WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitOR(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),$WS_EX_TRANSPARENT))
If @error Then Return SetError(2,0,0)
;WinSetTrans($hWnd,"",255) ; Sets the Layered Attribute, but still shows the window Hier müsste man checken ob es das attribute schon, habs mal auskommentiert
If @error Then Return SetError(2,0,0)
Else
_WinAPI_SetWindowLong($hWnd,$GWL_EXSTYLE,BitAND(_WinAPI_GetWindowLong($hWnd,$GWL_EXSTYLE),BitNOT($WS_EX_TRANSPARENT)))
If @error Then Return SetError(2,0,0)
EndIf
Return 1
EndFunc
Gruß Greek
Mit der Funktion _WinHttpQueryHeaders kriege ich nur die Headers der Serverantwort auf die Anfrage. Ich will aber irgendwie die Headers der Anfrage auslesen. Hoffe einer kann mir helfen!
? Weiß nicht genau was du willst, hier mal ein Beispiel:
#include <WinHTTP.au3>
[/autoit] [autoit][/autoit] [autoit]$hw_open = _WinHttpOpen("AutoIt")
$hw_connect = _WinHttpConnect($hw_open,"autoit.de" )
$h_openRequest = _WinHttpOpenRequest($hw_connect, "GET", "/", "HTTP/1.1")
_WinHttpSendRequest($h_openRequest)
_WinHttpReceiveResponse($h_openRequest)
$header = _WinHttpQueryHeaders($h_openRequest)
MsgBox(0, "Header", $header)
If _WinHttpQueryDataAvailable($h_openRequest) Then
Local $data=""
Do
$data&=_WinHttpReadData($h_openRequest)
Until @error<>0
MsgBox(0, "Body", $data)
ClipPut($data) ; Kannst du in eine html datei kopieren und ausführen
EndIf
_WinHttpCloseHandle($h_openRequest)
_WinHttpCloseHandle($hw_connect)
_WinHttpCloseHandle($hw_open)
Ich glaub dir geht es aber darum, wo man überhaupt das Packet her bekommt das man schicken muss?
Das bekommt man z.B. mit dem Addon Live HTTP Headers für Firefox.
Gruß Greek
Ich brauch kein Tutorial wie ich die Speicheradressen rausfinde sondern woran ich erkenne welche es beim starten sind, da sie sich immer verändern...
Doch brauchst du, du hast nämlich die falsche Adresse. Man braucht eine statische, die sind blau markiert oder so, sieht man im Tutorial von CE gut. Schau dir das erst mal an.
Hi,
probiere das mal aus:
#include <WinHTTP.au3>
[/autoit] [autoit][/autoit] [autoit]$username = _URIEncode("deinName")
$password = _URIEncode("deinPasswort")
$post = "os_username=" & $username&"&os_password="&$password&"&login=Anmelden&os_destination=%2Fhomepage.action"
[/autoit] [autoit][/autoit] [autoit]$hw_open = _WinHttpOpen("Client")
$hw_connect = _WinHttpConnect($hw_open, "wiki.inserve.local",$INTERNET_DEFAULT_HTTPS_PORT)
$h_openRequest = _WinHttpOpenRequest($hw_connect,"POST", "/dologin.action","HTTP/1.1", _
$WINHTTP_NO_REFERER, $WINHTTP_DEFAULT_ACCEPT_TYPES, $WINHTTP_FLAG_SECURE)
_WinHttpSendRequest($h_openRequest, "Content-Type: application/x-www-form-urlencoded" & @CRLF, $post)
_WinHttpReceiveResponse($h_openRequest)
$header = _WinHttpQueryHeaders($h_openRequest)
MsgBox(0, "Header", $header)
If _WinHttpQueryDataAvailable($h_openRequest) Then
Local $data=""
Do
$data&=_WinHttpReadData($h_openRequest)
Until @error<>0
MsgBox(0, "Body", $data)
EndIf
_WinHttpCloseHandle($h_openRequest)
_WinHttpCloseHandle($hw_connect)
_WinHttpCloseHandle($hw_open)
Func _URIEncode($sData)
; Prog@ndy
Local $aData = StringSplit(BinaryToString(StringToBinary($sData,4),1),"")
Local $nChar
$sData=""
For $i = 1 To $aData[0]
;~ ConsoleWrite($aData[$i] & @CRLF)
$nChar = Asc($aData[$i])
Switch $nChar
Case 45, 46, 48-57, 65 To 90, 95, 97 To 122, 126
$sData &= $aData[$i]
Case 32
$sData &= "+"
Case Else
$sData &= "%" & Hex($nChar,2)
EndSwitch
Next
Return $sData
EndFunc
Func _URIDecode($sData)
; Prog@ndy
Local $aData = StringSplit(StringReplace($sData,"+"," ",0,1),"%")
$sData = ""
For $i = 2 To $aData[0]
$aData[1] &= Chr(Dec(StringLeft($aData[$i],2))) & StringTrimLeft($aData[$i],2)
Next
Return BinaryToString(StringToBinary($aData[1],1),4)
EndFunc
Gruß Greek
Alles gute eukalyptus !
Broadcast anpingen und dann mit arp -a nachschauen sollte funktionieren.
Alles gute Andy !
Es gibt doch Prospeed die ist nicht schlecht. Das ist nur leider schlecht nach AutoIt übersetzt worden. Das könnte man nochmal neu machen.
Wegfindungs UDFs wäre vielleicht noch eine Idee, Trémaux( Besteht ein Weg? ), Djiskstra (Kürzester Weg), Ford(Maximaler Fluss) , Tripel (Entfernungsmatrix, hat AspirinJunky schon nach AutoIt übersetzt)
Gruß Greek
Ja und wo ist das Problem? Du tust das doch in deinem Script benutzen, hier mal ein Beispiel wie sowas aussieht:
#include <FreeImage.au3>
[/autoit] [autoit][/autoit] [autoit]_FreeImage_LoadDLL(@ScriptDir&"\FreeImage.dll")
_FreeImage_Initialise()
$sFile = "ChangeMe3.JPG"
[/autoit] [autoit][/autoit] [autoit]$FIF = _FreeImage_GetFileTypeU($sFile)
If $FIF = $FIF_UNKNOWN Then
$FIF = _FreeImage_GetFIFFromFilenameU($sFile)
EndIf
$hImage = _FreeImage_LoadU($FIF, $sFile)
$hImageRotiert = _FreeImage_RotateClassic($hImage,270)
$dot = StringInStr($sFile,".",1,-1)
$Name = StringLeft($sFile,$dot-1)
$Ext = StringMid($sFile,$dot)
_FreeImage_SaveU($FIF, $hImageRotiert, $Name &"_rsz"&$Ext)
_FreeImage_Unload($hImage)
_FreeImage_Unload($hImageRotiert)
_FreeImage_DeInitialise()
[/autoit]( Rotiert ein Bild )