autoit Gui Schnellstartleiste Hilfe

11/12/2009 19:13 Proffni#1
Hi Leute

ACHTUNG v 1.0.0.9 released

Danke an alle die mir geholfen haben, meine Schnellstartleiste zu vervollständigen

Hier Der Code (v 1.0.0.8): (als Download unten)

Die Datei definited ist nötig, damit eine Fehlermeldung erscheint, wenn man versucht einen nicht festgelegten Button zu nutzen Hier der Code für die datei "not definited.exe"


DIE AKTUELLE VERSION: 1.0.0.9 released
Hier der Code:



es sind 19 buttons, ausgelegt auf die eine Bildschirmauflösung von mindestens 1024 als Breite (z.B. 1024/768 ; 1280/1024:1680/1050 (andere Auflösung natürlich auch möglich, da sich die Schnellstartleiste anpasst)

19 buttons +1 optionen button und 1 Beenden Button

Versions Infos:

Ich werde jetzt die nächste Zeit nicht weiter daran arbeiten. Wenn es Probleme oder fragen gibt einfach eine email an
schicken

Im Download enthalten:
WAS MUSS ICH DOWNLOADEN?

zum Download:
VirenCheck ist in einem meiner Posts (auf seite 2)
MfG, euer Proffni
11/13/2009 01:06 Mankana#2
Mit den Style $WS_POPUP hat dein Fenster keinen Rahmen mehr.
Damit dein GUI oben erstellt wird musst du einfach noch die Koordinaten für das GUI
angeben. Das ganze sieht wie folgt aus:

GUICreate("Schnellstarter", 1675, 20,0,0,$WS_POPUP)
GUICreate("Title", Width, Height,Left,Top,Style)

Des weiteren solltest du dir mal die Makros von AutoIt angucken,
@DesktopWidth wird dir Beispielsweise sehr nützlich sein.
11/13/2009 06:12 Proffni#3
danke Mankana ich werd mir heute mal die zeit nehmen mir das ganze anzuschauen

falls noch jemand tipps hat bitte melden

vG Proffni

EDIT: Hab das mal eingebaut die koordinaten und das popup

für $WS_POPUP musste ich aber den wert 0x8000000 eingeben
der aber dank der hilfe funktion nicht schwer herauszufinden war
11/13/2009 08:32 | Moep |#4
Quote:
Originally Posted by Proffni View Post
...ist es irgendwie möglich, dass meine Schnellstartleiste immer im vordergrund ist?...
[Only registered and activated users can see links. Click Here To Register...]
11/13/2009 14:12 Proffni#5
Danke an euch beide

falls es noch tipps von irgendjemanden zu meinem "schnellstarter" gibt meldet euch. bzw wenn es tipps dazu gibt, wie man das mit den icons am geschicktesten erledigt^^

Lg Proff
11/13/2009 16:06 | Moep |#6
Quote:
Originally Posted by Proffni View Post
...wie man das mit den icons am geschicktesten erledigt...
Was meinst du?

Vorschläge:
- nur soviele Button anzeigen wie auchwirklich vergeben sind, das ganze also dynamisch gestalten
- Buttons durch ziehen der Originaldatei in die Schnellstartleiste hinzufügen
- Buttons durch Symbole ersetzen
- Symbole/Buttons bei drüberfahren mit der MAus hervorheben, bzw Tooltips anzeigen

..mir fällt da bestimmt noch einiges ein ;)
11/13/2009 16:53 Proffni#7
Quote:
Originally Posted by | Moep | View Post
Was meinst du?

Vorschläge:
- nur soviele Button anzeigen wie auchwirklich vergeben sind, das ganze also dynamisch gestalten
- Buttons durch ziehen der Originaldatei in die Schnellstartleiste hinzufügen
- Buttons durch Symbole ersetzen
- Symbole/Buttons bei drüberfahren mit der MAus hervorheben, bzw Tooltips anzeigen

