Autoit Extra Gui's [32-Bit]

02/02/2011 17:11 freehuntx#1
[Einleitung]

Seit längerem habe ich eine art gefunden, echt tolle guis in Autoit zu realisieren.

Jetzt will ich euch zeigen wie es Funktioniert.

Vermerk!
Diese art Funktioniert nur bei 32-bit Pcs, dar die dazu benötigte dll für 32-bit ausgelegt ist!

Ich stelle euch alle 127 Skins zur verfügung.

Hier ein Beispiel:

[Only registered and activated users can see links. Click Here To Register...]

Alle Benötigten Dateien Findet ihr im Anhang, einschließlich BeispielSkript.
Ich werde keinen Virusscan anhängen, dar sich nur folgendes im archiv befindet.

- Skin.dll
- Beispiel.au3
- 127 .skr dateien

Keines dieser formate kann verwendet werden, um damit einem Pc schaden zuzufügen.

Solltet ihr dennoch einen Virusscan verlangen, bitte ich euch es zu Posten.


[Los Geht's]

Zuerst Zeige ich euch ein BeispielSkipt:

Code:
;Hier Kommen alle für euch benötigten Includes rein
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;Ende

;Hier gebt ihr an in welchen Pfad die Skin.dll und der skin.skf installiert werden.
FileInstall("C:\Users\Benutzer\Desktop\Blaster.skf", @Tempdir&"\Blaster.skf")
FileInstall("C:\Users\Benutzer\Desktop\SkinCrafterDll.dll", @Tempdir&"\SkinCrafterDll.dll")
;Ende



$hwnd=GUICreate("Beispiel",420, 374, 243, 196);Daten zur Form, wie name, Breite, länge und restliche Parameter
GUISetState()
$Dll = DllOpen(@TempDir&"\SkinCrafterdll.dll");Pfad der Skin.dll



;In diesem teil ist nur die 3. zeile wichtig für uns
DllCall($dll, "int:cdecl", "InitLicenKeys", "wstr","SKINCRAFTER","wstr","SKINCRAFTER.COM", "wstr", "[Only registered and activated users can see links. Click Here To Register...]","wstr","DEMOSKINCRAFTERLICENCE")
DllCall($Dll, "int:cdecl", "InitDecoration", "int", 1)
DllCall($Dll, "int:cdecl", "LoadSkinFromFile", "wstr", @TempDir&"\Blaster.skf");Pfad des skins

DllCall($Dll, "int:cdecl", "ApplySkin")
DllCall($Dll, "int:cdecl", "DecorateAs","long",$hwnd,"long",1)
;Ende



;In Diesen Bereich Kommen alle labels etc.
$Label1 = GUICtrlCreateLabel("FensterName:", 16, 16, 70, 17)
;Ende

GUISetState(@SW_SHOW)

While 1
  $nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
			
	EndSwitch
WEnd
Und hier könnt ihr euch ein Projekt von mir ansehen, in welchem ich dieses Prinzip Verwende.

Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

FileInstall("C:\Users\Bushida\Desktop\Neuer Ordner\Blaster.skf", @Tempdir&"\Blaster.skf")
FileInstall("C:\Users\Bushida\Desktop\Neuer Ordner\SkinCrafterDll.dll", @Tempdir&"\SkinCrafterDll.dll")


HotKeySet("{F5}", "LMSpamON")
HotKeySet("{F6}", "LMSpamOFF")
HotKeySet("{F7}", "RMHoldON")
HotKeySet("{F8}", "RMHoldOFF")
local $TastenSpam = false
local $LMSpam = false
local $RMHold = false
local $AHold = false
local $DHold = false
local $WHold = false
local $SHold = false


$hwnd=GUICreate("Teewars Window Manager",420, 374, 243, 196)
GUISetState()
$Dll = DllOpen(@TempDir&"\SkinCrafterdll.dll")

DllCall($dll, "int:cdecl", "InitLicenKeys", "wstr","SKINCRAFTER","wstr","SKINCRAFTER.COM", "wstr", "[Only registered and activated users can see links. Click Here To Register...]","wstr","DEMOSKINCRAFTERLICENCE")
DllCall($Dll, "int:cdecl", "InitDecoration", "int", 1)
DllCall($Dll, "int:cdecl", "LoadSkinFromFile", "wstr", @TempDir&"\Blaster.skf")

DllCall($Dll, "int:cdecl", "ApplySkin")
DllCall($Dll, "int:cdecl", "DecorateAs","long",$hwnd,"long",1)


$Label1 = GUICtrlCreateLabel("FensterName:", 16, 16, 70, 17)
$Input1 = GUICtrlCreateInput("", 96, 14, 121, 21)
$Label2 = GUICtrlCreateLabel("TastenSpam:", 16, 48, 67, 17)
$Input2 = GUICtrlCreateInput("", 96, 46, 65, 21)
$Button = GUICtrlCreateButton("Ändern", 230, 12, 75, 25)
$Button1 = GUICtrlCreateButton("Start", 184, 45, 75, 25)
$Button2 = GUICtrlCreateButton("Stop", 272, 45, 75, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label3 = GUICtrlCreateLabel("OFF", 368, 50, 24, 17)
GUICtrlSetBkColor(-1, 0xFF0000)
$Label4 = GUICtrlCreateLabel("Linke Maus Spammen:", 16, 96, 112, 17)
$Button3 = GUICtrlCreateButton("Start", 128, 90, 75, 25)
$Button4 = GUICtrlCreateButton("Stop", 216, 90, 75, 25)
$Label5 = GUICtrlCreateLabel("Rechte Maus Halten:", 16, 136, 105, 17)
$Button5 = GUICtrlCreateButton("Start", 128, 132, 75, 25)
$Button6 = GUICtrlCreateButton("Stop", 216, 132, 75, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label6 = GUICtrlCreateLabel("OFF", 368, 94, 24, 17)
GUICtrlSetBkColor(-1, 0xFF0000)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label7 = GUICtrlCreateLabel("OFF", 368, 136, 24, 17)
GUICtrlSetBkColor(-1, 0xFF0000)
$Label8 = GUICtrlCreateLabel("A Halten:", 16, 184, 48, 17)
$Label9 = GUICtrlCreateLabel("D Halten:", 16, 216, 49, 17)
$Label10 = GUICtrlCreateLabel("W Halten:", 16, 248, 52, 17)
$Label11 = GUICtrlCreateLabel("S Halten:", 16, 280, 48, 17)
$Button7 = GUICtrlCreateButton("Start", 128, 180, 75, 25)
$Button8 = GUICtrlCreateButton("Start", 128, 212, 75, 25)
$Button9 = GUICtrlCreateButton("Start", 128, 244, 75, 25)
$Button10 = GUICtrlCreateButton("Start", 128, 276, 75, 25)
$Button11 = GUICtrlCreateButton("Stop", 215, 180, 75, 25)
$Button12 = GUICtrlCreateButton("Stop", 215, 212, 75, 25)
$Button13 = GUICtrlCreateButton("Stop", 215, 244, 75, 25)
$Button14 = GUICtrlCreateButton("Stop", 215, 276, 75, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button15 = GUICtrlCreateButton("About", 328, 336, 75, 25)
$Label12 = GUICtrlCreateLabel("By FreehuntX", 16, 344, 68, 17)
$Label13 = GUICtrlCreateLabel("OFF", 368, 184, 24, 17)
GUICtrlSetBkColor(-1, 0xFF0000)
$Label14 = GUICtrlCreateLabel("OFF", 368, 214, 24, 17)
GUICtrlSetBkColor(-1, 0xFF0000)
$Label15 = GUICtrlCreateLabel("OFF", 368, 246, 24, 17)
GUICtrlSetBkColor(-1, 0xFF0000)
$Label16 = GUICtrlCreateLabel("OFF", 368, 280, 24, 17)
GUICtrlSetBkColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)

While 1
  $nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
			
		Case $Button
			_Fenstername()
		
		
		
		Case $Button1
			GUICtrlSetData($Label3, 'ON')
			GUICtrlSetBkColor ( $Label3, 0x01DF01 )
			$TastenSpam = true

		Case $Button2
			GUICtrlSetData($Label3, 'OFF') 
			GUICtrlSetBkColor( $Label3, 0xFF0000)
			$TastenSpam = false
			
		Case $Button3
			GUICtrlSetData($Label6, 'ON')
			GUICtrlSetBkColor ( $Label6, 0x01DF01 )
			local $LMSpam = true

		Case $Button4
			GUICtrlSetData($Label6, 'OFF') 
			GUICtrlSetBkColor( $Label6, 0xFF0000)
			local $LMSpam = false
			
		Case $Button5
			GUICtrlSetData($Label7, 'ON')
			GUICtrlSetBkColor ( $Label7, 0x01DF01 )
			local $RMHold = true

		Case $Button6
			GUICtrlSetData($Label7, 'OFF') 
			GUICtrlSetBkColor( $Label7, 0xFF0000)
			local $RMHold = false
			
		Case $Button7
			GUICtrlSetData($Label13, 'ON')
			GUICtrlSetBkColor ( $Label13, 0x01DF01 )
			local $AHold = true

		Case $Button11
			GUICtrlSetData($Label13, 'OFF') 
			GUICtrlSetBkColor( $Label13, 0xFF0000)
			local $AHold = false
			
        Case $Button8
			GUICtrlSetData($Label14, 'ON')
			GUICtrlSetBkColor ( $Label14, 0x01DF01 )
			local $DHold = true

		Case $Button12
			GUICtrlSetData($Label14, 'OFF') 
			GUICtrlSetBkColor( $Label14, 0xFF0000)
			local $DHold = false
			
			Case $Button9
			GUICtrlSetData($Label15, 'ON')
			GUICtrlSetBkColor ( $Label15, 0x01DF01 )
			local $WHold = true

		Case $Button13
			GUICtrlSetData($Label15, 'OFF') 
			GUICtrlSetBkColor( $Label15, 0xFF0000)
			local $WHold = false
			
			Case $Button10
			GUICtrlSetData($Label16, 'ON')
			GUICtrlSetBkColor ( $Label16, 0x01DF01 )
			local $SHold = true

		Case $Button14
			GUICtrlSetData($Label16, 'OFF') 
			GUICtrlSetBkColor( $Label16, 0xFF0000)
			local $SHold = false

	EndSwitch
	
	
	If $TastenSpam = true then ControlSend(Guictrlread($Input1), "", "", Guictrlread($Input2))
		
	If $LMSpam = true then ControlClick(Guictrlread($Input1), "", "","left")
		
	If $RMHold = true then ControlClick(Guictrlread($Input1), "", "","right")
				
	If $AHold = true then ControlSend(Guictrlread($Input1), "", "", "{a down}")
					
	If $DHold = true then ControlSend(Guictrlread($Input1), "", "", "{d down}")
						
	If $WHold = true then ControlSend(Guictrlread($Input1), "", "", "{w down}")
							
	If $SHold = true then ControlSend(Guictrlread($Input1), "", "", "{s down}")
	WEnd
	
	

Func _Fenstername()
	WinSetTitle("Teeworlds","",Guictrlread($Input1))
	GUICtrlSetState($Input1, $GUI_DISABLE)
EndFunc

Func LMSpamON()
	GUICtrlSetData($Label6, 'ON')
	GUICtrlSetBkColor ( $Label6, 0x01DF01 )
	$LMSpam = true
EndFunc

Func LMSpamOFF()
	GUICtrlSetData($Label6, 'OFF') 
	GUICtrlSetBkColor( $Label6, 0xFF0000)
	$LMSpam = false
EndFunc

Func RMHoldON()
	GUICtrlSetData($Label7, 'ON')
	GUICtrlSetBkColor ( $Label7, 0x01DF01 )
	$RMHold = true
EndFunc

Func RMHoldOFF()
	GUICtrlSetData($Label7, 'OFF') 
	GUICtrlSetBkColor( $Label7, 0xFF0000)
	$RMHold = false
EndFunc


Viel Spaß und solltet ihr Tipps, verbesserungsvorschläge etc habt, schreibt sie doch in diesen Thread.




02/02/2011 18:55 Klickboy#2
Das schreit doch nach Sticky xD
Dann bin ich mal der erste der des runterlaed ;D

So.. erster Eindruck
Die beispiel.au3 sieht bei mir recht normal aus, hab ich da was falsch verstanden oder soll das so sein ?

Ich hab mir jezt auch mal deinen Teeworlds Window Manager angeguckt,von einem geanderten Design seh ich nix...

ich guck mal kurz nach ob ich wirklich nen 32 bit hab´.

Ok ich hab´ Windows 7 Ultimate 32bit.
02/02/2011 19:57 omer36#3
hier noch die (ich denke mal) offizielle seite:
[Only registered and activated users can see links. Click Here To Register...]

hmm gibts die nicht auch für 64 bit?
02/03/2011 12:47 freehuntx#4
Es gibt die dll auch für 64 bit, allerdings zeigt diese einen DemoSplash an.

@klickboy.

du musst die pfade der dll und des skins ergänzen du musst dir das skript angucken dann siehst du dass der pfad von fileinstall angibt, aus welchem pfad, in welchen pfad installiert werden soll.

also

C:\Users\Benutzer\Desktop\Blaster.skf

und

C:\Users\Benutzer\Desktop\Skin.dll

änderst du in den pfad in welchem deine gedownloadete dll und skin liegt.

dann wenn du es kompilierst zu einer exe, wird es beim user in tempdir installiert, und er kann den skin sehen.
02/03/2011 14:12 v0lle#5
Damit die anderen , die vergessen das alles zu ändern mit den Pfaden, mach doch einfach in dein Script:

PHP Code:
FileInstall(@DesktopDir&"\Skins\Skin.skf", @DesktopDir&"\Skins\Skin.skf")
FileInstall(@DesktopDir&"\Skin.dll", @Desktopdir&"\Skin.dll")

DllCall($Dll"int:cdecl""LoadSkinFromFile""wstr", @DesktopDir&"\Skins\Skin.skf");Pfad des skins 

Dann schreibst du einfach in dein Beitrag das sie alles auf den Desktop ziehen müssen. ^^

Das ist nur für die User, die sich mit AutoIt kaum auskennen. :'D
02/03/2011 15:03 omer36#6
Quote:
Originally Posted by v0lle View Post
Damit die anderen , die vergessen das alles zu ändern mit den Pfaden, mach doch einfach in dein Script:

PHP Code:
FileInstall(@DesktopDir&"\Skins\Skin.skf", @DesktopDir&"\Skins\Skin.skf")
FileInstall(@DesktopDir&"\Skin.dll", @Desktopdir&"\Skin.dll")

DllCall($Dll"int:cdecl""LoadSkinFromFile""wstr", @DesktopDir&"\Skins\Skin.skf");Pfad des skins 

Dann schreibst du einfach in dein Beitrag das sie alles auf den Desktop ziehen müssen. ^^

Das ist nur für die User, die sich mit AutoIt kaum auskennen. :'D


FileInstall(@DesktopDir&"\Skins\Skin.skf" <-- stimmt nicht.

da musst du den genauen pfad angeben. keine macros ect verwenden
02/03/2011 15:10 freehuntx#7
Um es den Leuten leichter zu machen, habe ich mir schon vorgenommen ein Programm zu machen, mit welchem sie Designs, in einer vorschau ansehen können, und dann auswählen welches design sie möchten. Allerdings ist das schwer alleine.
02/03/2011 15:17 v0lle#8
Quote:
Originally Posted by omer36 View Post
FileInstall(@DesktopDir&"\Skins\Skin.skf" <-- stimmt nicht.

da musst du den genauen pfad angeben. keine macros ect verwenden
Bei mir funktioniert es aber trotz Macros. :confused:
02/03/2011 15:22 omer36#9
eher nicht, bzw versuch es mal zu complieren, spätestens dann müsste er ne fehlermeldung ausspucken, bzw beim starten kommen dann die files nicht an
02/03/2011 15:23 freehuntx#10
Wenn man bei Fileinstall Macros anwendet, wie in deinem Beispiel, funktioniert das skript...
ABER!
Wenn du es Kompilierst, kommt
1. eine Fehlermeldung
2. Funktioniert es bei anderen pcs nicht, dar die dateien nicht implementiert wurden

Edit: Warst schneller ;D
02/03/2011 15:29 v0lle#11
Jop , beim compilen spuckt er die Fehlermeldung aus. :p
02/03/2011 15:31 freehuntx#12
Ich werde mal einen ordner mit pics alles designs hochladen, so seht ihr sofort welches design, welchen namen trägt.

Edit: Done
02/03/2011 21:23 KDeluxe#13
Relative Pfade werden auch akzeptiert. Die Kommentare im Beispiel sind eigentlich überflüssig. Die meisten Includes sind bei deinem Beispiel auch unnötig. "GUISetState(@SW_SHOW)" ist auch überflüssig, da du weiter oben bereits "GUISetState()" benutzt.
Ich habe außerdem ein 64 Bit System und es funktioniert bei mir.

02/03/2011 21:56 omer36#14
hmm bei mir klappt es nicht -.-
03/22/2011 17:10 freehuntx#15
Finde es schon scheiße -.-

Ich sehe Immer wieder wie Leute jetzt dieses Prinzip verwenden, und kein einziger thanks.
Traurig.