is ja geil
genau das was ich gesucht hab ![]()
Beiträge von Icynator
-
-
Hey Leute,
[autoit]
ich hab mal eine Frage, und zwar bekomm ich mit_StringBetween
[/autoit]ja immer in die einzelnen Arrayteile einen String...
z.b
$Array[0] = 0
$Array[1] = 2nun mein Problem:
Wie kann ich prüfen bis wohin eine Array gefüllt ist?
Also z.b. in $Array[2] steht jetzt nixmehr....
wenn ich die jetzt abfragen würde kommt n error....Bisher hab ichs so probiert:
[autoit]$aArray1 = _StringBetween($source, '<tr><td class="td1">', '</td><td><a href')
[/autoit][autoit][/autoit][autoit]
_ArrayDisplay($aArray1, 'Standardsuche')$i = 0
[/autoit]
Do
$i += 1
If $aArray1[$i] = "" Then ContinueLoop
Until $i = 100Funktioniert ja allerdings nicht...

Wisst Ihr zufälligerweiße wie ich des machen könnte?mfg
Icynator -
Hey, das Link ist ja ma geil, da sind viele nützliche Sachen, aber wenn ich z.B. auf GuiHole drücke komm ich immer wieder zur Startseite, warum?
weil das ja nich auf eigene threads verlinkt sondern auf einige beiträge
-
ne cur datei hatte ich schon
nur ich wusste nich wie ich die verwende daher hab ichs in png umgewandelt 
den letzten teil deines vorschlags find ich echt gut @IsleOfTechno...
[autoit]
allerdings hab ich jetzt ein problem...
und zwar reicht es schon aus wenn ich den quellcode so schreib:#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>$GUI = GUICreate( "",288, 140, -1, -1 ,$WS_POPUP, 0)
[/autoit][autoit][/autoit][autoit]
GUISetCursor(16,1)
$Pic = GUICtrlCreatePic("login.bmp",0,0,288,140)GUISetState()
[/autoit][autoit][/autoit][autoit]GUIRegisterMsg($WM_SETCURSOR, 'WM_SETCURSOR')
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$Cur = DllCall("user32.dll", "int", "LoadCursorFromFile", "str","C:\Dokumente und Einstellungen\Icynator\Desktop\cursor.cur")While 1
[/autoit][autoit][/autoit][autoit]
WEndFunc WM_SETCURSOR($hWnd, $iMsg, $iWParam, $iLParam)
[/autoit]
If $hWnd = $GUI Then
DllCall("user32.dll", "int", "SetCursor", "int", $Cur[0])
Return 0
EndIf
EndFuncallerdings funzt das nur wenn ich
[autoit]$Pic = GUICtrlCreatePic("login.bmp",0,0,288,140)
[/autoit]auskommentiere..
denn wenn des bild existiert (was ja die gesamte größe der gui einnimmt) wechselt der mauszeiger nicht mehr
weiß jemand rat? -
Hi leute,
[autoit]
ich hab mal wieder ein problem....
und zwar hab ich versucht ein bild als mauszeiger zu benutzen... auf dem Bild is mein wunschmauszeiger und der hintergrund transparent...
so jetzt hab ich probiert das so zu lösen:#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>$GUI = GUICreate( "",288, 140, -1, -1 ,$WS_POPUP, 0)
[/autoit][autoit][/autoit][autoit]
GUISetCursor(16,1)
GUICtrlCreatePic("login.bmp",0,0,288,140)
_GDIPlus_StartUp()
$hImage = _GDIPlus_ImageLoadFromFile("cursor.png")
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($GUI)GUISetState()
[/autoit][autoit][/autoit][autoit]AdlibEnable("Mousecursor",5)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]
WEndFunc Mousecursor()
[/autoit]
$MousePos = MouseGetPos()
$WinPos = WinGetPos($GUI)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, $MousePos[0] - $WinPos[0], $MousePos[1] - $WinPos[1])
EndFuncaber jetzt würden ja die mauszeiger auf meiner gui bleiben und nichmehr weg gehn... so das ich quasi ganz viele mauszeiger hab die sich nich bewegen....
wie könnte ich das ändern?
mfg
Icynator -
bin ausversehn oben auf löschen gekommen und ich kanns ja nich wieder herstellen...
SRY -
okay hat sich erledigt