..mir fällt da bestimmt noch einiges ein ;)
die ideen sind gut... nur da ich erst n autoit anfänger bin
fehlts mir noch an den programmierkenntnissen dafür
kann mir jemand sagen wie man das ganze umsetzen kann...
-dynamische anzahl,
-einfach mit ziehen einfügen das scheint mir am schwierigsten
-das mit den symbolen meinte ich mit icons^^
-o.O ich glaub ich bin wirklich n noob was autoit angeht... so ohne hilfe könnte ich jetz maximal das "Buttons durch Symbole ersetzen"

wie ich den rest mach... kA
11/13/2009 21:00 Proffni#8
bin jetzt gerade dabei, mein programm so umzuschreiben, dass man via dem Optionen Button das zeug umändern kann. natürlich muss ich dafür alles als variable schreiben. da setzt das Problem ein... mein Programm lässt sich nicht ausführen, weil was mit den arrays nicht stimmt ich kann aber nicht finden was.

Nicht irritieren lassen von: unter optionen ist erst ein Button zum nutzen da... aber der funktioniert ja anscheinend noch nicht.

sobald dieser fehler ausgemärzt ist versuche ich dann, dass ganze über ne ini laufen zu lassen, damit man nicht bei jedem neustart die links nue definieren muss

wer kann mir den fehler sagen:
Quote:
#cs=============================================== ================================================== =====================================
| Eine Fertige Schnellstartleiste für jeden PC/jedes Betriebssystem
|
| Auflösung sollte größer als 1024*768 sein
| Anzahl der Anwendungen: 19 + Optionen + Exit
|
| @Author : Proffni
| @version : 1.0.0.7 Beta
|
================================================== ================================================== ===================================
#ce

;includes
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <IE.au3>
#include <Array.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <File.au3>
Opt('MustDeclareVars', 1)

_Main()

; die komplette schnellstartleiste ist als eine einzige Funktion erstellt. so kann sie später auch in andere Programme eingebaut werden als Toolbar oder "Cheatbar"

Func _Main()
;variablendevlaration
Local $slotname[19],$speicherort[19],$iconspeicherort[19],$iconnummer[19],$desktopwidth,$mittelposition,$slot[2][19],$msg,$msg2,$optionen,$ExitID,$hfilesel
;festlegen der Startwerte der Variablen
; 1. die "Labels"
$slotname[0]="Editor"
$slotname[1]="Firefox"
$slotname[2]="IE"
$slotname[3]="Atlantica"
$slotname[4]="Unbenannt"
$slotname[5]="Unbenannt"
$slotname[6]="Unbenannt"
$slotname[7]="Unbenannt"
$slotname[8]="Unbenannt"
$slotname[9]="Unbenannt"
$slotname[10]="Unbenannt"
$slotname[11]="Unbenannt"
$slotname[12]="Unbenannt"
$slotname[13]="Unbenannt"
$slotname[14]="Unbenannt"
$slotname[15]="Unbenannt"
$slotname[16]="Unbenannt"
$slotname[17]="Unbenannt"
$slotname[18]="Unbenannt"

;2. die Speicherorte der zu verlinkenden Programmen

$speicherort[0]="Notepad"
$speicherort[1]="C:\Program Files\Mozilla Firefox\firefox.exe"
$speicherort[2]="C:\Program Files\Internet Explorer\iexplore.exe"
$speicherort[3]="C:\nDoors\Atlantica_EU\AtlanticaRun.exe"
$speicherort[4]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[5]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[6]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[7]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[8]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[9]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[10]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[11]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[12]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[13]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[14]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[15]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[16]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[17]="C:\Users\Proffni\Desktop\autoit\not definited.exe"
$speicherort[18]="C:\Users\Proffni\Desktop\autoit\not definited.exe"

