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. BugFix

Beiträge von BugFix

  • WSUS Status Abfragen???

    • BugFix
    • 17. Juli 2009 um 13:14

    Leite doch die DOS-Ausgabe in eine (mehrere) Datei(en) um. Diese kannst du bequem mit AutoIt einlesen und auswerten.
    Commandline: Prompt>BEFEHL /param > zieldatei.txt

  • µit - Juli

    • BugFix
    • 17. Juli 2009 um 13:05
    Zitat von Andy

    Ich stell mal mein Script online...


    Finde ich eigentlich nicht so gut. Das sollte doch ein Wettbewerb sein.

  • [Lernprogramm] Farbe erkennen draufklicken

    • BugFix
    • 17. Juli 2009 um 12:29
    Zitat von XaliadE

    Meine Frage nun was bedeutet dieses [0] und [1] bei MouseMove?

    Schau dir doch einfach die verwendeten Befehle in der Hilfe an.

    Zitat von Hilfe zu PixelSearch

    Rückgabewert
    Erfolg: Gibt ein 2-Element-Array der Pixelkoordinaten zurück. (Array[0] = x, Array[1] = y)

  • Toolbar mit eigenen Bildern

    • BugFix
    • 17. Juli 2009 um 10:57

    Wenn die BMP aus EXE od. DLL stammen, geht es so:
    (Muster mit SciTE.exe)

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GuiToolbar.au3>
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Constants.au3>
    #include <GDIPlus.au3>

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

    Local $hGUI, $hToolbar
    Local $idSciTE = 1000 ; ID für ToolbarButton vergeben, 1000 - damit kein Konflikt mit Standard-Controls entsteht

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

    Local $ressource = 'C:\Programme\AutoIt3\SciTE\SciTE.exe' ; Datei mit dem(n) BMP
    Local $resID = 100 ; ID des BMP in der Ressourcendatei (kannst du im Reshacker sehen)

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

    ; Datei laden als Ressource
    Local $hInstance = _WinAPI_LoadLibrary($ressource)

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

    ; Create GUI
    $hGUI = GUICreate("Toolbar", 400, 300)
    $hToolbar = _GUICtrlToolbar_Create($hGUI)
    GUISetState()

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

    ; BMP aus SciTE laden zur Toolbar
    _GUICtrlToolbar_AddBitmap($hToolbar, 1, $hInstance, $resID)

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

    ; Button auf Toolbar mit diesem BMP erstellen
    _GUICtrlToolbar_AddButton($hToolbar, $idSciTE, 0)

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

    While 1
    If BitAND(_GUICtrlToolbar_GetButtonState($hToolbar, $idSciTE), $TBSTATE_PRESSED) = $TBSTATE_PRESSED Then
    MsgBox(0, "", "SciTE-Button")
    EndIf

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

    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_Close
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Problem bei GUICtrlSetImage und array

    • BugFix
    • 16. Juli 2009 um 20:27
    Zitat von MaZy

    Variable: Bitte kein Kommentar. Ich habe falsch angefangen und hatte keine Lust neu alles zu definieren :P

    >> Kein Kommentar << :rofl:

  • Abfrage in der Registry ob ein bestimmtes Programm installiert ist

    • BugFix
    • 16. Juli 2009 um 07:45

    Wenn die Programme 'sauber' installiert werden, legen sie auch einen UnInstall-Eintrag in der Registry an. Und den findest du hier:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    Dort kannst du nach deiner Installation suchen.

  • ca. 4000 Zeilen an inetMail übergeben

    • BugFix
    • 16. Juli 2009 um 07:38
    Zitat von Dietmar

    Hast Du das mal probiert


    Bisher nicht, da ich auf meinem Rechner Outlook Express stillgelegt habe.

  • ca. 4000 Zeilen an inetMail übergeben

    • BugFix
    • 15. Juli 2009 um 12:19

    Im Moment sehe ich keinen Grund, warum der Body 4000 Zeilen Text nicht aufnehmen sollte.
    Laut Protokoll liegt eine Begrenzung nur in der Länge einer einzelnen Zeile von max. 998 Zeichen + CRLF, also 1000 Zeichen gesamt.
    Die Länge des Body gesamt ist nur begrenzt durch die Aufnahmfähigkeit des empfangenden Systems und aller dazwischenliegender SMTP-Server.

  • Wordmakro - Text ersetzen

    • BugFix
    • 15. Juli 2009 um 09:13

    Warum faßt du die Strings zusätzlich in Klammern ein? ?(

  • SQL-Abfrage ( Count ) mit Autoit

    • BugFix
    • 15. Juli 2009 um 09:11

    Hier hatte ich mal ein Muster für eine DB-Anbindung erstellt. Vielleicht hilft dir das weiter.

  • SQL-Abfrage mit Vorschlägen bei der Variablen-Eingabe

    • BugFix
    • 13. Juli 2009 um 19:56

    So richtig klar sehe ich bei deinem Problem nicht. Wie erfolgt denn die AutoIt-Umsetzung? Mit MySQL-UDF ?
    Und was anderes noch: Wäre es nicht vorteilhafter statt LIKE mit CONTAINING zu arbeiten? Ich verwende das lieber, da es nicht Case Sensitiv ist und auch für Partialsuche besser geeignet ist.
    Allerdings weiß ich nicht genau, ob meine SQL-Erfahrungen (Firebird, SQLite) adäquat für MySQL zutreffen. Gibt halt doch einige Unterschiede zwischen den Dialekten.

  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 12. Juli 2009 um 22:02
    Zitat von skyteddy

    Wenn ich jetzt die abwechselnden Farben benutzen will, muß ich mein Script auf
    GUICtrlCreateListViewItem
    umstellen, oder?

    Korrekt, das funktioniert nur bei Items, die auf diese Weise erstellt werden.

  • Speicherplatz von einem Programm

    • BugFix
    • 12. Juli 2009 um 00:00
    Zitat von BangerzZ

    und was genau gibt das wieder? nur den phad oder mit der exe?


    Das liegt doch auf der Hand, oder?

    Zitat

    ; Return Value(s): Success Full ApplicationPath

  • Speicherplatz von einem Programm

    • BugFix
    • 11. Juli 2009 um 23:51

    Oder hiermit (ist glaub ich schneller als die WMI-Variante):

    Spoiler anzeigen
    [autoit]

    ;===============================================================================
    ; Function Name: _GetPathByPID($PID=-1)
    ; Description:: Get full path of an running application by using PID
    ; Parameter(s): $PID - PID, if not set will used PID from active Window
    ; Requirement(s): #include <WinAPI.au3>
    ; Return Value(s): Success Full ApplicationPath
    ; Failure set @error 1 - process handle failed
    ; 2 - process image failed
    ; 3 - query dosdevice failed
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;===============================================================================

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

    Func _GetPathByPID($PID=-1)
    If $PID = -1 Then $PID = WinGetProcess(WinGetTitle("[active]"))
    $hProcess = _WinAPI_OpenProcess(0x00000400, True, $PID, True)
    If Not $hProcess Then Return SetError(1,0,0)
    Local $ret, $path, $DevicePath, $DeviceLetter, $strPath = DllStructCreate("char path[256]")
    DllCall(@SystemDir & '\Psapi.dll', "uint64", "GetProcessImageFileNameA", _
    "hwnd", $hProcess, "ptr", DllStructGetPtr($strPath), "int", 256)
    If @error Then Return SetError(2,0,0)
    $path = DllStructGetData($strPath, 'path')
    $DevicePath = StringRegExp($path, "\\Device\\\w*", 1)
    Local $lpTargetPath, $aDrive = DriveGetDrive("ALL")
    For $i = 1 To UBound($aDrive) -1
    $ret = DllCall("kernel32.dll", "long", "QueryDosDeviceA", "str", $aDrive[$i], "str", $lpTargetPath, "long", 256)
    If @error Then Return SetError(3,0,0)
    If $ret[2] = $DevicePath[0] Then
    $DeviceLetter = $aDrive[$i]
    ExitLoop
    EndIf
    Next
    DllCall("kernel32.dll", "long", "CloseHandle", "long", $hProcess)
    Return StringReplace($path, $DevicePath[0], StringUpper($DeviceLetter))
    EndFunc ;==>_GetPathByPID

    [/autoit]
  • Lupe Gestrecktes Fenster GUI Fenster anpassen

    • BugFix
    • 11. Juli 2009 um 17:34

    Diese Version stammt glaub ich von Xeno:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>

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

    $MagWidth = InputBox ("Magnify Area", "What should the WIDTH of the magnified area be?")
    $MagHeight = InputBox ("Magnify Area", "What should the HEIGHT of the magnified area be?")
    $MagZoom = InputBox ("Magnify Area", "What should the ZOOM of the magnified area be?", 2)

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

    ;~ Global $SRCCOPY = 0x00CC0020
    Global $dll[3], $DeskHDC, $GUIHDC

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

    ;~ HotKeySet("!+e", "_ende")

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

    $dll[1] = DllOpen ( "user32.dll")
    $dll[2] = DllOpen ( "gdi32.dll")

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

    Global $GUI = GUICreate ("Zoom x2 Au3", $MagWidth * $MagZoom, $MagHeight * $MagZoom, _
    MouseGetPos (0), MouseGetPos (1), $WS_POPUP+$WS_BORDER, $WS_EX_TOPMOST)

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

    GUISetState(@SW_SHOW)

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

    Global $LastPos[2] = [0,0]

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

    While 1
    MAG()
    $MousePos = MouseGetPos()
    If ($LastPos[0] <> $MousePos[0] Or $LastPos[1] <> $MousePos[1]) Then
    WinMove("Zoom x2 Au3", "", $MousePos[0] + $MagWidth/2 + 5, $MousePos[1])
    $LastPos[0] = $MousePos[0]
    $LastPos[1] = $MousePos[1]
    EndIf

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

    Sleep(10)
    WEnd

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

    Func MAG()
    $DeskHDC = DLLCall("user32.dll","int","GetDC","hwnd",0)
    $GUIHDC = DLLCall("user32.dll","int","GetDC","hwnd",$GUI)
    If Not @error Then
    DLLCall("gdi32.dll", "int", "StretchBlt", "int", $GUIHDC[0], "int", _
    0, "int", 0, "int", $MagWidth * $MagZoom, "int", $MagHeight * $MagZoom, "int", $DeskHDC[0], "int", _
    MouseGetPos (0) - $MagWidth/2, "int", MouseGetPos (1) - $MagHeight/2, "int", $MagWidth ,"int", $MagHeight, _
    "long", $SRCCOPY)
    DLLCall("user32.dll","int","ReleaseDC","int",$DeskHDC[0],"hwnd",0)
    DLLCall("user32.dll","int","ReleaseDC","int",$GUIHDC[0],"hwnd",$GUI)
    EndIf
    EndFunc

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

    Func OnAutoItExit()
    DllClose ( $dll[1] )
    DllClose ( $dll[2] )
    EndFunc

    [/autoit]
  • Datei Kopieren und Inhalt der datei ändern

    • BugFix
    • 11. Juli 2009 um 14:10
    Zitat von nuts

    edit \ Naja was heisst "scheinbar" - steht ja ganz dick an erster Stelle in der Hilfe
    Obs ohne 2 Zugriffe auf die Datei geht weiss ich nicht.


    Mit der neuen Beta kannst du in einem Zugriff Lesen UND Schreiben. ;)
    Wird also auch demnächst Eingang in die Prod finden.

  • Lupe Gestrecktes Fenster GUI Fenster anpassen

    • BugFix
    • 11. Juli 2009 um 14:06
    Zitat von tuttifrutti

    Kann man es auch so machen , dass dieses Fenster die Maus verfolgt ?
    =) Wäre total gut ^^

    Das ist doch nun wirklich einfach ;)
    - MouseGetPos
    - WinMove

  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 11. Juli 2009 um 13:03
    Zitat von skyteddy

    Woher kommt dieser Leerbereich?

    Zitat von peethebee

    Sieht mir rein optisch aus wie die Hintergrundfarbe des Controls.


    Genauso ist es, die Hintergrundfarbe des Controls ist natürlich sichtbar auch wenn kein weiteres Item folgt. Solange Platz da ist, wird er auch eingefärbt.
    Besonders deutlich wird das, wenn du die Spaltenbreite verringerst. (s. Bild)
    Allerdings habe ich diesen Leerbereich nach unten nur dann, wenn es weniger Item sind, als im LV-Bereich dargestellt werden könnten. Also wenn die vertikale Scrollleiste sichtbar ist, ist bei mir dieser Effekt aufgehoben.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 10. Juli 2009 um 22:33
    Zitat von skyteddy

    Ich würde schon gerne Deine Mehrfarbenlösung benutzen. Hast Du noch ne Idee, wie man das beschleunigen kann?

    Ich sehe hier leider kein Potential, das weiter zu beschleunigen. Das Problem liegt dadrin, dass bei jedem Zeichnen des Item die Aufrufe zum Zeichnen neu erfolgen müssen.

    Zitat von skyteddy

    PS. Weißt Du warum am Ende meines zweiten Beispiels unten ein Leerzeile sichtbar ist?

    Seltsam, wenn ich das Bsp. ausführe, ist dort keine Leerzeile. ?(

    P.S. Auf meinem lahmen Schleppi (Intel Celeron; 1,5 GHz; 448 MB RAM) läuft das recht zügig. Ja, es ruckelt - aber nicht so, dass ich Augenkrebs bekomme. :D

    Edit:
    Hatte gar nicht bedacht, dass du ja die Fontfunktionen nicht benötigst. Habe WM_NOTIFY jetzt mal etwas gekürzt. Könnte noch ein bischen Performance bringen.

    Spoiler anzeigen
    [autoit]

    Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR

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

    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")

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

    Switch $hWndFrom
    Case $hListView1, $hListView2
    Switch $iCode
    Case $NM_CUSTOMDRAW
    If Not _GUICtrlListView_GetViewDetails($hWndFrom) Then Return $GUI_RUNDEFMSG
    Local $tCustDraw = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam)
    Local $iItem
    Switch DllStructGetData($tCustDraw, 'dwDrawStage')
    Case $CDDS_ITEMPREPAINT
    Return $CDRF_NOTIFYSUBITEMDRAW
    Case BitOR($CDDS_ITEMPREPAINT, $CDDS_SUBITEM)
    $iItem = DllStructGetData($tCustDraw, 'dwItemSpec')
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aColor[$iItem])) ; Hintergrundfarbe aus Array
    EndSwitch
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
    Zitat von skyteddy

    Ich hab Dein Script jetzt mal als Basis genommen um zu verstehen, wie das colorieren funktioniert. So richtig verstanden habe ich es nicht

    Ist gar nicht so schwer, wenn auch nicht unbedingt offensichtlich. ;)
    Passiert alles in WM_NOTIFY:
    $tCustDraw = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam)
    Hier wird die Struktur $tCustDraw befüllt mit den Werten vom Pointer $lParam (für das aktuelle ListViewItem).
    Werden jetzt Werte in dieser Struktur geändert, so sind diese sofort gültig.
    Das passiert für die Hintergrundfarbe in folgendem Befehl:
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aColor[$iItem]))

  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 10. Juli 2009 um 16:42
    Zitat von skyteddy

    Und genau dafür brauche ich deinen Lösung, oder kann man das anders auch lösen?


    Ja, kann man. Da ist es nicht nötig für jede Zelle die Werte zu hinterlegen. Es wird einfach der Farbwert für die Zeile in einem Array hinterlegt:

    Spoiler anzeigen
    [autoit]

    #include <FontConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    #region - GUI
    $GUI = GUICreate("Test", 600, 440)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_exit')
    $cListView1 = GUICtrlCreateListView("", 2, 2, 290, 420, -1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    $hListView1 = GUICtrlGetHandle($cListView1)
    _GUICtrlListView_InsertColumn($hListView1, 0, "Column 1", 90)
    _GUICtrlListView_InsertColumn($hListView1, 1, "Column 2", 90)
    _GUICtrlListView_InsertColumn($hListView1, 2, "Column 3", 90)
    $cListView2 = GUICtrlCreateListView("", 300, 2, 290, 420, -1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
    $hListView2 = GUICtrlGetHandle($cListView2)
    _GUICtrlListView_InsertColumn($hListView2, 0, "Column 1", 90)
    _GUICtrlListView_InsertColumn($hListView2, 1, "Column 2", 90)
    _GUICtrlListView_InsertColumn($hListView2, 2, "Column 3", 90)
    For $i = 1 To 30
    _GUICtrlListView_AddItem($hListView1, "Row" & $i & ": Col 1", $i-1)
    _GUICtrlListView_AddItem($hListView2, "Row" & $i & ": Col 1", $i-1)
    For $j = 1 To 2
    _GUICtrlListView_AddSubItem ($hListView1, $i-1, "Row" & $i & ": Col " & $j+1, $j)
    _GUICtrlListView_AddSubItem ($hListView2, $i-1, "Row" & $i & ": Col " & $j+1, $j)
    Next
    Next
    #endregion - GUI

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

    #region - Global settings
    Global $hFont, $defColLV = 0x000000
    ; Array mit Farben für jede Zeile:
    Global $aColor[30] = [ _
    0x0033FF,0xCCFFFF,0x3333FF,0x99FFFF,0x6633FF,0xFF99FF,0x0099FF,0xCC99FF,0x00FFFF,0xFF33FF, _
    0xFFFF00,0x003300,0x99FF00,0x663300,0xFF9900,0x009900,0xFF3300,0x669900,0x00BFFF,0xDAA520, _
    0x87CEEB,0xD2691E,0xFFDEAD,0x7B68EE,0xDEB887,0xEE82EE,0x3CB371,0xF4A460,0xADD8E6,0x00FF7F]
    #endregion - Global settings

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUISetState(@SW_SHOW, $GUI)

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

    While True
    Sleep(100)
    WEnd

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

    Func _exit()
    _WinAPI_DeleteObject($hFont)
    Exit
    EndFunc ;==>_exit

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

    Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR
    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView1, $hListView2
    Switch $iCode
    Case $NM_CUSTOMDRAW
    If Not _GUICtrlListView_GetViewDetails($hWndFrom) Then Return $GUI_RUNDEFMSG
    Local $tCustDraw = DllStructCreate($tagNMLVCUSTOMDRAW, $lParam)
    Local $iDrawStage, $iItem, $hDC
    $iDrawStage = DllStructGetData($tCustDraw, 'dwDrawStage')
    Switch $iDrawStage
    Case $CDDS_ITEMPREPAINT
    Return $CDRF_NOTIFYSUBITEMDRAW
    Case BitOR($CDDS_ITEMPREPAINT, $CDDS_SUBITEM)
    $iItem = DllStructGetData($tCustDraw, 'dwItemSpec')
    DllStructSetData($tCustDraw, 'clrTextBk', RGB2BGR($aColor[$iItem])) ; Hintergrundfarbe aus Array
    DllStructSetData($tCustDraw, 'clrText', RGB2BGR($defColLV)) ; Standardschriftfarbe
    $hFont = _WinAPI_CreateFont(14,0,0,0,$FW_NORMAL,False,False,False,$DEFAULT_CHARSET,$OUT_DEFAULT_PRECIS, _
    $CLIP_DEFAULT_PRECIS,$DEFAULT_QUALITY,0,'Arial')
    _WinAPI_SelectObject($hDC, $hFont)
    Return $CDRF_NEWFONT
    EndSwitch
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

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

    Func RGB2BGR($iColor)
    Local $sH = Hex($iColor,6)
    Return '0x' & StringRight($sH, 2) & StringMid($sH,3,2) & StringLeft($sH, 2)
    EndFunc ;==>RGB2BGR

    [/autoit]

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™