danke bugfix
-
sry hatte den letzten beitrag davon übersehn...
ich habs mir jetzt mal angeschaut... aber i-wie is das zuviel neues für mich grad um den einen befehl zu verstehn...
sry...
könnte das bitte einer genauer erklären? vill. mit einem kleinen beispiel....
so das z.b. wenn man über einen button fährt und dort drauf bleibt ohne zu klicken das dann n tooltip kommt... -
ich versteh nich so wirklich wie mir der link helfen sollte?!
-
Hi,
ich bins mal wieder
nach circa einer halben stunde rumprobiern/rumsuchen hab ichs immernoch nich geschafft... deswegen frag ich jetzt einfach mal wieder hier nach
und zwar kann mir bitte einer
[autoit]GUIRegisterMsg($WM_MOUSEHOVER,"Hover")
[/autoit]
erklären?ich glaub zu wissen das wenn man mit der maus über einen button oder sowas drüber geht n befehel also in dem beispiel "Hover" ausgeführt wird...
nur leider weiß ich nicht wirklich wie ich das verwenden kann....mein script sieht im moment so aus:
[autoit]$WM_MOUSEHOVER=0x02A1
[/autoit][autoit][/autoit][autoit]$GUI = GUICreate("Test", 682, 461, 222, 171)
[/autoit][autoit][/autoit][autoit]
$Print = GUICtrlCreateButton("Drucken", 80, 4, 75, 25, 0)
GUIRegisterMsg($WM_MOUSEHOVER, "Over")
GUISetState(@SW_SHOW)Func Over()
[/autoit]
ToolTip("test",0,0)
EndFunc -
Hallo,
[autoit]
ich hätte mal eine Frage und zwar hab ich nämlich vor so eine Art Texteditor zu schreiben.
Mein Problem dabei ist das bei GUICtrlCreateEdit die Funktion:While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Edit1
EndSwitch
WEndnicht funktioniert....
weiß einer wie ich das umsetzen könnte das jedes mal wenn ich einen Buchstaben bei GUICtrlCreateEdit eingebe eine bestimmte Funktion aufgerufen wird?mfg
Icynator -
oh shit

joar stimmt
anfängerfehler
danke
deine lösung is viel besser wie meine im ersten post
-
Alles anzeigen
Sowas?
Wenn du $WS_POPUP verwendest, ist nur mehr der Test da...
Spoiler anzeigen
[autoit]#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>$hGui = GUICreate("", 300, 100, -1, -1, -1, $WS_EX_LAYERED)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xABCDEF)
$hLabel = GUICtrlCreateLabel("Test", 5, 5, 290, 90, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont($hLabel, 60)
GUICtrlSetColor($hLabel, 0x00FF00)
GUICtrlSetBkColor($hLabel, 0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hGui, 0xABCDEF, 255)
GUISetState()While GUIGetMsg() <> -3
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(5)
WEndFunc _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
[/autoit]
If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, _WinAPI_GetLastError(), 0)
Case Else
Return 1
EndSelect
EndFunc ;==>_WinAPI_SetLayeredWindowAttributeslgE
dein script is nich schlecht...
[autoit]
aber wenn ich jetzt bei$hGui = GUICreate("", 300, 100, -1, -1, -1, $WS_EX_LAYERED)
[/autoit]des $WS_EX_LAYERED durch $WS_POPUP ersetz zeigts bei mir gar nix mehr an... also auch keine label...
und wenn ich unten im tray des script beenden will flackern meine ganzen fenster und es dauert ewig bis der taskmgr offen is um des script zu beenden.... -
und was verstehst du davon nicht?
ich meinte damit das es halt nicht geht das der hintergrund vom label transparent ist... -
Hä, dann fürde ich die farbe mal ändern, wenn du nicht mehr willst das dass laber tnrasparent ist!
[autoit]GUICtrlCreateLabel("test",10,10,50,50)
[/autoit]
GUICtrlSetBkColor(-1,0xFFFFFF)ich will ja eben das das label transparent is...
was aber nicht funzt...
aber habs ja jetzt
-
Schau Dir mal diesen Thread an: [ gelöst ] Hab da mal eine Frage zur GUI.
okay,ich habs mir mal angeschaut....
allerdings hab ich jetzt ein weiteres problem...
wenn ich jetzt ein label machen will kann ich den hintergrund davon nicht transparent machen..code würde bei mir so aussehen:
[autoit]GUICtrlCreateLabel("test",10,10,50,50)
[/autoit]
GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) -
Hab ich ja....
dabei bin ich hierauf gestoßen:[ gelöst ] On Top, durchsichtige und trotzdem durchklicken?
aber i-wie bringt mich das nich wirklich weiter.... weil ich eine fehlermeldung nach der andern bekomm wenn ich den code von da übernehmen würde.....
und danke