;Die Speicherorte der zugehörigen Icons und die "Iconnummer"
; (Iconnummer ist z.B. in *.dll nötig, da dort mehrere Icons "vereint" sind
$iconspeicherort[0]="notepad.exe"
$iconspeicherort[1]="%ProgramFiles%\Mozilla Firefox\firefox.exe"
$iconspeicherort[2]="C:\Program Files\Internet Explorer\iexplore.exe"
$iconspeicherort[3]="%SystemDrive%\nDoors\Atlantica_EU\Atlantica.i co"
$iconspeicherort[4]="C:\Windows\system32\shell32.dll"
$iconspeicherort[5]="C:\Windows\system32\shell32.dll"
$iconspeicherort[6]="C:\Windows\system32\shell32.dll"
$iconspeicherort[7]="C:\Windows\system32\shell32.dll"
$iconspeicherort[8]="C:\Windows\system32\shell32.dll"
$iconspeicherort[9]="C:\Windows\system32\shell32.dll"
$iconspeicherort[10]="C:\Windows\system32\shell32.dll"
$iconspeicherort[11]="C:\Windows\system32\shell32.dll"
$iconspeicherort[12]="C:\Windows\system32\shell32.dll"
$iconspeicherort[13]="C:\Windows\system32\shell32.dll"
$iconspeicherort[14]="C:\Windows\system32\shell32.dll"
$iconspeicherort[15]="C:\Windows\system32\shell32.dll"
$iconspeicherort[16]="C:\Windows\system32\shell32.dll"
$iconspeicherort[17]="C:\Windows\system32\shell32.dll"
$iconspeicherort[18]="C:\Windows\system32\shell32.dll"
$iconnummer[0]= 1
$iconnummer[1]=1
$iconnummer[2]=1
$iconnummer[3]=1
$iconnummer[4]=1
$iconnummer[5]=1
$iconnummer[6]=1
$iconnummer[7]=1
$iconnummer[8]=1
$iconnummer[9]=1
$iconnummer[10]=1
$iconnummer[11]=1
$iconnummer[12]=1
$iconnummer[13]=1
$iconnummer[14]=1
$iconnummer[15]=1
$iconnummer[16]=1
$iconnummer[17]=1
$iconnummer[18]=1








;die Auflösung erfassen
$desktopwidth = @desktopwidth
;die Position der Icons erfassen
$mittelposition = $desktopwidth/22
;erstellen der Schnellstartleiste
GUICreate("Schnellstarter", $desktopwidth, 40,0,0,0x80000000)
;Deklarieren der Icons/Verknüpfungen mithilfe der oben deklarierten Variablen
$slot[0][0] = GUICtrlCreateButton($slotname[0],$mittelposition-20,0,40,40, $BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[0],$iconnummer[0])
$slot[0][1] = GUICtrlCreateButton($slotname[1], $mittelposition*2-20, 0, 40, 40, $BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[1],$iconnummer[1])
$ExitID = GUICtrlCreateButton("Exit", $mittelposition*21-20, 0, 40, 40,$BS_ICON)
GUICtrlSetImage(-1,"C:\Windows\system32\shell32.dll",-113)
$slot[0][2] = GUICtrlCreateButton($slotname[2],$mittelposition*3-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[2],$iconnummer[2])
$slot[0][3] = GUICtrlCreateButton($slotname[3],$mittelposition*4-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[3],$iconnummer[3])
$slot[0][4] = GUICtrlCreateButton($slotname[4],$mittelposition*5-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[4],$iconnummer[4])
$slot[0][5] = GUICtrlCreateButton($slotname[5],$mittelposition*6-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[5],$iconnummer[5])
$slot[0][6] = GUICtrlCreateButton($slotname[6],$mittelposition*7-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[6],$iconnummer[6])
$slot[0][7] = GUICtrlCreateButton($slotname[7],$mittelposition*8-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[7],$iconnummer[7])
$slot[0][8] = GUICtrlCreateButton($slotname[8],$mittelposition*9-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[8],$iconnummer[8])
$slot[0][9] = GUICtrlCreateButton($slotname[9],$mittelposition*10-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[9],$iconnummer[9])
$slot[0][10] = GUICtrlCreateButton($slotname[10],$mittelposition*11-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[10],$iconnummer[10])
$slot[0][11] = GUICtrlCreateButton($slotname[11],$mittelposition*12-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[11],$iconnummer[11])
$slot[0][12] = GUICtrlCreateButton($slotname[12],$mittelposition*13-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[12],$iconnummer[12])
$slot[0][13] = GUICtrlCreateButton($slotname[13],$mittelposition*14-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[13],$iconnummer[13])
$slot[0][14] = GUICtrlCreateButton($slotname[14],$mittelposition*15-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[14],$iconnummer[14])
$slot[0][15] = GUICtrlCreateButton($slotname[15],$mittelposition*16-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[15],$iconnummer[15])
$slot[0][16] = GUICtrlCreateButton($slotname[16],$mittelposition*17-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[16],$iconnummer[16])
$slot[0][17] = GUICtrlCreateButton($slotname[17],$mittelposition*18-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[17],$iconnummer[17])
$slot[0][18] = GUICtrlCreateButton($slotname[18],$mittelposition*19-20,0,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[18],$iconnummer[18])
$optionen = GUICtrlCreateButton("Optionen",$mittelposition*20-20,0,40,40)





WinSetOnTop ( "Schnellstarter", "", 1 )


GUISetState() ; display the GUI

Do
;erfassen der von GUI ausgehenden "Nachrichten"
$msg = GUIGetMsg()
;je nach nachricht die eintsprechenden Programme ausführen (auch mit oben deklarierten Variablen)
Select
Case $msg = $slot[0][0]
run($speicherort[0])
Case $msg = $slot[0][1]
Run($speicherort[1])
Case $msg = $slot[0][2]
Run($speicherort[2])
Case $msg = $slot[0][3]
Run($speicherort[3])
Case $msg = $slot[0][4]
Run($speicherort[4])
Case $msg = $slot[0][5]
Run($speicherort[5])
Case $msg = $slot[0][6]
Run($speicherort[6])
Case $msg = $slot[0][7]
Run($speicherort[7])
Case $msg = $slot[0][8]
Run($speicherort[8])
Case $msg = $slot[0][9]
Run($speicherort[9])
Case $msg = $slot[0][10]
Run($speicherort[10])
Case $msg = $slot[0][11]
Run($speicherort[11])
Case $msg = $slot[0][12]
Run($speicherort[12])
Case $msg = $slot[0][13]
Run($speicherort[13])
Case $msg = $slot[0][14]
Run($speicherort[14])
Case $msg = $slot[0][15]
Run($speicherort[15])
Case $msg = $slot[0][16]
Run($speicherort[16])
Case $msg = $slot[0][17]
Run($speicherort[17])
Case $msg = $slot[0][18]
Run($speicherort[18])
Case $msg = $optionen
local $ExitID2
;Optionen Fenster öffnen
GUICreate("Optionen",400,400,200,200)
GUICtrlCreateLabel("bitte wähle einen Slot aus den du ändern willst",0,0)
$ExitID2 = GUICtrlCreateButton("Optionen schließen",300,0,100,30)
;die icons wieder einfügen, um auszuwählen welcher verknüpfung geändert werden soll
;die weiteren Slots werden noch hinzugefügt
$slot[1][0] = GUICtrlCreateButton($slotname[0],0,20,40,40,$BS_ICON)
GUICtrlSetImage(-1,$iconspeicherort[0],$iconnummer[0])
;GUI anzeigen:
GuiSetState()

Do
;erfassen der vom Optionenfenster ausgehenden "Nachrichten":
$msg2 = GUIGetMsg()
Select
; je nach nachricht (bisher erst 1 eingebaut.) eingabefenster starten, um die daten der neuen
;verknüpfung festzulegen
; wird in den variablen abgespeichert
Case $msg2 = $slot[1][0]
$slotname[0] = InputBox("ändern des slots 1","bitte gib den Namen des neuen Links ein",$slotname[0])
$speicherort[0] = InputBox("ändern des slots 1","bitte gib den Speicherort des neuen Links an",$speicherort[0])
$iconspeicherort[0] = InputBox("ändern des slots 1","bitte gib den Speicherort des LinkIcons an",$iconspeicherort[0])
$iconnummer[0] = InputBox("ändern des slots 1","bitte gib die Iconnummer an (meist 1)",$iconnummer[0])
Case $msg2 = $GUI_EVENT_CLOSE
WinClose("Optionen")
EndSelect
;schließen des Optionenfensters
Until $msg2 = $ExitID2



EndSelect
;schließen der Schnellstartleiste
Until $msg = $ExitID
EndFunc








Vielen Dank schon mal im Vorraus,
Proffni

EDIT: die gewünschten Comments eingefügt, sowie die array.au3 aingebunden. Fehler weiterhin vorhanden
EDIT2:die iconnummern alle einzeln deklariert, anstatt als pack von allen 19=> Fehler Behoben, neuer Fehler

soooo jetzt startet die Schnellstartleiste zumindest wieder
wenn man auf Optionen geht öffnet sich sogar das optionen fenster, man kann die daten umändern (nur mussich noch schauen, wie man bei dem pfad und dem iconpfad so ein durchsuchen zeugs einfügt)
aaaber
wenn ich das optionen fenster beenden will macht er beim ersten mal gar nix. und bei zweiten mal beendet er die komplette Schnellstartleiste. was ist falsch?


danke schon mal im vorraus für die antworten und natürlich auch für die bereits genannten lösungsmöglichkeiten
11/13/2009 22:04 HardCore.1337#9
OKkk, und da siehst du noch durch??
Füg mal paar Kommentare ein oder so..

Und bind mal die Array.au3 ein ;)
11/13/2009 22:43 Proffni#10
Quote:
Originally Posted by General Desert View Post
OKkk, und da siehst du noch durch??
Füg mal paar Kommentare ein oder so..

