1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. GegX

Beiträge von GegX

  • Dateiname beim Kopieren notfalls ändern?

    • GegX
    • 11. Dezember 2014 um 09:55

    musst du nicht einfach nur

    while fileexist($filename)
    $filename & = " (1)"
    wend

    damit sollte er wie das bei windoof üblich ist ein " (1)" an die datei anhägen bis es den file nicht gibt oder hab ich noch einen denkfehler drin?

  • Pseudo Desktop - Klasse eines störrischen Programmfensters ermitteln

    • GegX
    • 10. Dezember 2014 um 12:18

    Hallo,

    würde auch mit ProcessExists($iPID) nach dem Prozzes selber suchen.

    Spoiler anzeigen
    Code
    Local $aProcessList = ProcessList("java.exe")
    if $aProcessList[0][0] <> 0 Then
    MsgBox(1,"Beenden","Es sind noch " & $aProcessList[0][0] & " offenen Java Prozess")
    For $i = 1 To $aProcessList[0][0]
    $ret = MsgBox(1,"Beenden","Java Prozess mit PID: " & $aProcessList[0][0] & " beenden?")
    if $ret = 1 Then
    ProcessClose($aProcessList[$i][1]) ;beenden
    EndIf
    Next
    EndIf

    bzw

    Code
    Local $aWinList = WinList("Fenstername")
  • Chosen One

    • GegX
    • 25. Juli 2011 um 23:12

    So,
    heute ist es endlich soweit. Ich arbeite seit einiger Zeit an einem kleinen RPG mit online Modus.
    Die "bloody beta" ist fertig. Nun suche ich Betatester bzw weitere Ideen Anregeungen Verbesserungsvorschläge etc.
    Naja habe ich klein gesagt? Also das Spiel umfast mittlerweile knapp 400 MB ca 10k Zeilen Code 8 verschiedene spielbare Klassen 15 verschiedene Attacken
    die man einzeln trainieren kann und wie sich das für ein RPG gehört dutzende Maps und Quests.
    Ok die Maps sind alle noch "leer", denn der besondere Reiz soll sein das jeder Spieler eigene Maps bauen kann und diese dann der Community zur Verfügung gestellt werden.
    Dafür habe ich einen "Map und Quest Creator" gebaut, der das erstellen kinderleicht macht.
    Da 400MB up und downloaden nicht ohne sind und eine automatische Updateverwaltung noch nicht klappt, gibt es das Spiel derzeit nur per Dropbox Einladung.
    Ein automatischer Downloader und Patcher ist fertig.
    Die Homepage ist leider auch noch nicht 100% Fertig.
    Aber wer will kann einfach eine email an "ChosenOnehelp@googlemail.com" schreiben, oder sich etwas auf "subl.dyndns.org:12/co/public/" umsehen.
    Neue Bilder zum Spiel werde ich sofort morgen uppen.

    Mh und warum bringst du eine bloddy beta anstatt eine richtige Version raus? Das ist mein kleines Geburtstagsgeschenk von mir an mich ^^
    Ok dann hoffentlich bis bald

    Mfg GegX

    Aktuelle News:

    Neuer großer Patch:
    Es gibt einige gravierende Verbesserungen.
    Derzeit werden folgende Dinge komplett überarbeitet um sie performanter und Sicherer zu machen.
    Anmeldung/Registrierung
    On und Offlinemodus
    Updater
    Server 50% fertig
    Chat
    Multiplayer PvE 50%
    Dungeonsystem (wird evtl in 3d gemacht werden [ kommt später])
    Hack/Cheatschutz 50%
    und Echtzeitkämpfe (kommt mit dungeonsystem später )


    Neues was fertig geworden ist
    Laufen auf der map nun auf zwei arten möglich (einmal im zelda style map für map und einmal im pkm style fliesende map)
    Questlogbuch
    Questgeber
    Questeditor

    Da aus diesen Gründer die alten Spielversionen nicht mehr kompatibel sind wird das Spiel derzeit nicht zum download angeboten.


    Sobald es eine stable Variante gibt sag ich bescheid. Aber ich denke mal mindestens 3 2 Wochen wird der Spaß dauern.

    Spiel kann nun einfach per Downloader geladen werden. Kein dropbox mehr nötig.
    Seite ist atm down da am CMS und Contenten selber gearbeitet wird.

  • Tiles

    • GegX
    • 28. April 2010 um 07:53
    Zitat

    Du solltest die Bilder nicht jedes mal laden, wenn du sie anzeigen willst. Du musst sie vorladen und am Ende des Skripts wieder freigeben.

    bein den Inventarbildern hast du recht. aber die animation sind ja ca 200 bilder pro Figur meinst du wirklich ich sollte die alle vorladen ?

  • Tiles

    • GegX
    • 27. April 2010 um 18:10

    mega thx to progandy er hat mit scribt gebaut was die transparenz der bilder generiert :thumbup: :thumbup:
    so siehts nun ohne "rahmen" aus

    Dateien

    co.7z 805,35 kB – 348 Downloads
  • Tiles

    • GegX
    • 27. April 2010 um 11:50

    So hier also mal was zum anschauhen.
    man kan schon laufen mit "1" zuhauhen und neue maps bauen.
    (die braunen Umrandung der Figur kommen noch weg.
    Wen einer schnell weis wie ich die Bilder bearbeite und das Braun mit autoit transparent mache und wieder speichere, kan er sich gerne melden)

    als nächstes kommt Inventar, Menü etc und dan mal einen Kampf einbauen.
    hoffe es gefällt, ist ja noch nicht wirklich viel

    Dateien

    co.7z 1 MB – 330 Downloads
  • Tiles

    • GegX
    • 23. April 2010 um 16:37

    vielen dank.
    ich denke ich werde nur einen teil anzeigen. wen das zu lahm ist dan selber bauen.
    Bisher hab ich schon eine Figur die in 8 richtungen laufen kan und dabei 8 animation pro schritt macht und eine attacke mit 13 animation!
    Wenn ich die Tiles (vlt morgen,eher montag ^^) fertig post ich das ganze mal und alle können sich freuen.
    vielen dank erstmal

  • Tiles

    • GegX
    • 23. April 2010 um 08:32

    Ich habe mir letzten Doodle jump angeschaut.(Wirklich klasse)
    Das hat mich motiviert mal bisl mit GDI rumzuspielen.
    Ich wolte eig. schon immer ein kleines rpg bauen.
    Erstes Problem hierbei sind die Bilder. Diese gibt es meis nur als Tilesets.
    Unter Java ist das auch gut so, da kan ich sagen subimage und x,x und erhalten den Ausschnit des Tilessets, sprich ein Tile.
    Google hat mir bisher noch keine sinvolle antwort darauf geben können ob GDi bzw autoit sowas auch kan.
    andere möglichkeit währ jedes Tile mit pain zu zerlegen -_-
    Vielleicht kan mich ja jemand davor bewahren.
    thx

    /edit jeden Tag kommt bisl mehr dazu drum poste ich hier oben mal immer die aktuelle version
    version 0.0.3
    http://www.file-upload.net/download-2477073/co.7z.html

    Spoiler anzeigen


    v0.0.1.1 "inventar" geht mit "i" auf
    Lebensleiste -> Background drückt sich durch

    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <WinAPI.au3>
    #include <timers.au3>
    #include<Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Width = 480
    $Height = 480
    $tilesize=48
    $richtung="e"
    $xrichtung=0
    $yrichtung=0
    $x=250
    $y=250
    $map=1
    $speed=3
    $inventar1=-1
    $inventar2=-1
    $menu=-1
    $gold=100
    $hp=100
    $mp=100

    [/autoit] [autoit][/autoit] [autoit]

    $GUI1 = GUICreate("Chosen one", $Width, $Height)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    $dll=DllOpen("user32.dll")

    [/autoit] [autoit][/autoit] [autoit]

    opt("guioneventmode", 1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "ende")
    AutoItSetOption ("MouseCoordMode", 0)
    TCPStartUp()

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    dim $attacke[13]
    for $counter=0 to 12
    $attacke[$counter]=@ScriptDir&"\bilder\attacke\attack" & $add & $counter & ".gif"

    [/autoit] [autoit][/autoit] [autoit]

    Next
    #ce
    $pBackground = @ScriptDir&"\map" & $map & ".jpg"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI1)
    $Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic)
    $Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)
    $Background=_GDIPlus_ImageLoadFromFile ($pBackground)
    #region Load
    ;$Background = _GDIPlus_ImageLoadFromFile ($pBackground)

    [/autoit] [autoit][/autoit] [autoit]

    #endregion Load
    ; gdi wieder beenden = _GDIPlus_GraphicsDispose(_GDIPlus_GraphicsCreateFromHWND($GUI1))
    _WinAPI_RedrawWindow($GUI1, "", "", $RDW_UPDATENOW + $RDW_FRAME)
    _GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
    draw_inventar()
    _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\steht\steht e0000.bmp"), $x, $y)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
    ;Sleep(10000)
    while 1

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;warten auf Eingabe laufen oder andere Aktion

    [/autoit] [autoit][/autoit] [autoit]

    ;wen keine richtung gedrückt wird ist richtung =0 heist stillstand

    [/autoit] [autoit][/autoit] [autoit]

    ;Inventar ein/ausschalten
    If _IsPressed("49",$dll) Then

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Until Not _IsPressed("49",$dll)
    _GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
    $inventar1*=-1
    draw_inventaronce()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;menü ein/ausschalten
    If _IsPressed("1B",$dll) Then

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Until Not _IsPressed("1B",$dll)
    _GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
    $menu*=-1
    draw_inventar()
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If _IsPressed("31",$dll) Then ;angriff eins

    [/autoit] [autoit][/autoit] [autoit]

    for $counter=0 to 12
    if $counter<10 then
    $add=0
    else
    $add=""
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
    _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\attack\attack " & $richtung & "00" & $add & $counter & ".bmp"), $x, $y)
    draw_inventar()
    Sleep(60)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;laufen
    If _IsPressed("25",$dll) or _IsPressed("26",$dll) or _IsPressed("27",$dll) or _IsPressed("28",$dll) then

    [/autoit] [autoit][/autoit] [autoit]

    If _IsPressed("25",$dll) Then $xrichtung =-1

    [/autoit] [autoit][/autoit] [autoit]

    If _IsPressed("26",$dll) Then $yrichtung =-1

    [/autoit] [autoit][/autoit] [autoit]

    If _IsPressed("27",$dll) Then $xrichtung =1

    [/autoit] [autoit][/autoit] [autoit]

    If _IsPressed("28",$dll) Then $yrichtung =1

    [/autoit] [autoit][/autoit] [autoit]

    ;himmelsrichtungen definieren

    [/autoit] [autoit][/autoit] [autoit]

    if $xrichtung=1 and $yrichtung=-1 then $richtung="ne"
    if $xrichtung=1 and $yrichtung=0 then $richtung="e"
    if $xrichtung=1 and $yrichtung=1 then $richtung="se"

    [/autoit] [autoit][/autoit] [autoit]

    if $xrichtung=0 and $yrichtung=-1 then $richtung="n"

    [/autoit] [autoit][/autoit] [autoit]

    if $xrichtung=0 and $yrichtung=1 then $richtung="s"

    [/autoit] [autoit][/autoit] [autoit]

    if $xrichtung=-1 and $yrichtung=-1 then $richtung="nw"
    if $xrichtung=-1 and $yrichtung=0 then $richtung="w"
    if $xrichtung=-1 and $yrichtung=1 then $richtung="sw"

    [/autoit] [autoit][/autoit] [autoit]

    for $counter=0 to 7

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage ($Buffer, $Background, 0, 0)
    _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\laufen\läuft " & $richtung & "000" & $counter & ".bmp"), $x, $y)
    draw_inventar()
    $x=$xrichtung*$speed+$x
    $y=$yrichtung*$speed+$y
    Sleep(60)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $xrichtung=0
    $yrichtung=0

    [/autoit] [autoit][/autoit] [autoit]

    wend

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func make_background()
    Local $hBitmap1, $hBitmap2, $hImage1, $hImage2, $hGraphic, $width, $height

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Initialisiert (startet) Microsoft Windows GDI+

    $counterx=1

    [/autoit] [autoit][/autoit] [autoit]

    $hImage1 = _GDIPlus_ImageLoadFromFile (@ScriptDir&"\bilder\background.bmp")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    for $countery=1 to 10 step 1

    [/autoit] [autoit][/autoit] [autoit]

    $sur=IniRead(@ScriptDir & "\map.ini",$map,$counterx,"Grass,Grass,Grass,Grass,Grass,Grass,Grass,Grass,Grass,Grass")
    $tile = StringSplit($sur, ",")

    [/autoit] [autoit][/autoit] [autoit]

    for $counterx=1 to 10 step 1
    $himage2=_GDIPlus_ImageLoadFromFile (@ScriptDir&"\bilder\Umgebung\" & $tile[$counterx] & ".bmp")
    $hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage1)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    DrawInsert($hGraphic, $hImage2, $counterx*$tilesize-$tilesize, $countery*$tilesize-$tilesize, 00, $width, $height)
    ;_GDIPlus_GraphicsDrawImage ($Buffer, _GDIPlus_ImageLoadFromFile (@ScriptDir&"\bilder\Umgebung\" & $tile[$counterx] & ".bmp"), $counterx*$tilesize-$tilesize, $countery*$tilesize-$tilesize)

    [/autoit] [autoit][/autoit] [autoit]

    Next
    Next

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; Zeichnet ein Bild in ein anderes

    [/autoit] [autoit][/autoit] [autoit]

    ; Speichert das neue Bild
    _GDIPlus_ImageSaveToFile($hImage1, @ScriptDir & "\GDIPlus_Image.jpg")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func DrawInsert($hGraphic, $hImage2, $iX, $iY, $nAngle, $iWidth, $iHeight, $iARGB = 0xFF000000, $nWidth = 1)
    Local $hMatrix, $hPen2

    [/autoit] [autoit][/autoit] [autoit]

    ; Rotationsmatrix
    $hMatrix = _GDIPlus_MatrixCreate()
    _GDIPlus_MatrixRotate($hMatrix, $nAngle, "False")
    _GDIPlus_GraphicsSetTransform($hGraphic, $hMatrix)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage($hGraphic, $hImage2, $iX, $iY)

    [/autoit] [autoit][/autoit] [autoit]

    ; Ermittelt Stift + Farbe
    $hPen2 = _GDIPlus_PenCreate($iARGB, $nWidth)

    [/autoit] [autoit][/autoit] [autoit]

    ; Zeichnet einen Rahmen um das eingefügte Bild
    _GDIPlus_GraphicsDrawRect($hGraphic, $iX, $iY, $iWidth, $iHeight, $hPen2)

    [/autoit] [autoit][/autoit] [autoit]

    ; Ressourcen freigeben
    _GDIPlus_MatrixDispose($hMatrix)
    _GDIPlus_PenDispose($hPen2)
    Return 1
    EndFunc ;==>DrawInsert

    [/autoit] [autoit][/autoit] [autoit]

    func draw_inventaronce()
    _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\steht\steht " & $richtung & "0000.bmp"), $x, $y)
    _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\Interface\Lebensleiste.gif"), 0, 10)
    if $inventar1=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar2.bmp"), 350, 100)
    if $inventar2=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),350, 100)
    if $menu=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),250, 100)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    func draw_inventar()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bilder\Interface\Lebensleiste.gif"), 0, 10)
    if $inventar1=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar2.bmp"), 350, 100)
    if $inventar2=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),350, 100)
    if $menu=1 then _GDIPlus_GraphicsDrawImage($Buffer, _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bilder\Interface\inventar1.bmp"),250, 100)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsFillRect($Graphic, 2,12, 100, 12, _GDIPlus_BrushCreateSolid(0xFFFF0000))
    _GDIPlus_GraphicsFillRect($Graphic, 2, 27, 100, 12, _GDIPlus_BrushCreateSolid(0xFF0000ff))
    _GDIPlus_GraphicsDrawString($Buffer, $hp & "/" & $hp, 28, 11, "Comic Sans MS", 7)
    _GDIPlus_GraphicsDrawString($Buffer, $mp & "/" & $mp, 28, 26, "Comic Sans MS", 7)
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $Width, $Height)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]
  • Richtungswechsel einer Linie

    • GegX
    • 12. März 2010 um 14:12
    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $hGui, $width = 600, $height = $width, $i = 100
    $hGui = GUICreate("GDI+", $width, $height, -1, -1)
    GUISetOnEvent(-3, "_disp")
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()
    Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphics)
    Global $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    Global $hPen = _GDIPlus_PenCreate(0xFF990001, 2)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    _GDIPlus_GraphicsClear($hBackbuffer)
    _GDIPlus_GraphicsDrawLine($hBackbuffer,Sin($i * 3.14159265358979/ 180)*100+240, Cos($i * 3.14159265358979/ 180)*100+250, 240, 250, $hPen)
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    $i -= 1
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _disp()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_GraphicsDispose($hBackbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenCreate($hPen)
    _GDIPlus_Shutdown()
    GUIDelete($hGui)
    Exit
    EndFunc

    [/autoit]


    finde ich viel cooler :rofl:

  • Passwordsave

    • GegX
    • 12. März 2010 um 13:20

    Danke erstmal.
    Ja KeyPass war meine alpha Version bish ich mich wieder für das einfache entschieden hab. :)
    (Achtung dies war nur ein Witz)
    Nicht schlecht. Da kan ich heute noch bisl was machen.
    Aber ein Tool ist nicht gleich gut wen es viele Funktionen hat.
    Einige Sachen an Keypass finde ich unsicher, weil es das MPW immer im Ram hält.
    Aber das meiste kan man sich echt mal anschauhen und implementieren.

  • Passwordsave

    • GegX
    • 12. März 2010 um 12:34

    Ich habe hier ein Scribt geschrieben mit den man sich ein PW-Profil anlegen kann welche PWs speichert.
    Bsp. ich erstelle "PW-Tabelle Arbeit". Nun kan ich ein neues PW adden wie zb. Mein root PW. Nun kann ich das Pw eingeb und es mit einem Masterschlüssel verschlüsseln. Bei Bedarf kan ich dan das pw wieder in klartext ausgeben lassen indem ich dem Masterschlüssel eingebe. Das Pw ist nun im zwischenspeicher und kan ganz bequem mit STRG+v iwo eingefügt werden.
    (Note die PW-Tabellen werden verschlüssetl in einer ini gespeichert)
    Bitte schreibt mir Anregungen oder Fragen oder Käfer damit ich ein intuitive und sicheres Tool der Menschheit schenken kann^^

    Spoiler anzeigen
    [autoit]

    #include <Crypt.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 0)

    [/autoit] [autoit][/autoit] [autoit]

    Example()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Example()
    Local $pwneu,$pwaendern,$pweingeben
    Local $msg
    Local $pws[60][2]
    Local $Array[60][2]

    GUICreate("Passwortsafe")

    $new=GUICtrlCreateButton("neue PW-Tabelle erstellen",70,30)
    $load=GUICtrlCreateButton("PW-Tabelle laden",250,30)

    $reload=GUICtrlCreateButton("PW-Tabelle aktualisieren",245,160)

    GUICtrlCreateGroup("Passwordname", 35, 80, 160,60)
    $ausgabe=GUICtrlCreateInput("",220,100,80,20)
    $liste=GUICtrlCreateCombo("", 40, 100,150,20) ; create first item
    GUICtrlCreateGroup("Passwordwert", 210,80,120,60)

    $pwneu=GUICtrlCreateButton("neues pw erstellen",10,160,120,30)
    $pwaendern=GUICtrlCreateButton("pw ändern",140,160,80,30)

    GUICtrlCreateLabel("Zum Verwalten des Pw safes solten sie folgendes beachten:" & @LF & "1.Erstellen sie eine neue Pw Tabelle oder laden sie eine alte" & @LF & "2.Fügen sie der Tabelle ein neues zu verschlüsselndes Pw hinzu." & @LF & "3 Geben sie den Eintrag einen eindeutigen Namen" & @LF & "4.Geben Sie den Schlüssel ein mit den das Pw gesichert werden soll." & @LF & "5.Nun können sie sich das Pw in die Zwichenablage kopieren" & @LF & "indem sie ihr Pw auswählen und den richtigen Schlüssel eingeben" , 30, 210)

    $pweingeben=GUICtrlCreateButton("Schlüssel eingeben",250,320,120,35)


    ;MsgBox(0,"",IniRead($var, "section2","JPM","nicht gefunden"))
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()
    if $msg=$liste then GUICtrlSetData($ausgabe,iniRead($var, "section2",GUICtrlRead($liste),"nicht gefunden"))

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    if $msg=$new Then
    $loc=FileSaveDialog( "Choose a name.", @DesktopCommonDir, "Passworttabellen (*.ini)", 2)
    iniWrite($loc & ".ini","section2","Beispiel Pw Name","Beispiel Pw")


    $msg=$load
    EndIf

    if $msg=$load Then
    $message="Bitte wähle eine Datei"
    $var = FileOpenDialog($message, @DesktopCommonDir & "\", "Text (*.ini;)", 1 + 4 )
    If @error Then
    MsgBox(4096,"","No File(s) chosen")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $pws=IniReadSection($var, "section2")

    ;IniWrite("C:\Temp\myfile.ini", "section2", "key", "this is a new value")

    [/autoit] [autoit][/autoit] [autoit]

    for $counter=1 to UBound($pws)-1

    GUICtrlSetData($liste,$pws[$counter][0] ) ; add other item snd set a new default
    Next

    $msg=$reload

    EndIf

    if $msg=$reload Then

    $pws=IniReadSection($var, "section2")
    for $counter=1 to UBound($pws)-1

    GUICtrlSetData($liste,$pws[$counter][0] ) ; add other item snd set a new default
    Next

    GUICtrlSetData($ausgabe,iniRead($var, "section2",GUICtrlRead($liste),"nicht gefunden"))
    EndIf

    if $msg=$pwneu Then
    $pwname=InputBox("Eingabe 1","Bitte geben sie ein Namen für das PW ein","","")
    while 1
    $pw=InputBox("Eingabe 1","Bitte geben sie ein PW ein","","*")
    $pw2=InputBox("Eingabe 2","Bitte geben sie das PW zu Sicherheit erneut ein","","*")
    if $pw = $pw2 Then
    ExitLoop
    Else
    MsgBox(0,"Hinweis","Pws sind nicht gleich")
    EndIf
    WEnd
    $Key=InputBox("Schlüssel","Bitte geben sie einen Schlüssel ein der das Pw verschlüsseln soll","","*")
    $Key=_Crypt_DeriveKey($Key,$CALG_RC4)
    $pw=_Crypt_decryptData($pw,$Key,$CALG_USERKEY)
    IniWrite($var, "section2",$pwname,$pw)


    $pws=IniReadSection($var, "section2")
    for $counter=1 to UBound($pws)-1

    GUICtrlSetData($liste,$pws[$counter][0] ) ; add other item snd set a new default
    Next

    GUICtrlSetState ( $liste, $GUI_DEFBUTTON )

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndIf

    if $msg=$pweingeben Then

    $Key=InputBox("Schlüssel","Bitte geben sie den Schlüssel ein mit dem sie das Pw gesichrt haben","","*")
    $Key=_Crypt_DeriveKey($Key,$CALG_RC4)
    $var2 = Binary(IniRead($var, "section2",GUICtrlRead($liste),"nicht gefunden"))
    $code=BinaryToString(_Crypt_encryptData($var2,$Key,$CALG_USERKEY))
    _Crypt_DestroyKey($Key)
    ClipPut($code)

    EndIf


    if $msg=$pwaendern Then

    while 1
    $pw=InputBox("Eingabe 1","Bitte geben sie ein PW ein","","*")
    $pw2=InputBox("Eingabe 2","Bitte geben sie das PW zu Sicherheit erneut ein","","*")
    if $pw = $pw2 Then
    ExitLoop
    Else
    MsgBox(0,"Hinweis","Pws sind nicht gleich")
    EndIf
    WEnd
    $Key=InputBox("Test","Bitte geben sie einen Schlüssel ein der das Pw verschlüsseln soll","","*")
    $Key=_Crypt_DeriveKey($Key,$CALG_RC4)
    $pw=_Crypt_decryptData($pw,$Key,$CALG_USERKEY)
    IniWrite($var, "section2",GUICtrlRead($liste),$pw)

    [/autoit] [autoit][/autoit] [autoit]

    EndIf

    WEnd
    EndFunc ;==>Example

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • GUICtrlCreateList - Maximum der Zeilenlänge?!

    • GegX
    • 1. März 2010 um 12:06

    :P
    ja du hast recht.also @lf <> | .

    also eine forschleife die bei maxwert startet und dan solange nach unten geht bis ein " " vorhanden is und dan dort trennen und ein "|" einfügen.
    (wen aber EIN Wort länger als $max ist siehts dunkel aus)
    ok dan statt
    if stringcompare($string,"Hier dein Maximale Länge in Buchstaben eintragen BSP. XXXXXX")> 0 then
    StringRegExp($sString,".{$max-1,$max}( )"
    was hälst du davon?


  • GUICtrlCreateList - Maximum der Zeilenlänge?!

    • GegX
    • 26. Februar 2010 um 11:05

    ich bin für
    $max=(max länge deines Strings)
    $i=0
    while 1

    if stringcompare($string,"Hier dein Maximale Länge in Buchstaben eintragen BSP. XXXXXX")> 0 then
    $array[$i]=StringTrimLeft($string, $max)
    $string=StringTrimRight($string,$len-$max)
    $i+=1
    Else
    $array[$i+1]=string
    ExitLoop
    WEnd

    for $i=0 to UBound($array)-1
    $string2=$array[$i] & @LF
    next

  • GUICtrlListView

    • GegX
    • 26. Februar 2010 um 10:34

    So solte es gehn.

    Spoiler anzeigen

    #include <GUIConstantsEx.au3>
    #Include <GuiListBox.au3>
    #include <ListviewConstants.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>
    ;----------------------------------------------------------------------------------------------------

    $Daten_Pfad1 = @ScriptDir & "\Telefonnummern.ini"

    ;----------------------------------------------------------------------------------------------------

    Global $GUI_01_Button_01

    ;----------------------------------------------------------------------------------------------------

    $GUI_01 = GUICreate ("Telefonnummern", 500, 1000, -1, -1, 0x80000000)
    $GUI_01_List_01 = GUICtrlCreateListView ("Nachname|Vorname|Telefonnummer|Ort|Geburtstag", 5, 5, 490, 965, 0x8014, 0x00090121)
    $GUI_01_Button_01 = GUICtrlCreateButton ("Exit", 5, 975, 490, 20)
    GUISetBkColor (0x000000, $GUI_01)
    GUISetState (@SW_SHOW, $GUI_01)
    Sleep (500)

    ;----------------------------------------------------------------------------------------------------

    _Daten ()

    ;----------------------------------------------------------------------------------------------------

    While True
    Switch GUIGetMsg ()
    Case $GUI_01_Button_01
    Exit
    EndSwitch
    WEnd

    ;----------------------------------------------------------------------------------------------------

    Func _Daten ()
    $INI_Read_Section_01 = IniReadSection ($Daten_Pfad1, "Daten")
    _ArraySort($INI_Read_Section_01,1,0,(UBound($INI_Read_Section_01)-1))
    For $Stk = 1 To UBound($INI_Read_Section_01)-1
    $INI_Daten_01 = IniRead ($Daten_Pfad1, "Daten", $INI_Read_Section_01[$Stk][0], "ERROR")
    $INI_Daten_02 = StringSplit ($INI_Daten_01, ",")
    $INI_Daten_03 = $INI_Daten_02[1] & " | " & $INI_Daten_02[2] & " | " & $INI_Daten_02[3] & " | " & $INI_Daten_02[4] & " | " & $INI_Daten_02[5]
    GUICtrlCreateListViewItem ($INI_Daten_03, $GUI_01_List_01)
    Next

    EndFunc

  • Office auslesen

    • GegX
    • 26. Februar 2010 um 10:21

    du kanst ein regread auf "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Word\InstallRoot" machen
    hier steht der wert Path ="C:\Program Files\Microsoft Office\Office12\"
    in diesen Verzeichnis stehn die Office Prog drin. einfach if fileexist($Path & "\EXCEL.EXE") then "Excel ist dabei.

  • win installations easy selber bauen

    • GegX
    • 4. November 2009 um 17:36

    ich hab eine kleine tool gebaut (achtung ist nicht ma betaversion^^)
    damit kann man relativ leich eine automatiche installation errzeugen.
    man brauch nur autoitconverter und win infotool
    momentan kan man noch nicht compilren die datei wird in eine test.txt auf den desktop gespeichert.
    wen einer mal lust hatt kan er sich ja mal den text anschauhen und bisle kritik üben.
    und bitte macht mir meine 4 stunden arbeit nicht kaputt indem ihr mir sag es ist totaler rotz oder da gibst was besseres.
    das auslesen der id mit den win infotool nervig hat einer ne alternative

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 0)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;buttonevents
    Global $buttonneueseite,$buttonbutton,$buttoncheckbox,$buttontext,$buttonpfad,$buttonfertig,$buttonnew
    ;counter
    global $Tab,$counter,$file,$path,$id,$text
    ;input
    Global $framename,$dateiname,$titel,$inputid,$inputtext

    Local $defaultstatus, $status, $filemenu, $helpmenu, $saveitem
    Local $fileitemsave,$fileitemopen,$fileitemcompile,$fileitemnew
    Local $infoitem, $exititem, $recentfilesmenu, $separator1, $viewmenu,$compilemenu
    Local $viewstatusitem, $okbutton, $cancelbutton, $statuslabel, $msg, $file

    [/autoit] [autoit][/autoit] [autoit]

    Example()
    HotKeySet("a","new")
    Func Example()


    GUICreate("AutoIT Win install creator by Nils Zenker@cbs.mpg", 500, 460)

    [/autoit] [autoit][/autoit] [autoit]

    Global $defaultstatus = "Ready"
    Global $status

    ;filemenue
    $filemenu = GUICtrlCreateMenu("&File")
    $fileitemnew = GUICtrlCreateMenuItem("New", $filemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    $fileitemopen = GUICtrlCreateMenuItem("Open", $filemenu)


    ;co,pile menue
    $fileitemcompile = GUICtrlCreateMenuItem("Compile", $compilemenu)

    [/autoit] [autoit][/autoit] [autoit]


    $helpmenu = GUICtrlCreateMenu("?")

    $saveitem = GUICtrlCreateMenuItem("Save", $filemenu)
    GUICtrlSetState(-1, $GUI_Disable)
    $infoitem = GUICtrlCreateMenuItem("Info", $helpmenu)
    $exititem = GUICtrlCreateMenuItem("Exit", $filemenu)
    $recentfilesmenu = GUICtrlCreateMenu("Recent Files", $filemenu, 1)

    $separator1 = GUICtrlCreateMenuItem("", $filemenu, 2) ; create a separator line

    [/autoit] [autoit][/autoit] [autoit]

    $viewmenu = GUICtrlCreateMenu("View", -1, 1) ; is created before "?" menu
    $viewstatusitem = GUICtrlCreateMenuItem("Statusbar", $viewmenu)

    [/autoit] [autoit][/autoit] [autoit]

    $statuslabel = GUICtrlCreateLabel($defaultstatus, 0, 400, 500, 80, BitOR($SS_SIMPLE, $SS_SUNKEN))

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    While 1
    $msg = GUIGetMsg()

    If $msg = $fileitemopen Then
    $file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
    If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)
    EndIf

    If $msg = $fileitemnew Then
    new()
    EndIf

    If $msg = $viewstatusitem Then
    If BitAND(GUICtrlRead($viewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($viewstatusitem, $GUI_UNCHECKED)
    GUICtrlSetState($statuslabel, $GUI_HIDE)
    Else
    GUICtrlSetState($viewstatusitem, $GUI_CHECKED)
    GUICtrlSetState($statuslabel, $GUI_SHOW)
    EndIf
    EndIf
    If $msg = $GUI_EVENT_CLOSE Or $msg = $exititem Then ende()
    If $msg = $infoitem Then MsgBox(0, "Info", "Die kommt noch^^")
    WEnd
    GUIDelete()
    EndFunc ;==>Example

    [/autoit] [autoit][/autoit] [autoit]

    Func new()
    GUICtrlSetState($saveitem, $GUI_enable)

    $dateiname=InputBox("Neues Projekt","Wie wollen sie ihr neues Projekt nennen?")
    $path = FileOpenDialog("Choose file...", @TempDir, "All (*.exe)")
    $file = FileOpen("test.txt", 1)

    ;vlt ein gui einfügen
    FileWriteLine($file,'main()')
    FileWriteLine($file,'func main()')
    FileWriteLine($file,'Run("' & $path & '")')

    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateGroup("Neue Aktion hinzufügen",5,6,250,180)
    $buttonneueseite=GUICtrlCreateButton("Seite bennen", 15, 30, 100, 20)
    GUICtrlSetState($buttonneueseite,$GUI_disable)

    $buttonnew=GUICtrlCreateButton("Neue Seite", 130, 30, 100, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)
    $buttonbutton=GUICtrlCreateButton("Button drücken", 15, 70, 100, 20)
    $buttoncheckbox=GUICtrlCreateButton("Checkbox betätigen",130,70,100,20)
    $buttontext=GUICtrlCreateButton("Text senden", 15, 94, 100, 20)
    $buttonpfad=GUICtrlCreateButton("Pfad auswählen",130,94,100,20)
    $buttonfertig=GUICtrlCreateButton("Fertigstellen",15,150,100,20)


    ;Eigenschaften eintragen
    GUICtrlCreateGroup("Information über das Objekt",260,6,230,180)
    GUICtrlCreateLabel("Name des Frames",275, 30, 100, 20)
    $framename=GUICtrlCreateInput("",275, 50, 150, 20)
    GUICtrlSetState($framename,$GUI_Disable)
    GUICtrlCreateLabel("ID des Objektes",275, 80, 100, 20)
    $inputid=GUICtrlCreateInput("",275, 100, 150, 20)

    GUICtrlCreateLabel("Text senden",275, 130, 100, 20)
    $inputtext=GUICtrlCreateInput("",275, 150, 150, 20)

    ;Durchgeführte Aktion
    GUICtrlCreateGroup("Aktion des Objektes",260,190,230,200)

    GUICtrlCreateInput("",275, 150, 150, 20)

    ;Vorhandene Objekte
    $tab=GUICtrlCreateTab(10,210,240,170)

    GUICtrlCreateGroup("Objekt",6,190,250,200)
    GUICtrlSetState($buttonbutton,$GUI_disable)
    GUICtrlSetState($buttontext,$GUI_disable)
    GUICtrlSetState($buttoncheckbox,$GUI_disable)
    GUICtrlSetState($buttonpfad,$GUI_disable)
    $counter=1

    Main()

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Main()

    While 1

    $msg = GUIGetMsg()

    if $msg=$saveitem then
    $path = FileSelectFolder("Choose a folder.", "")
    MsgBox(0,"",$path)
    EndIf

    if $msg=$buttonnew then
    GUICtrlSetState($buttonneueseite,$GUI_enable)
    GUICtrlSetState($framename,$GUI_enable)
    endif

    If $msg = $buttonneueseite Then
    GUICtrlSetState($buttonneueseite,$GUI_disable)
    GUICtrlSetState($buttonbutton,$GUI_enable)
    GUICtrlSetState($buttontext,$GUI_enable)
    GUICtrlSetState($buttoncheckbox,$GUI_enable)
    GUICtrlSetState($buttonpfad,$GUI_enable)
    $titel=GUICtrlRead($framename)
    GUICtrlSetData($inputid,"")
    GUICtrlSetData($framename,"")
    FileWriteLine($file,'WinWaitActive("' & $titel & '")' )
    $tab1 = GUICtrlCreateTabItem("Seite" & $counter)
    GUICtrlSetState($framename,$GUI_Disable)
    $counter+=1
    endif

    if $msg=$buttonbutton then
    $id=GUICtrlRead($inputid)
    FileWriteLine($file,'Sleep(2000)')
    FileWriteLine($file,'ControlClick("' & $titel & '","",' & $id & ')')
    GUICtrlSetData($inputid,"")
    endif

    if $msg=$buttontext then
    $text=GUICtrlRead($inputtext)
    $id=GUICtrlRead($inputid)
    FileWriteLine($file,'ControlSend("' & $titel & '","",' & $id & ',"' & $text & '")')
    GUICtrlSetData($inputid,"")
    GUICtrlSetData($inputtext,"")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]


    If $msg = $GUI_EVENT_CLOSE Or $msg = $exititem Then
    ende()
    EndIf

    If $msg = $GUI_EVENT_CLOSE Then
    ende()
    endif

    if $msg=$buttonfertig Then
    FileWriteLine($file,'endfunc')
    EndIf

    wend
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func ende()
    Exit
    endfunc

    [/autoit] [autoit][/autoit] [autoit]

    func _iniread()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;to au3 exportieren
    ;FileCopy("C:\Dokumente und Einstellungen\user\Desktop\test.txt", "D:\ $dateiname .au3", 8)

    [/autoit] [autoit][/autoit] [autoit]

    ;compile shellexeccut
    ;Aut2exe.exe /in D:\juhu.au3 /out D:super.exe

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Instance

    • GegX
    • 2. November 2009 um 15:46

    nim ein fach den tool und wähle mit dem "Finder tool ein youtube vidoe auf.
    das ist mein momentanes ziel


    >>>> Window <<<<
    Title: YouTube - SHORTCUTS youtube video competition - Mozilla Firefox
    Class: MozillaUIWindowClass
    Position: -4, -4
    Size: 808, 578
    Style: 0x15CF0000
    ExStyle: 0x00000100
    Handle: 0x001201EA

    >>>> Control <<<<
    Class: MozillaWindowClass
    Instance: 8
    ClassnameNN: MozillaWindowClass8
    Advanced (Class): [CLASS:MozillaWindowClass; INSTANCE:8]
    ID:
    Text:
    Position: 5, 226
    Size: 640, 385
    ControlClick Coords: 172, 113
    Style: 0x50000000
    ExStyle: 0x00000000
    Handle: 0x001E0198

    >>>> Mouse <<<<
    Position: 177, 365
    Cursor ID: 0
    Color: 0xF2F3F1

    >>>> StatusBar <<<<

    >>>> Visible Text <<<<

  • Instance

    • GegX
    • 2. November 2009 um 15:15

    so ganz funktioniert das noch nicht oder ich stell mich zu doof an. wrs zweiteres^^.
    kan mir mal jemand ein bsp schreiben wie man die "8" instance bei zum beispiel einer inet seite anklickt

  • Instance

    • GegX
    • 2. November 2009 um 14:39

    Ich hab mich mal bissl mit den "Autoit Windoof info" tool befast.
    Man kan die instance eines Objektes ermittel. Nun will ich das ein scribt eine gewisse instance anklick. Ist die realisierbar. Vielen dank schonmal

  • admin rechte erteilen

    • GegX
    • 21. September 2009 um 14:04

    gibt es eine eleganter Lösung einen nutzer adminrechte zu geben auser mit mouse moves und send keys aktions. im regedit hab ich bisher noch nichts gefunden. vieleicht hilft der tool cacls? hat jemnd ne idee?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™