versuch mal das hier vor deine zweite schleife zu setzen:
[autoit]
if _IsPressed(01) then
While _IsPressed(01)
sleep(10)
Wend
Endif
versuch mal das hier vor deine zweite schleife zu setzen:
[autoit]
if _IsPressed(01) then
While _IsPressed(01)
sleep(10)
Wend
Endif
ich tippe mal drauf das eine funktion falsch aufgerufen wird, also das ein parameter fehlerhaft ist... wenn du nicht den source posten willst dann
vllt. nur mal die funktionsaufrufe?
versuche mal das hier:
[autoit]$url = @scriptdir&"\datei.flv"
[/autoit]mir konnte im englischen forum geholfen werden. es ist kein bug, die style-änderung setzt nicht vordefinierte farben zurück. daher logisch das bei text-änderung der vorher gesetzte hintergrund wieder sichtbar ist...
Hallo,
also entweder ist das ein Bug, oder ich seh grad den Wald vor lauter Bäumen nicht.
Folgende Situation:
mit
[autoit]
$b1 = GuiCtrlCreateButton("Test", 20, 20, 100, 20)
GuiCtrlSetbkColor($b1, 0x12e3db)
erstelle ich einen blau-eingefärbten button. soweit sogut.
nun verpasse ich ihm in einer funktion wieder den standard-look:
GUICtrlSetStyle($b1, $GUI_SS_DEFAULT_BUTTON)
soweit auch gut.
wenn ich jetzt nicht den hintergrund, sondern nur die schriftfarbe ändern will,
ändert sich der hintergrund wieder mit in die vorher gesetzte farbe.
GuiCtrlSetColor($b1, 0xff0000)
das sollte doch aber unabhängig voneinander sein. ich verzweifel noch bald......
hier noch eine lösung:
[autoit]$t = clipget()
$e = ""
msgbox(0,"",$t)
while StringInStr($t, """>") > 0
$t = StringTrimLeft($t, StringInStr($t, """>"))
$e &= StringMid($t, 2, StringInStr($t, "</")-2)&@CRLF
$t = StringTrimLeft($t, StringInStr($t, "</")-2)
wend
msgbox(0,"",$e)
ich habe das hier gefunden:
http://www.autoitscript.com/forum/topic/29…354#entry319354
aber zum laufen hab ich es noch nicht gebracht, wenn du es schaffst dann verrat mir mal wie ![]()
hallo,
sowas habe ich auch schon mal gemacht, reduziert auf curl.exe als einziges fileinclude.
(die restlichen fileincludes kann ich zusenden, die haben aber keinen funktion sondern nur optik)
#RequireAdmin
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <GuiConstants.au3>
#include <WindowsConstants.au3>
#include <Timers.au3>
#Include <Misc.au3>
#include <Constants.au3>
#Include <ScreenCapture.au3>
#include <GDIPlus.au3>
#include <file.au3>
#include <IE.au3>
Break(0)
Opt("TrayAutoPause",0)
Opt("WinTitleMatchMode", 2)
FileInstall("dvbs-de.lng", @TempDir & "\dvbs-de.lng", 1)
FileInstall("dvbs-en.lng", @TempDir & "\dvbs-en.lng", 1)
if StringInStr("0409 0809 0c09 1009 1409 1809 1c09 2009 2409 2809 2c09 3009 3409", @OSLang) then
$language = "english"
else
$language = "deutsch"
endif
Dim $interface
_FileReadToArray(@TempDir & "\dvbs-"&StringLeft($language, 2)&".lng",$interface)
SplashTextOn("LiveSnap", @CRLF & $interface[1], 250, 80)
FileInstall("a2.jpg", @TempDir & "\a2.jpg", 1)
FileInstall("oben.jpg", @TempDir & "\oben.jpg", 1)
FileInstall("unten.jpg", @TempDir & "\unten.jpg", 1)
FileInstall("links.jpg", @TempDir & "\links.jpg", 1)
FileInstall("rechts.jpg", @TempDir & "\rechts.jpg", 1)
FileInstall("dummy", @TempDir & "\_curlrc", 1)
FileInstall("curl.exe", @TempDir & "\curl.exe", 1)
$datei2 = @TempDir & "\09876.jpg"
Opt ("TrayIconHide", 1)
Opt("GuiOnEventMode", 1)
Global $s_right, $s_down, $newcurl, $waiting, $chars, $show, $ip, $i, $opt4, $Height2, $GUI_2, $s_left, $s_top, $s_width, $s_height, $Width2, $opt3
$maingui = GuiCreate("LiveSnap compact", 305, 135)
GUISetbkColor(0xe0e0e0)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Quit")
$snip = GuiCtrlCreateButton("", 38, 4, 80, 20)
GUICtrlSetData($snip, "Desktop")
GUICtrlSetOnEvent($snip, "_snip")
$shack = GuiCtrlCreateButton("", 38, 30, 80, 20)
GUICtrlSetData($shack, $interface[9])
GUICtrlSetOnEvent($shack, "_shack")
$c09 = GuiCtrlCreateLabel($interface[29], 217, 116, 90, 14, $SS_CENTER);bereit anzeige
GUICtrlSetColor(-1, 0x008000)
$c08 = GUICtrlCreatelabel ("", 3, 115, 213, 17, $SS_CENTER);url anzeige
GUICtrlSetOnEvent(-1, "_directurl")
$c210 = GUICtrlCreatePic (@TempDir & "\oben.jpg", 154, 2, 149, 3)
$c211 = GUICtrlCreatePic (@TempDir & "\unten.jpg", 154, 85, 149, 3)
$c212 = GUICtrlCreatePic (@TempDir & "\links.jpg", 154, 5, 3, 81)
$c213 = GUICtrlCreatePic (@TempDir & "\rechts.jpg", 300, 5, 3, 81)
$oIEp = _IECreateEmbedded ()
$c21 = GUICtrlCreateObj($oIEp, 157, 5, 143, 80)
$oIEp.navigate("about:blank")
repic(@TempDir & "\a2.jpg", 144, 81, 1)
$c23 = GuiCtrlCreateinput("", 55, 60, 30, 17, $ES_NUMBER)
GUICtrlSetLimit (-1, 4)
GUICtrlSetTip ( $c23, $interface[192])
$c24 = GUICtrlCreateCombo ($interface[34], 125, 90, 176, 17, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1,"|HTML")
$cl2 = GUICtrlCreateCombo ("abload.de", 2, 90, 120, 10, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1,"imagebanana.com|imageshack.us|img-teufel.de|directupload.net|pic-upload.de")
$dialog = @WindowsDir & "\"
SplashOff()
GuiSetState(@sw_show, $maingui)
$hi = WinGetHandle ("[ACTIVE]")
$fastx = _WinAPI_GetSystemMetrics(78)
$fasty = _WinAPI_GetSystemMetrics(79)
func repic($rp, $rp1, $rp2, $rp3)
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($rp)
$Width = _GDIPlus_ImageGetWidth($hImage)
$Height = _GDIPlus_ImageGetHeight($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
$i = $rp1
$xa = $Width / $rp1
$tip = ""
if $Width <> $rp1 and $Height <> $rp2 then $tip = $Width&" * "&$Height&" Pixel"
while $Height / $xa > $rp2
$i -= 1
$xa = $Width / $i
wend
$Width2 = $Width
$Height2 = $Height
if $Width > $rp1 or $Height > $rp2 then
$Width2 = int($Width / $xa)
$Height2 = int($Height / $xa)
endif
if $rp2 = 99999 Then
$width2 = $rp1
$height2 = int(($rp1/$width)*$height)
Else
$Width3 = 0
$Height3 = 0
if int(($rp1 - $Width2) / 2) > 1 then $Width3 = int(($rp1 - $Width2) / 2)
if int(($rp2 - $Height2) / 2) > 1 then $Height3 = int(($rp2 - $Height2) / 2)
if $rp3 = 1 then $oIEp.document.write("<body oncontextmenu='return false' scroll='no' style='border:0;margin-top:"&$Height3&"px; margin-left:"&$Width3&"px;background-image:url("&@TempDir & "\a2.jpg)'><img src =" & $rp & " width="&$Width2&" height="&$Height2&" alt='"&$tip&"'></body>")
$oIEp.refresh
endif
endfunc
While 1
sleep(20)
If stringinstr (GUICtrlRead($snip), "Cancel") > 0 Then
GUICtrlSetData($snip, "Desktop")
if $waiting = 0 Then
_dis()
WinSetState ($hi, "", @SW_ENABLE )
_area($snip, "Cancel")
GUIDelete($GUI_2)
$timestamp = @MDAY & "." & @MON & "." & @YEAR & "--" & @HOUR & "-" & @MIN & "-" & @SEC
$time2 = StringReplace (StringReplace ($timestamp, "--", " "), "-", ":")
if $s_width > 5 and $s_height > 5 then
$hBitmap = _ScreenCapture_Capture($datei2, $s_left, $s_top, $s_right, $s_down, false)
repic($datei2, 144, 81, 1)
endif
GUICtrlSetState ($snip, $GUI_ENABLE)
If FileExists($datei2) Then
If FileExists($datei2) Then
_wmark(int(GUICtrlRead($c23)))
GUICtrlSetState ($snip, $GUI_ENABLE)
_d2()
If FileExists (@TempDir & "\curl.txt") Then
_load($snip)
else
_lableer()
endif
endif
Else
GUICtrlSetState ($snip, $GUI_DISABLE)
repic(@TempDir & "\a2.jpg", 144, 81, 1)
_lableer()
EndIf
GUICtrlSetColor($c09, 0x008000)
GUICtrlSetData ($c09, $interface[29])
_en()
$waiting = 0
WinActivate ($hi, $interface[29])
EndIf
GUICtrlSetData($snip, "Desktop")
endif
If stringinstr (GUICtrlRead($shack), "Cancel") > 0 Then
if $waiting = 0 Then
$typ = "..jpg"
$fehler = 0
$quest = 0
_dis()
$datei4pre = FileOpenDialog("Browse...", $dialog, "Images (*.jpg;*.png;*.gif;*.bmp;*.tif)", 1 + 2 + 4)
$4c2 = StringLeft ($datei4pre, stringinstr ($datei4pre, "|") - 1) & "\"
$datei4pre = StringTrimLeft ($datei4pre, stringinstr ($datei4pre, "|"))
$datei4 = $4c2 & $datei4pre
if stringleft ($datei4, 1) = "\" then $datei4 = stringtrimleft ($datei4, 1)
GUICtrlSetData($shack, "Cancel")
$dialog = StringLeft($datei4, StringInStr ($datei4, "\", 0, -1))
$typ4 = StringRight ($datei4, 3)
$4log = $datei4
If @error Then
$fehler = 0
elseif $typ4 <> "bmp" AND $typ4 <> "tif" AND $typ4 <> "jpg" AND $typ4 <> "png" AND $typ4 <> "gif" AND $typ4 <> "" then
MsgBox(16,$interface[18], $interface[68])
$fehler=1
elseif StringLen ($datei4) > 0 then
GUICtrlSetData ($c08, $datei4)
if (StringLen ($datei4) - StringInStr ($datei4, "\", 0, -1)) > 20 OR StringInStr ($datei4, " ") > 0 then
FileCopy ($datei4, @TempDir & "\ptmp." & $typ4, 1)
$datei4 = @TempDir & "\ptmp." & $typ4
endif
if StringLen (GUICtrlRead($c08)) = 0 then
MsgBox(16,$interface[18], $interface[69])
$datei4 = ""
$fehler=1
endif
else
$fehler=1
EndIf
if $fehler=0 then
FileDelete (@TempDir & "\curl.txt")
$timestamp = @MDAY & "." & @MON & "." & @YEAR & "--" & @HOUR & "-" & @MIN & "-" & @SEC
$time2 = StringReplace (StringReplace ($timestamp, "--", " "), "-", ":")
if $typ4 = "gif" then
$datei5 = $datei2
$datei2 = $datei4
_curl($datei2)
repic($datei2, 144, 81, 1)
else
FileCopy ($datei4, $datei2, 1)
repic($datei2, 144, 81, 1)
$typ4 = "jpg"
If FileExists($datei2) Then
_wmark(int(GUICtrlRead($c23)))
endif
endif
GUICtrlSetState ($shack, $GUI_ENABLE)
If FileExists($datei2) Then
GUICtrlSetState ($shack, $GUI_ENABLE)
$typ = ".jpg"
_d2()
If FileExists (@TempDir & "\curl.txt") Then
_load($shack)
else
_lableer()
endif
endif
if $typ4 = "gif" then
$datei2 = $datei5
_curl($datei2)
endif
GUICtrlSetColor($c09, 0x008000)
GUICtrlSetData ($c09, $interface[29])
else
$dialog = @WindowsDir & "\"
_lableer()
WinActivate ($hi, $interface[29])
EndIf
$typ = StringRight ($datei2, 4)
_en()
$typ4 = ""
$waiting = 0
$4log = 0
WinActivate ($hi, $interface[29])
EndIf
GUICtrlSetData($shack, $interface[9])
EndIf
WEnd
Func _Quit()
if msgbox(68,"LiveSnap",$interface[22]) = 6 then Exit
EndFunc
Func _snip()
_tv($snip, "Desktop")
EndFunc
Func _shack()
_tv($shack, $interface[9])
EndFunc
Func _tv($tv1, $tv2)
Switch GUICtrlRead($tv1)
Case $tv2
$ip = 0
if $tv1 = $snip or $tv1 = $shack then
if int(guictrlread($c23)) > 2500 then msgbox(16,$interface[18], $interface[79])
if int(guictrlread($c23)) <= 2500 and $waiting = 0 Then GUICtrlSetData($tv1, "Cancel")
Else
if $waiting = 0 Then GUICtrlSetData($tv1, "Cancel")
endif
Case else
_exx()
GUICtrlSetData($tv1, $tv2)
EndSwitch
EndFunc
func _exx()
$ip = -1
$waiting = 0
GUICtrlSetData ($c08, "")
repic(@TempDir & "\a2.jpg", 144, 81, 1)
FileDelete (@TempDir & "\curl.txt")
GUICtrlSetData ($c09, $interface[86])
_en()
endfunc
Func _curl($curl)
Switch $opt3
Case "imageshack.us"
$newcurl = '-F fileupload=@"' & $curl & '" -H Expect: -o curl.txt --location-trusted --url "http://ufo.imageshack.us/"'
Case "abload.de"
$newcurl = '-F img0=@"' & $curl & '" -H Expect: -o curl.txt --url "http://www.abload.de/upload.php"'
case "andygo1.de"
$newcurl = '-F andygo=@"' & $curl & '" -H Expect: -o curl.txt --url "http://www.andygo1.de/upload.php"'
Case "imagebanana.com"
$newcurl = '-F upload[]=@"' & $curl & '" -F send=Hochladen! -H Expect: -o curl.txt --location-trusted --url "http://www.imagebanana.com/"'
Case "pic-upload.de"
$newcurl = '-F file=@"' & $curl & '" -F Submit=" Bild Hochladen" -H Expect: -o curl.txt --url "http://www.pic-upload.de/index.php?to=upload"'
Case "directupload.net"
$newcurl = '-F bilddatei=@"' & $curl & '" -H Expect: -o curl.txt --url "http://www.directupload.net/index.php?mode=upload"'
Case "img-teufel.de"
$newcurl = '-F upload_image=@"' & $curl & '" -H Expect: -o curl.txt --url "http://www.img-teufel.de/upload.html"'
case "OFFLINE - MODUS"
;ok
Case Else
Exit MsgBox(16, $interface[18], $interface[97])
EndSwitch
EndFunc
Func _wmark($wm4)
if int(GUICtrlRead($c23)) > 0 then
repic($datei2, int(GUICtrlRead($c23)), 99999, 0)
_GDIPlus_Startup()
$hBitmap1 = _WinAPI_CreateBitmap($Width2, $Height2, 1, 32)
$hImage = _GDIPlus_ImageLoadFromFile($datei2)
$hImage1 = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap1)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage1)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, 0, 0, $Width2, $Height2)
_GDIPlus_BitmapDispose($hImage)
_GDIPlus_ImageSaveToFile($hImage1, $datei2)
_GDIPlus_BitmapDispose($hImage1)
_WinAPI_DeleteObject ($hBitmap1)
_GDIPlus_Shutdown()
endif
repic($datei2, 144, 81, 1)
EndFunc
Func _d2()
$skb = (FileGetSize ($datei2) / 1024)
local $foo = Run(FileGetShortName(@TempDir) & "\" & "curl.exe " & $newcurl, FileGetShortName(@TempDir) & "\" , @SW_HIDE, $STDERR_CHILD), $line
While $ip = 0 and ProcessExists ( "curl.exe")
$line = StderrRead($foo)
$line = StringRegExp($line, '\d+', 3)
if NOT @error then
if $line[0] = 100 then $line[0] = 99
GUICtrlSetData ($c09, "uploading " & $line[0] & " %")
endif
sleep(50)
if $waiting = 0 then exitloop
Wend
Processclose ( "curl.exe")
GUICtrlSetData ($c09, "uploading 100 %")
if FileExists (@TempDir & "\" & "\curl.txt") = 0 Then FileInstall("dummy", @TempDir & "\" & "\curl.txt", 1)
EndFunc
func _load($ldi)
$file = FileOpen(@TempDir & "\" & "\curl.txt", 0)
$chars = FileRead($file)
FileClose($file)
_filter($datei2)
if stringlen ($chars) > 100 then $chars = "Error"
$show = $chars
if stringinstr ($show, ".jpg") > 0 or stringinstr ($show, ".gif") > 0 then
GUICtrlSetData($c08, $interface[195])
if GUICtrlRead($c24) = $interface[34] then ClipPut($show & @CRLF)
if GUICtrlRead($c24) = "HTML" then ClipPut("<img src="""&$show&""">"& @CRLF)
if stringinstr(GUICtrlRead($c24), ""& @CRLF)
endif
EndFunc
func _dis()
$opt3 = GUICtrlRead($cl2)
_curl($datei2)
FileDelete ( @TempDir & "\curl.txt" )
FileDelete (@TempDir & "\test.txt")
FileDelete ( $datei2 )
$waiting = 1
$x = ""
$y = ""
For $i = $snip to $c08
GUICtrlSetState ($i, $GUI_DISABLE)
next
GUICtrlSetState ($c09, $GUI_ENABLE)
GUICtrlSetColor($c09,0xff0000)
GUICtrlSetData ($c09, "preparing upload...")
EndFunc
func _en()
For $i = $snip to $c08
GUICtrlSetState ($i, $GUI_ENABLE)
next
GUICtrlSetData ($c09, $interface[29])
EndFunc
func _filter($filter)
if $opt3 = "imageshack.us" then
$result = StringInStr($chars, "url_image_path"" value=""")
$chars = StringTrimLeft($chars, $result + 22)
$result = StringInStr($chars, """")
$res2 = StringLen ($chars)
$chars = StringTrimRight($chars, $res2 - $result + 1)
$result = StringInStr($chars, "/")
$res2 = StringLeft ($chars, $result -1)
$chars = "http://" & $res2 & ".imageshack.us/" & $chars
elseif $opt3 = "abload.de" then
$result = StringInStr($chars, "";}}")
$res2 = StringLen ($chars)
$chars = StringTrimRight($chars, $res2 - $result + 1)
while StringInStr($chars, ":"") > 0
$res2 = StringInStr($chars, ":"")
$chars = StringTrimLeft($chars, $res2 + 6)
wend
$chars = "http://www.abload.de/img/" & $chars
elseif $opt3 = "imagebanana.com" then
$result = StringInStr($chars, "]")
$res2 = StringLen ($chars)
$chars = StringTrimRight($chars, $res2 - $result + 1)
$chars = StringReplace ($chars, "/thumb", "")
elseif $opt3 = "directupload.net" then
$result = StringInStr($chars, "[URL=http://www.directupload.net]")
$res2 = StringLen ($chars)
$chars = StringTrimRight($chars, $res2 - $result + 1)
elseif $opt3 = "img-teufel.de" then
$result = StringInStr($chars, "[Blockierte Grafik: http://www.img-teufel.de/uploads/")<br>%20%20%20%20%20%20%20%20%24chars%20=%20StringTrimLeft(%24chars,%20%24result%20+%204)<br>%20%20%20%20%20%20%20%20%24result%20=%20StringInStr(%24chars,%20"]")
$res2 = StringLen ($chars)
$chars = StringTrimRight($chars, $res2 - $result + 1)
Else
MsgBox(16, $interface[18], $interface[113])
Exit
EndIf
endfunc
Func _lableer()
GUICtrlSetColor($c09, 0x008000)
GUICtrlSetData ($c09, $interface[29])
ClipPut ("")
repic(@TempDir & "\a2.jpg", 144, 81, 1)
GUICtrlSetData($c08, "")
$show = ""
EndFunc
Func IsVisible($handle)
If BitAnd(WinGetState($handle), 2) Then
Return 1
Else
Return 0
EndIf
EndFunc
Func _directurl()
if StringInStr ($show, "http://") > 0 Then
if GUICtrlRead($c24) = $interface[34] then ClipPut($show & @CRLF)
if GUICtrlRead($c24) = "HTML" then ClipPut("<img src="""&$show&""">"& @CRLF)
if stringinstr(GUICtrlRead($c24), ""& @CRLF)
GUICtrlSetData($c08, $interface[137])
sleep(400)
GUICtrlSetData($c08, $interface[195])
endif
EndFunc
func _area($a1, $a2)
$var = WinList()
For $i = 1 to $var[0][0]
If $var[$i][0] <> "" AND $var[$i][0] <> "start" AND IsVisible($var[$i][1]) Then WinSetState ($var[$i][0], "", @SW_DISABLE )
Next
$GUI_2 = GUICreate("", 1, 1, -1, -1, 0x80000000 + 0x00800000, 0x00000008)
GUISetBkColor(0x0c6eec)
WinSetTrans($GUI_2, "", 130)
local $s_left = "", $s_top = "", $s_width = "", $s_height = "", $mgp[2]
$mpos = MouseGetPos()
Local $hGUI_Cross = GUICreate("", 30, 30, $mpos[0], $mpos[1], $WS_POPUP, $WS_DISABLED + $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST)
GUISetState(@SW_SHOW, $hGUI_Cross)
WinSetTrans($hGUI_Cross, "", 1)
GUISetCursor(3)
$x = WinGetPos($hi)
$y = 0
ToolTip($interface[199] & @CRLF & $interface[200] & @CRLF & @CRLF & $interface[201], $x[0]+160, $x[1]+35)
$ii = GUICtrlRead($a1)
$i = _Timer_Init()
While Not _IsPressed(01)
if _Timer_Diff($i) > 400 then
GUICtrlSetData($a1, "")
endif
if _Timer_Diff($i) > 800 then
$i = _Timer_Init()
GUICtrlSetData($a1, $ii)
endif
$mgp = MouseGetPos()
WinMove($hGUI_Cross, "", $mgp[0] - 15, $mgp[1] - 15)
Sleep(20)
if $y < 61 then $y += 1
if $y = 15 or $y = 45 then ToolTip("")
if $y = 30 or $y = 60 then ToolTip($interface[199] & @CRLF & $interface[200] & @CRLF & @CRLF & $interface[201], $x[0]+160, $x[1]+35)
if _IsPressed("1B") then exitloop
WEnd
GUICtrlSetData($a1, $a2)
WinMove($GUI_2, "", $mgp[0], $mgp[1], 1, 1)
GUISetState(@SW_SHOW, $GUI_2)
if _IsPressed(01) then
While _IsPressed(01)
$mgp_2 = MouseGetPos()
If $mgp_2[0] > $mgp[0] And $mgp_2[1] > $mgp[1] Then
local $s_left = $mgp[0], $s_top = $mgp[1], $s_width = $mgp_2[0] - $mgp[0], $s_height = $mgp_2[1] - $mgp[1], $s_right = $mgp_2[0], $s_down = $mgp_2[1]
ElseIf $mgp_2[0] > $mgp[0] And $mgp_2[1] < $mgp[1] Then
Local $s_left = $mgp[0], $s_top = $mgp_2[1], $s_width = $mgp_2[0] - $mgp[0], $s_height = $mgp[1] - $mgp_2[1], $s_right = $mgp_2[0], $s_down = $mgp[1]
ElseIf $mgp_2[0] < $mgp[0] And $mgp_2[1] > $mgp[1] Then
Local $s_left = $mgp_2[0], $s_top = $mgp[1], $s_width = $mgp[0] - $mgp_2[0], $s_height = $mgp_2[1] - $mgp[1], $s_right = $mgp[0], $s_down = $mgp_2[1]
ElseIf $mgp_2[0] < $mgp[0] And $mgp_2[1] < $mgp[1] Then
Local $s_left = $mgp_2[0], $s_top = $mgp_2[1], $s_width = $mgp[0] - $mgp_2[0], $s_height = $mgp[1] - $mgp_2[1], $s_right = $mgp[0], $s_down = $mgp[1]
EndIf
WinMove($GUI_2, "", $s_left, $s_top, $s_width, $s_height)
ToolTip($s_width & "x" & $s_height)
sleep(5)
WEnd
endif
ToolTip("")
GUIDelete($hGUI_Cross)
GLOBAL $s_left = $s_left, $s_top = $s_top, $s_width = $s_width, $s_height = $s_height, $s_right = $s_right, $s_down = $s_down
$var = WinList()
For $i = 1 to $var[0][0]
If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then WinSetState ($var[$i][0], "", @SW_ENABLE )
Next
endfunc
mich würde dein quelltext mal interessieren, quasi als ideenaustausch.
lg andy
hallo,
also erklären kann ich es jetzt nicht aber komischer weise gehts nun wieder.
evtl. lags an einer internen variable oder option, denn nachdem ich nun verschiedene aktionen im skript gemacht habe ist der "fehler" verschwunden.
ich setzte es mal auf gelöst, poste aber noch wenn ich herausfinde, was genau der fehler war.
danke
Hallo,
gibt es bei GUICtrlCreateCombo ein limit, wie viele elemente es maximal sein dürfen?
ich füge in einem scriptverlauf immer weitere hinzu, merke nur gerade bei 128 elementen das es probleme gibt in der liste zu "rollen". ich hab es mit scrollleiste, die kann ich mit gehaltener maustaste auch bedienen. nur wenn ich ein bestimmten eintrag wählen will klappt die combo sofort wieder ein. auch mit den cursor-tasten ist ein wechseln nicht mehr möglich.
bei weniger einträgen ist es kein problem.
[Blockierte Grafik: http://img5.imagebanana.com/img/dyyypxgz/tempsnap64.jpg]
wenn es ok ist, würde ich gern folgenden für mich angepassten codeschnipsel in meinem script integrieren:
Func Web_Screenshot($wsurl)
Local $wsoIE, $wsGUIActiveX, $wsoDocument, $wsoBody, $wsBodyWidth, $wsBodyHeight, $wsoHtml
Local $wshGUI, $wshWin, $wsaWin
$wsoIE = ObjCreate("Shell.Explorer.2")
#region render web site to get height
$wshGUI = GUICreate("", 1, 1, -1, -1, $WS_POPUP)
$wsGUIActiveX = GUICtrlCreateObj($wsoIE, 0, 0, 1024, 256)
With $wsoIE
.TheaterMode = False
.FullScreen = True
.Resizable = False
.Navigate($wsURL)
While .ReadyState <> 4
Sleep(50)
if $datei4cnt = 0 then exitloop
WEnd
if $datei4cnt = 0 then .stop
EndWith
if $datei4cnt = 1 then
$wsoDocument = $wsoIE.document
$wsoBody = $wsoDocument.body
$wsoBody.scroll = "no"
$wsoBody.style.borderStyle = "none"
$wsBodyWidth = $wsoBody.scrollWidth
$wsBodyHeight = $wsoBody.scrollHeight
endif
GUIDelete($wshGUI)
#endregion
if $datei4cnt = 1 then
$wshGUI = GUICreate("", $wsBodyWidth, $wsBodyHeight, -1, 0, BitOR($WS_CLIPCHILDREN, $WS_POPUP), Default, WinGetHandle(AutoItWinGetTitle()))
$wsGUIActiveX = GUICtrlCreateObj ($wsoIE, 0, 0, $wsBodyWidth, $wsBodyHeight + 50)
With $wsoIE
.TheaterMode = False
.FullScreen = True
.Resizable = False
.Navigate($wsURL)
While .ReadyState <> 4
Sleep(50)
if $datei4cnt = 0 then ExitLoop
WEnd
if $datei4cnt = 0 then .stop
EndWith
if $datei4cnt = 1 then
$wsoDocument = $wsoIE.document
$wsoBody =$wsoDocument.body
$wsoHtml = $wsoDocument.documentElement
$wsoBody.scroll = "no"
$wsoBody.style.borderStyle = "none"
$wsoHtml.style.overflow = 'hidden'
$wshWin = WinGetHandle("Program Manager")
$wsaWin = WinGetPos($wshWin)
WinMove($wshGUI, "", $wsaWin[0] - $wsBodyWidth + 1, $wsaWin[1] - $wsBodyHeight + 1) ;hide window
GUISetState(@SW_SHOWNA) ;Show GUI
Local $wshDC = _WinAPI_GetWindowDC($wshGUI)
Local $wshDC_Dummy = _WinAPI_GetWindowDC(0)
Local $wshMemDC = _WinAPI_CreateCompatibleDC($wshDC_Dummy)
Local $wshBitmap = _WinAPI_CreateCompatibleBitmap($wshDC_Dummy, $wsBodyWidth, $wsBodyHeight)
_WinAPI_SelectObject($wshMemDC, $wshBitmap)
_WinAPI_BitBlt($wshMemDC, 0, 0, $wsBodyWidth, $wsBodyHeight, $wshDC, 0, 0, $SRCCOPY)
_GDIPlus_Startup()
$wshBmp = _GDIPlus_BitmapCreateFromHBITMAP($wshBitmap)
_GDIPlus_ImageSaveToFile($wshBmp, $datei4)
_GDIPlus_BitmapDispose($wshBmp)
_GDIPlus_Shutdown()
_WinAPI_DeleteDC($wshMemDC)
_WinAPI_ReleaseDC($wshGUI, $wshDC)
_WinAPI_ReleaseDC(0, $wshDC_Dummy)
_WinAPI_ReleaseDC(0, $wshDC)
endif
GUIDelete($wshGUI)
endif
EndFunc
kann nämlich ab und zu ganz brauchbar sein ![]()
die preview ergibt hier leider nur das:
[autoit]
D:\=New=\Windows Screenshooter.au3(1189,37) : ERROR: FileOpen() [built-in] called with wrong number of args.
Local $hGIFFile = FileOpen($vData)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\=New=\Windows Screenshooter.au3(1232,36) : ERROR: FileOpen() [built-in] called with wrong number of args.
Local $hGIFFile = FileOpen($vData)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\=New=\Windows Screenshooter.au3 - 2 error(s), 0 warning(s)
edit: ok nun läufts, haben ja nur 2 mal ', 0' gefehlt
ok, hier funktioniert nun der resize / resample ohne zusatzprogramme.
die variablen $rp1 und $rp2 könnten vorher z.b. in einer Gui abgefragt werden.
;Coded by UEZ 2011
#include <Clipboard.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <GDIPlus.au3>
Global $oIE, $GUIActiveX, $oDocument, $oBody, $BodyWidth, $BodyHeight
Global $hGUI, $hWin, $aWin
Global $URL, $btn, $msg, $hWnd, $input
$hWnd = GUICreate("Save Web Page as an image", 320, 120)
$input = GUICtrlCreateInput("http://www.autoit.de", 10, 5, 300, 20)
$btn = GUICtrlCreateButton("Ok", 40, 35, 240, 70)
ControlFocus($hWnd, "", $btn)
GUISetState()
While $msg <> -3
$msg = GUIGetMsg()
Select
Case $msg = $btn
ExitLoop
Case $msg = -3
Exit
EndSelect
WEnd
$URL = GUICtrlRead($input)
GUIDelete($hWnd)
SplashTextOn("Screenshooting Web Site", "Please wait while taking screenshot ...", 300, 40, -1, -1, 37, "")
[/autoit] [autoit][/autoit] [autoit]$oIE = ObjCreate("Shell.Explorer.2")
[/autoit] [autoit][/autoit] [autoit]#region render web site to get height
$hGUI = GUICreate("", 1, 1, -1, -1, $WS_POPUP)
$GUIActiveX = GUICtrlCreateObj ($oIE, 0, 0, 1024, 256)
With $oIE
.TheaterMode = False
.FullScreen = True
.Resizable = False
.Navigate($URL)
While .ReadyState <> 4
Sleep(50)
WEnd
EndWith
$oDocument = $oIE.document
$oBody = $oIE.document.body
$oHtml = $oIE.document.documentElement
$oBody.scroll = "no"
$oBody.style.borderStyle = "none"
$oHtml.style.overflow = 'hidden'
;$oBody.style.overflowy = "hidden"
$BodyWidth = $oBody.scrollWidth
$BodyHeight = $oBody.scrollHeight
;~ $RootWidth = $oHtml.scrollWidth
;~ $RootHeight = $oHtml.scrollHeight
GUIDelete($hGUI)
#endregion
$hGUI = GUICreate("", $BodyWidth, $BodyHeight, -1, 0, BitOR($WS_CLIPCHILDREN, $WS_POPUP), Default, WinGetHandle(AutoItWinGetTitle()))
$GUIActiveX = GUICtrlCreateObj ($oIE, 0, 0, $BodyWidth, $BodyHeight + 50)
With $oIE
.TheaterMode = False
.FullScreen = True
.Resizable = False
.Navigate($URL)
While .ReadyState <> 4
Sleep(50)
WEnd
EndWith
$oDocument = $oIE.document
$oBody = $oIE.document.body
$oHtml = $oIE.document.documentElement
$oBody.scroll = "no"
$oBody.style.borderStyle = "none"
$oHtml.style.overflow = 'hidden'
$hWin = WinGetHandle("Program Manager")
$aWin = WinGetPos($hWin)
WinMove($hGUI, "", $aWin[0] - $BodyWidth + 1, 0) ;hide window
GUISetState(@SW_SHOWNA) ;Show GUI
Global $hDC = _WinAPI_GetWindowDC($hGUI)
Global $hDC_Dummy = _WinAPI_GetWindowDC(0)
Global $hMemDC = _WinAPI_CreateCompatibleDC($hDC_Dummy)
Global $hBitmap = _WinAPI_CreateCompatibleBitmap($hDC_Dummy, $BodyWidth, $BodyHeight)
_WinAPI_SelectObject($hMemDC, $hBitmap)
_WinAPI_BitBlt($hMemDC, 0, 0, $BodyWidth, $BodyHeight, $hDC, 0, 0, $SRCCOPY)
_WinAPI_DeleteDC($hMemDC)
_WinAPI_ReleaseDC($hGUI, $hDC)
_WinAPI_ReleaseDC(0, $hDC_Dummy)
_ClipBoard_Open(0)
_ClipBoard_Empty()
_ClipBoard_SetDataEx($hBitmap, $CF_BITMAP)
;bildverarbeitung start
$hBitmap2 = _ClipBoard_GetDataEx($CF_BITMAP)
_GDIPlus_Startup()
$hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap2)
$Width = _GDIPlus_ImageGetWidth($hImage)
$Height = _GDIPlus_ImageGetHeight($hImage)
$rp1 = 1024;maximale neue breite
$rp2 = 768;maximale neue höhe
;start berechnung neue höhe und neue breite im original-seitenverhältnis
$i = $rp1
$xa = $Width / $rp1
while $Height / $xa > $rp2
$i -= 1
$xa = $Width / $i
wend
$Width2 = $Width
$Height2 = $Height
if $Width > $rp1 or $Height > $rp2 then
$Width2 = int($Width / $xa)
$Height2 = int($Height / $xa)
endif
;ende berechnung neue höhe und neue breite im original-seitenverhältnis
$hBitmap1 = _WinAPI_CreateBitmap($Width2, $Height2, 1, 32)
$hImage1 = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap1)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage1)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, 0, 0, $Width2, $Height2)
_GDIPlus_ImageSaveToFile($hImage1, @scriptdir & "\GDIPlus_Image.jpg")
;bildverarbeitung ende
_GDIPlus_BitmapDispose($hImage)
_GDIPlus_BitmapDispose($hImage1)
_GDIPlus_Shutdown()
_ClipBoard_Close()
_WinAPI_DeleteObject ($hBitmap)
_WinAPI_DeleteObject ($hBitmap1)
_WinAPI_DeleteDC($hMemDC)
_WinAPI_ReleaseDC(0, $hDC)
GUIDelete($hGUI)
SplashOff()
MsgBox(0, "Information", "Web Site Image copied to clipboard!", 10)
Exit
hab es. (Zeile 76 bis 84)
;Coded by UEZ 2011 - alpha version
#include <Clipboard.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
Global $oIE, $GUIActiveX, $oDocument, $oBody, $BodyWidth, $BodyHeight
Global $hGUI, $hWin, $aWin
Global $URL, $btn, $msg, $hWnd, $input
$hWnd = GUICreate("Save Web Page as an image", 320, 120)
$input = GUICtrlCreateInput("http://www.autoit.de", 10, 5, 300, 20)
$btn = GUICtrlCreateButton("Ok", 40, 35, 240, 70)
ControlFocus($hWnd, "", $btn)
GUISetState()
While $msg <> -3
$msg = GUIGetMsg()
Select
Case $msg = $btn
ExitLoop
Case $msg = -3
Exit
EndSelect
WEnd
$URL = GUICtrlRead($input)
GUIDelete($hWnd)
Global $i = 0
SplashTextOn("Screenshooting Web Site", "Please wait while taking screenshot", 300, 40, -1, -1, 37, "")
AdlibRegister("Wait", 500)
$oIE = ObjCreate("Shell.Explorer.2")
[/autoit] [autoit][/autoit] [autoit]#region render web site to get height
$hGUI = GUICreate("", 1, 1, -1, -1, $WS_POPUP)
$GUIActiveX = GUICtrlCreateObj ($oIE, 0, 0, 1024, 256)
With $oIE
.TheaterMode = False
.FullScreen = True
.Resizable = False
.Navigate($URL)
While .ReadyState <> 4
Sleep(50)
WEnd
EndWith
$oDocument = $oIE.document
$oBody = $oIE.document.body
;~ $oHtml = $oIE.document.documentElement
$oBody.scroll = "no"
$oBody.style.borderStyle = "none"
;~ $oHtml.style.overflow = 'hidden'
;~ $oBody.style.overflow = 'hidden'
$BodyWidth = $oBody.scrollWidth
$BodyHeight = $oBody.scrollHeight
;~ $RootWidth = $oHtml.scrollWidth
;~ $RootHeight = $oHtml.scrollHeight
GUIDelete($hGUI)
#endregion
$hGUI = GUICreate("", $BodyWidth, $BodyHeight, -1, 0, BitOR($WS_CLIPCHILDREN, $WS_POPUP), Default, WinGetHandle(AutoItWinGetTitle()))
$GUIActiveX = GUICtrlCreateObj ($oIE, 0, 0, $BodyWidth, $BodyHeight + 50)
With $oIE
.TheaterMode = False
.FullScreen = True
.Resizable = False
.Navigate($URL)
While .ReadyState <> 4
Sleep(50)
WEnd
EndWith
;;;; Zusatz Start
$oDocument = $oIE.document
$oBody = $oIE.document.body
$oHtml = $oIE.document.documentElement
$oBody.scroll = "no"
$oBody.style.borderStyle = "none"
$oHtml.style.overflow = 'hidden'
;;;;; Zusatz Ende
$hWin = WinGetHandle("Program Manager")
$aWin = WinGetPos($hWin)
WinMove($hGUI, "", $aWin[0] - $BodyWidth + 1, $aWin[1] - $BodyHeight+ 1) ;hide window
GUISetState(@SW_SHOWNA) ;Show GUI
Global $hDC = _WinAPI_GetWindowDC($hGUI)
Global $hDC_Dummy = _WinAPI_GetWindowDC(0)
Global $hMemDC = _WinAPI_CreateCompatibleDC($hDC_Dummy)
Global $hBitmap = _WinAPI_CreateCompatibleBitmap($hDC_Dummy, $BodyWidth, $BodyHeight)
_WinAPI_SelectObject($hMemDC, $hBitmap)
_WinAPI_BitBlt($hMemDC, 0, 0, $BodyWidth, $BodyHeight, $hDC, 0, 0, $SRCCOPY)
_WinAPI_DeleteDC($hMemDC)
_WinAPI_ReleaseDC($hGUI, $hDC)
_WinAPI_ReleaseDC(0, $hDC_Dummy)
_ClipBoard_Open(0)
_ClipBoard_Empty()
_ClipBoard_SetDataEx($hBitmap, $CF_BITMAP)
_ClipBoard_Close()
_WinAPI_DeleteObject ($hBitmap)
_WinAPI_DeleteDC($hMemDC)
_WinAPI_ReleaseDC(0, $hDC)
GUIDelete($hGUI)
AdlibUnRegister("Wait")
SplashOff()
MsgBox(0, "Information", "Web Site Image copied to clipboard!", 10)
Exit
Func Wait()
Switch Mod($i, 4)
Case 0
ControlSetText("Screenshooting Web Site", "", "Static1", "Please wait while taking screenshot")
Case 1
ControlSetText("Screenshooting Web Site", "", "Static1", "Please wait while taking screenshot .")
Case 2
ControlSetText("Screenshooting Web Site", "", "Static1", "Please wait while taking screenshot ..")
Case 3
ControlSetText("Screenshooting Web Site", "", "Static1", "Please wait while taking screenshot ...")
EndSwitch
$i += 1
EndFunc
moin moin,
also bei mir erzeugt dein script folgendes bild:
http://www.andygo1.de/01-2011/11.01.2011--11_17_43--FrLx.jpg
vertikale balken fallen mir jetzt nicht auf.
rendern würde ich es im command-line-mode mit irfanview.
die "offiziellste" seite zu genanntem tool scheint diese hier:
http://forum.doom9.org/showthread.php?t=125966
im beitrag des autors wird seine gleichnamige domain genannt:
http://madshi.net
dort wird dann auch sein kontakt genannt unter dem man ihn erreicht.
so könnte man mal nach der .au3 fragen.
Hallo,
habe dem Script mal ein update verpasst.
Hauptsächlich wurde die Darstellung der Bildvorschau geändert,
diese erfolgt nicht mehr über ein Festformat Picturecontrol sondern über eingebettetes IE
und Maßstabsgetreu. An den Fileincludes hat sich nichts geändert, die werden also nicht neu
benötigt.
Grüße, Andy
edit: sry, die sprachdateien sind auch aktualisiert worden.
evtl werden die variablen als text und nicht als zahlen betrachtet. versuch es mal so:
[autoit]
If int($cfgKeepConnectionAliveFrequency) > int($cfgMaxIdleTime) Then
MsgBox(0, "test", $cfgMaxIdleTime)
MsgBox(0, "test", $cfgKeepConnectionAliveFrequency)
EndIf
Weis keiner was dazu?
moin moin,
im prinzip gehts um folgende form:
[autoit]
<form method="post" action="http://www.autoit.de/index.php?form=MembersSearch">
<input type="text" class="inputText" id="username" name="staticParameters[username]" value="" />
<input type="checkbox" name="matchExactly[username]" value="1" />
<input type="text" class="inputText" id="email" name="staticParameters[email]" value="" />
<input type="checkbox" name="matchExactly[email]" value="1" />
<input type="radio" name="values[gender]" value="0" checked="checked" />
<input type="radio" name="values[gender]" value="1"/>
<input type="radio" name="values[gender]" value="2"/>
<input id="location" type="text" class="inputText" name="values[location]" value="" />
<input id="occupation" type="text" class="inputText" name="values[occupation]" value="" />
<input id="hobbies" type="text" class="inputText" name="values[hobbies]" value="" />
<input id="homepage" type="text" class="inputText" name="values[homepage]" value="" />
<input id="icq" type="text" class="inputText" name="values[icq]" value="" />
<input id="msn" type="text" class="inputText" name="values[msn]" value="" />
<input id="skype" type="text" class="inputText" name="values[skype]" value="" />
<input id="jabber" type="text" class="inputText" name="values[jabber]" value="" />
<input type="submit" accesskey="s" value="Absenden" />
<input type="reset" accesskey="r" value="Zurücksetzen" />
</form>
die würde ich per fileopen, filewriteline, fileclose mit den entsprechend eingegebenen werten deiner gui als lokale html schreiben und dann mit _ienavigate, _IEFormGetObjByName, _IEFormElementGetObjByName... und mit _ieaction dann den finalen klick um die form abzusenden. danach den zurückgegebenen quelltext auslesen. so sollte es klappen.
hallo,
ich bin seit nem halben jahr bei netcup.de und bisher sehr zufrieden.
auch was den support angeht: super erreichbar, schnelle antworten.
mfg