Und bind mal die Array.au3 ein ;)
hab die array.au3 eingebunden, was aber anscheinend nichts an der fehlermeldung geändert hat...

ich mach mich gleich mal dran, comments einzufügen^^
11/14/2009 13:07 | Moep |#11
So funktionierts, Zeile 248 - 252 hab ich bissel was verändert und zwecks besserer Übersicht Tidy drüberlaufen lassen.

11/14/2009 19:44 Proffni#12
ach danke. den schließen befehl für gui hab ich noch gar nich gekannt^^

jetzt funktioniert das schon mal einigermaßen jetz hab ich natürlich wieder das nächste problem wie es nun mal so ist.

Wie schaffe ich es, dass der nach dem ändern der informationen von den Verknüpfungen die Schnellstartleiste neu lädt mit den veränderten variablen (also nicht die komplette .exe neu startet)

und wie stelle ich es am geschicksten an, dass mein programm die daten aus einer ini datei zieht und natürlich bei änderungen auch dort reinspeichert?.

Hier der aktuelle Code:


Wäre wie immer um jede hilfe dankbar. Es ist immer noch die beta version von 1.0.0.7 (diese soll das ganze über optionen veränderbar machen)
mit ini datei wird es dann die .8 - version


Lg Proff
11/16/2009 17:26 Proffni#13
So, die schnellstartleiste ist soweit einsatzfähig. den kompletten Code sowie den download findet ihr auf dem ersten Post dieses Threads

eine Frage hab ich noch: Der Scan meines *.rar Files hat folgendes Ergebnis geliefert:

was bedeuten diese "Trojaner" die gefunden wurden bzw. sind das wirklich trojaner und wenn ja was kann ich dagegen machen?


Vg, Proffni
11/17/2009 18:27 AllesVergeben#14
Nein, sind keine.
Das liegt daran, dass AutoIT die dateien mit UPX packt.
UPX ist bei vielen Viren ausschlaggebend, da es bei Viren sehr oft eingesetzt wird.

PS: Du wirst dir ja wohl keinen Trojaner scripten, ohne es zu wissen ;)
11/17/2009 18:38 Proffni#15
Quote:
Originally Posted by AllesVergeben View Post
Nein, sind keine.
Das liegt daran, dass AutoIT die dateien mit UPX packt.
UPX ist bei vielen Viren ausschlaggebend, da es bei Viren sehr oft eingesetzt wird.

PS: Du wirst dir ja wohl keinen Trojaner scripten, ohne es zu wissen ;)
hätte mich auch gewundert

thx