-
Hallo Leute,
ich hätte mal eine Frage, und zwar ob es eine Möglichkeit gibt eine GUI zu erstellen die komplett transparent ist? Also so das man durch sie hindurch sehen kann aber man die Labels (wenn möglich mit transparenten Hintergrund) noch sieht?Und wenn ja, wie geht das?
Am besten anhand eines Beispielscriptes erklären
mfg
Icynatorokay hat sich erledigt...
[autoit]
ich habs jetzt so gemacht:#NoTrayIcon
[/autoit][autoit][/autoit][autoit]
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <mem.au3>$PlayerBase = 0xA0465C
[/autoit][autoit][/autoit][autoit]$pid = WinGetProcess("SRO_Client")
[/autoit][autoit][/autoit][autoit]
If $pid = -1 Then
MsgBox(16, "SRO-Information", "Silkroad is not running!")
exit
EndIf
$info = _MemoryOpen($pid)$PlayerBase = _MemoryRead($PlayerBase, $info)
[/autoit][autoit][/autoit][autoit]; INI-Datei definieren Priorität: Userprofile vor lokaler Datei
[/autoit][autoit][/autoit][autoit]
If FileExists(@userprofiledir & "\Killcounter.ini") then
$inifile = @userprofiledir & "\Killcounter.ini"
Else
If FileExists(@scriptdir & "\Killcounter.ini") then
$inifile = @scriptdir & "\Killcounter.ini"
Else
$inifile = ""
EndIf
EndIf
FileInstall("Killcounter.gif",@tempdir & "\Killcounter.gif",1); GUI erzeugen mit Contextmenue "Beenden"
[/autoit][autoit][/autoit][autoit]
Opt("GUIOnEventMode", 1)
$gui = GUICreate("Killcounter",200,200, 318, 213,$WS_POPUP,BitOr($WS_EX_LAYERED,$WS_EX_TOOLWINDOW))
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_PrimeDown")
GUISetOnEvent($GUI_EVENT_CLOSE,"_Ende")
$bild_id = GUICtrlCreatePic(@tempdir & "\Killcounter.gif", 0, 0, 200,200)
$suchtext_id = GUICtrlCreateLabel("Test",50,50,50,50)
GUICtrlSetColor(-1,0xFFFFFF)
GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
$label = GUICtrlCreateLabel("KA",100,100,50,50)
GUICtrlSetColor(-1,0xFFFFFF)
GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
$CMenue = GUICtrlCreateContextMenu ($bild_id)
$CMenueEnde = GUICtrlCreateMenuitem ("Beenden",$CMenue,0)
GUICtrlSetOnEvent ($CMenueEnde, "_Ende")
GUISetState(@SW_SHOW)
WinSetOnTop("Killcounter", "", 1); alte Fensterposition laden und GUI verschieben
[/autoit][autoit][/autoit][autoit]
if $inifile <> "" then
$WinXPos = IniRead($inifile,"Startwerte","WinXPos","")
$WinYPos = IniRead($inifile,"Startwerte","WinYPos","")
If $WinXPos <> "" And $WinYPos <> "" then WinMove("Killcounter","",$WinXPos,$WinYPos)
endif; warten....
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
While 1
$PlayerCurHP = 0x350
$SpielerHP = _MemoryRead($PlayerBase + $PlayerCurHP, $info)
GUICtrlSetData($label, $SpielerHP,"")
Sleep(500)
WEnd; Danke für diese Funktion um das rahmenlose Fenster zu verschieben
[/autoit][autoit][/autoit][autoit]
Func _PrimeDown()
Local $DifX, $DifY, $MouseData = GUIGetCursorInfo(@GUI_WinHandle)
Local $WinPos = WinGetPos(@GUI_WinHandle)
Local $MPos = MouseGetPos()
$DifX = $MPos[0] - $WinPos[0]
$DifY = $MPos[1] - $WinPos[1]
Do
Sleep(15)
$MPos = MouseGetPos()
$MouseData = GUIGetCursorInfo(@GUI_WinHandle)
Until ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Or (Not $MouseData[2])
GUICtrlSetCursor($bild_id,9)
While $MouseData[2]
$MPos = MouseGetPos()
$WinPos = WinGetPos(@GUI_WinHandle)
If ($WinPos[0] <> ($MPos[0] - $DifX)) Or ($WinPos[1] <> ($MPos[1] - $DifY)) Then
WinMove(@GUI_WinHandle, '', $MPos[0] - $DifX, $MPos[1] - $DifY)
EndIf
Sleep(15)
$MouseData = GUIGetCursorInfo(@GUI_WinHandle)
WEnd
GUICtrlSetCursor($bild_id,2)
GUICtrlSetState($suchtext_id,$GUI_FOCUS)
GUICtrlSetState($label,$GUI_FOCUS)
EndFunc; Fensterposition merken und Programm beenden
[/autoit]
Func _Ende()
$iniid=fileopen($inifile,1)
if $iniid = -1 then $inifile = @userprofiledir & "\Killcounter.ini"
fileclose($iniid)
IniDelete($inifile,"Startwerte")
$WinPos = WinGetPos("Killcounter")
IniWrite($inifile,"Startwerte","WinXPos",$WinPos[0])
IniWrite($inifile,"Startwerte","WinYPos",$WinPos[1])
if FileExists(@Tempdir & "\Killcounter.gif") then FileDelete(@Tempdir & "\Killcounter.gif")
Exit
EndFuncich hoffe mal Micha_he is mir nich böse das ich einiges von seinem script geklaut hab... wenn doch sag bitte bescheid dann such ich ne andere möglichkeit....