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

Beiträge von nefas83

  • RichEdit Textfarbe zurück setzten

    • nefas83
    • 8. Januar 2010 um 14:34

    Hi,

    ich nutze AutoIt 3.3.2.0 und die darin enthaltene RichEditBox.

    Einfärben von Wörtern klappt auch, allerdings wenn ich ein Wort einfärbe und es das letzte in einer Zeile ist und ich dann weiter schreibe bleibt die letzte Farbe.

    Wenn ich mittels befehl

    [autoit]

    _GUICtrlRichEdit_SetCharColor($hRichEdit, '0x000000')

    [/autoit]

    die Farbe wieder auf schwarz stelle wird der gesammte Text schwarz.

    Hier mal ein Auszug:

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

    $Pos_FirstCharOnLine = _GUICtrlRichEdit_GetFirstCharPosOnLine($hRichEdit, $line)
    Local $Text_Pos = _GUICtrlRichEdit_FindTextInRange($hRichEdit, $Temp_String, $Pos_FirstCharOnLine, -1, True, True)
    _GUICtrlRichEdit_SetSel($hRichEdit, $Text_Pos[0], $Text_Pos[1])
    If _GUICtrlRichEdit_IsTextSelected($hRichEdit) Then
    _GUICtrlRichEdit_SetCharColor($hRichEdit, '0x0000FF')
    _GUICtrlRichEdit_Deselect($hRichEdit)
    EndIf

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

    Wenn die RichEditBox automatisch durchgelaufen ist und alle Wörter, die gesucht wurden, rot sind soll es mit schwarz weiter gehen.
    Aber wenn das letzte Wort rot ist und ich manuell weiter schreibe bleibt die Farbe rot.

    Wenn ich wie schon gesagt danach noch mal auf schwarz setzte ist der ganze Text schwarz.

    vielleicht überseh ich was.

    Hab schon versucht den Select aufs Ende zu setzten und dann die Textfarbe auf schwarz aber da kommt das gleiche Ergebniss.

    Schon mal Danke für eure Hilfe.

  • ToolTip bei Statusbar

    • nefas83
    • 10. November 2009 um 22:30

    Hi,
    danke für den Tip, hab es allerdings jetzt so gelöst das ich über die Funktion

    [autoit]

    _GUICtrlStatusBar_EmbedControl

    [/autoit]


    ein Label eingebunden habe. Oder besser gesagt 4 :)

    [autoit]


    Dim $StatusBar1_PartsWidth[8] = [23, 500, 523, 650, 673, 800, 823, -1]
    $hStatus = _GUICtrlStatusBar_Create($frmBerichtsheft_Editor)
    _GUICtrlStatusBar_SetParts($hStatus, $StatusBar1_PartsWidth)

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

    Local $hIcons[4]

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

    $hIcons[0] = _WinAPI_LoadShell32Icon(7)
    $hIcons[1] = _WinAPI_LoadShell32Icon(43)
    $hIcons[2] = _WinAPI_LoadShell32Icon(23)
    $hIcons[3] = _WinAPI_LoadShell32Icon(57)
    _GUICtrlStatusBar_SetIcon($hStatus, 0, $hIcons[0])
    If IsAdmin() Then
    _GUICtrlStatusBar_SetIcon($hStatus, 2, $hIcons[1])
    EndIf
    _GUICtrlStatusBar_SetIcon($hStatus, 4, $hIcons[2])
    _GUICtrlStatusBar_SetIcon($hStatus, 6, $hIcons[3])

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

    $tCur = _Date_Time_GetLocalTime()

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

    $Lbl_Status_Pfad = GUICtrlCreateLabel($path_to_file, 0, 0)
    GUICtrlSetTip(-1, "Pfad zur aktuellen Berichtsheftdatei", "Info", 1, 1)
    $Lbl_Status_User = GUICtrlCreateLabel(@ComputerName, 0, 0)
    GUICtrlSetTip(-1, "ein gelber Stern symbolisiert Adminrechte", "Info", 1, 1)
    $Lbl_Status_Time = GUICtrlCreateLabel(_Date_Time_SystemTimeToDateTimeStr($tCur), 0, 0)
    GUICtrlSetTip(-1, "Aktuelles Datum und Uhrzeit", "Info", 1, 1)
    $Lbl_Status_Build = GUICtrlCreateLabel("Build: " & $Version, 0, 0)
    GUICtrlSetTip(-1, "Build Version", "Info", 1, 1)
    $hLabel_Pfad = GUICtrlGetHandle($Lbl_Status_Pfad)
    $hLabel_User = GUICtrlGetHandle($Lbl_Status_User)
    $hLabel_Time = GUICtrlGetHandle($Lbl_Status_Time)
    $hLabel_Build = GUICtrlGetHandle($Lbl_Status_Build)
    _GUICtrlStatusBar_EmbedControl($hStatus, 1, $hLabel_Pfad, 5)
    _GUICtrlStatusBar_EmbedControl($hStatus, 3, $hLabel_User, 5)
    _GUICtrlStatusBar_EmbedControl($hStatus, 5, $hLabel_Time, 5)
    _GUICtrlStatusBar_EmbedControl($hStatus, 7, $hLabel_Build, 5)

    [/autoit]

    Jetzt klappt es auch mit den ToolTips aber aus irgend eine grund überlagert der Text aus dem 2. Statusbar feld ($Lbl_Status_Pfad) die anderen und mein Programm stürtz ab sobald ich ein Label aktualisiere.

    [autoit]

    Func _Time()
    If $i_Time = 10 Then
    ;Statusbar mit aktuellem Datum und Zeit
    $tCur = _Date_Time_GetLocalTime()
    GUICtrlSetData($hLabel_Time, _Date_Time_SystemTimeToDateTimeStr($tCur))
    ;~ _GUICtrlStatusBar_SetText($hStatus, @TAB & _Date_Time_SystemTimeToDateTimeStr($tCur), 2)
    $i_Time = 0
    EndIf
    EndFunc ;==>_Time

    [/autoit]

    #EDIT: Ok hab das Problem mit den überlappenden Labels gelöst, lag daran das ich als x und y immer 0 verwendet hatte ^^
    jetzt wo ich '-1' genommen hab geht es, ist schon spät und ich sollte schlafen. Die Nacht ist morgen wieder um 6 uhr rum... :sleeping:

    Jetzt bleibt nur noch das Problem wenn ich eines der Labels Aktuallisieren will, in dem Fall die Zeit, stürzt das Programm ab.
    Irgend eine Idee?

    #EDIT: :wacko: Oh man ich bin ja so was von doof!
    Ich gehöre echt ins BETT!
    Ich hab das Label in einer Funktion Lokal deklariert und wunder mich das mein Programm abstürzt wenn ich in einer anderen Funktion auf diese Variable zugreifen will... kein wunder das der im Speicher ins Leere greift! Kaum setzt ich sie Global und bums, es geht.
    Die Grundlagen der Programmierung und ich vergesse es. Trotz dem danke, jetzt geht alles wie es soll.

    thx
    nefas

  • ToolTip bei Statusbar

    • nefas83
    • 10. November 2009 um 20:40

    Hi,

    getestet hab ich es mit dem besagten Befehl

    [autoit]

    _GUICtrlStatusBar_SetTipText

    [/autoit]

    Leider ohne Erfolg.
    #EDIT
    Hab es jetzt mal zuhause unter Windows Vista getestet (Arbeit und normaler Einsatzort 'Windows XP'), dort funktioniert der ToolTip! Allerdings nur bei dem zweiten Feld?!
    Also bei : $hStatus, 1
    Sehr dubios...
    #EDIT 2
    Jetzt geht es wieder nicht, hab es mit Icons getestet und ohne Icons. Mit Adminrechten und ohne Adminrechte.
    Ich mein es soll ja auch nur eine Hilfestellung sein für die Anwender und kein Muss! Aber ein "nice to have ".
    #EDIT3
    Also ich hab jetzt herausgefunden das wenn kein Text in einem Statusbar Feld steht, erscheint der ToolTip.
    Wenn jedoch Text vorhanden ist, kommt kein ToolTip.
    Werd noch etwas mit den Einstellungen spielen, vielleicht komm ich ja auf ne Lösung.


    [autoit]

    Dim $StatusBar1_PartsWidth[4] = [500, 600, 750, -1]
    $hStatus = _GUICtrlStatusBar_Create($frmBerichtsheft_Editor, -1, "", $SBARS_TOOLTIPS)
    _GUICtrlStatusBar_SetParts($hStatus, $StatusBar1_PartsWidth)
    _GUICtrlStatusBar_SetTipText($hStatus, 0, 'Pfad zur aktuellen Berichtsheftdatei')
    _GUICtrlStatusBar_SetTipText($hStatus, 1, 'ein gelber Stern symbolisiert Adminrechte')
    _GUICtrlStatusBar_SetTipText($hStatus, 2, 'Aktuelles Datum und Uhrzeit')
    _GUICtrlStatusBar_SetTipText($hStatus, 3, 'Build Version')

    [/autoit]


    Posten kann ich mein Script hier leider nicht da es Daten enthält die Firmen intern sind und somit nicht für die Öffentlichkeit zugänglich gemachten werden dürfen.

    Ich weiß das es somit doch sehr erschwert wird.

    Ich habe jetzt eine Möglichkeit gefunden über eine UDF aus dem englsichen Forum, allerdings sieht dieser Tooltip nicht so aus wie ich den gerne hätte.

    So sollten die ToolTips aussehen in der Statusbar ( Bild eines ToolTips von einem Buttom)
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    und so sieht der ToolTip aus von der UDF, leider nur einer möglich für die ganze Statusbar:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Das waren meine Versuche im Code.

    [autoit]

    ; ---Statusbar---
    Dim $StatusBar1_PartsWidth[4] = [500, 600, 750, -1]
    $hStatus = _GUICtrlStatusBar_Create($frmBerichtsheft_Editor, -1, "")
    ;~ GUICtrlSetTip(-1, "Ein gelber Stern symbolisiert Adminrechte.", "Info", 1, 1)
    _GUICtrlStatusBar_SetParts($hStatus, $StatusBar1_PartsWidth)
    ;~ _GUICtrlStatusBar_SetTipText($hStatus, 0, 'Pfad zur aktuellen Berichtsheftdatei')
    ;~ _GUICtrlStatusBar_SetTipText($hStatus, 1, 'ein gelber Stern symbolisiert Adminrechte')
    _ToolTip_SetBaloonStyle()
    _ToolTip_SetText($hStatus, "Im ersten Feld wird der Pfad zum Aktuellen Berichtsheft dargestellt Im zweiten Feld symbolisiert ein gelber Stern die Adminrechte.")

    [/autoit]

    Ich schau mal ob ich mein Code soweit säubern kann das ich ihn hier posten kann und er trotzdem noch lauffähig bleibt.
    Könnte allerdings ganz schön Arbeit werden, weil er mittlerweile ohne die Includes die ich erstellt hatte um den Main Code klein zuhalten, schon etwa 3000 Zeilen enthält.
    Und dann halt noch diverse Includes die benötigt werden.

    Aber danke schon mal für eure Hilfe und Unterstützung die ich bis Dato bekommen habe.
    Ein klasse Forum für den Autoit'ler.

    Gruß nefas

    Bilder

    • 2009-11-10 20 28 28.jpg
      • 6,02 kB
      • 218 × 73
  • ToolTip bei Statusbar

    • nefas83
    • 10. November 2009 um 13:16

    Hab ich schon versucht, leider ohne erfolg.

    Kann es damit zusammen hängen das ich zuvor

    ein Top Menü erstelle?

    [autoit]

    ;---Top Menu---

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

    ; Create File menu
    $hFile = _GUICtrlMenu_CreateMenu(1)
    $hFileSub = _GUICtrlMenu_CreatePopup()
    $hFileSubExport = _GUICtrlMenu_CreatePopup()
    _GUICtrlMenu_AddMenuItem($hFile, "&Neu Anlegen", $idNew)
    _GUICtrlMenu_AddMenuItem($hFile, "&Importieren", $idOpen)
    _GUICtrlMenu_AddMenuItem($hFile, "")
    _GUICtrlMenu_AddMenuItem($hFile, "&Speichern...", $idSave)
    _GUICtrlMenu_AddMenuItem($hFile, "&Speichern unter...", $idSaveAs)
    _GUICtrlMenu_AddMenuItem($hFile, "")
    _GUICtrlMenu_AddMenuItem($hFile, "&Seite Exportieren", $idExport, $hFileSubExport)
    _GUICtrlMenu_AddMenuItem($hFileSubExport, "Word-Dokument", $idExportWord)
    _GUICtrlMenu_AddMenuItem($hFile, "&Drucken", $idPrint)
    _GUICtrlMenu_AddMenuItem($hFile, "")
    _GUICtrlMenu_AddMenuItem($hFile, "&Einstellungen", $idSettings, $hFileSub)
    _GUICtrlMenu_AddMenuItem($hFileSub, "Dateiverknüpfung zu *.nef Dateien herstellen", $idSettings_Connect_nef)
    _GUICtrlMenu_AddMenuItem($hFileSub, "Dateiverknüpfung zu *.nef Dateien löschen", $idSettings_DeConnect_nef)
    _GUICtrlMenu_AddMenuItem($hFileSub, "Rechtschreibehilfe", $idSpell_Check)
    _GUICtrlMenu_AddMenuItem($hFile, "&Update", $idUpdate)
    _GUICtrlMenu_AddMenuItem($hFile, "")
    _GUICtrlMenu_AddMenuItem($hFile, "&Beenden", $idExit)

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

    ; Create Spell menu
    $hSpell = _GUICtrlMenu_CreateMenu(1)
    _GUICtrlMenu_AddMenuItem($hSpell, "&Prüfen", $idSpell_Check_Now)

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

    ; Create Help menu
    $hHelp = _GUICtrlMenu_CreateMenu(1)
    _GUICtrlMenu_AddMenuItem($hHelp, "&Feiertage", $idFeiertage)
    _GUICtrlMenu_AddMenuItem($hHelp, "&Schulferien", $idFerien)
    _GUICtrlMenu_AddMenuItem($hHelp, "&About", $idAbout)

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

    ; Create Main menu
    $hMain = _GUICtrlMenu_CreateMenu(1)
    _GUICtrlMenu_InsertMenuItem($hMain, 0, "&Datei", 0, $hFile)
    _GUICtrlMenu_InsertMenuItem($hMain, 1, "&Rechtschreibung", 0, $hSpell)
    _GUICtrlMenu_InsertMenuItem($hMain, 2, "&Hilfe", 0, $hHelp)

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

    _GUICtrlMenu_SetMenu($frmBerichtsheft_Editor, $hMain)

    [/autoit]
  • ToolTip bei Statusbar

    • nefas83
    • 10. November 2009 um 10:44

    Hi,

    ich würde gerne bei einer Statusbar, erstellt mit:

    [autoit]

    ; ---Statusbar---
    Dim $StatusBar1_PartsWidth[4] = [500, 600, 750, -1]
    $StatusBar1 = _GUICtrlStatusBar_Create($frmBerichtsheft_Editor, -1, "", $SBARS_TOOLTIPS)
    _GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)

    [/autoit]


    Tooltips einblenden die so aussehen wie welche die mit

    [autoit]

    GUICtrlSetTip(-1, "Ein gelber Stern symbolisiert Adminrechte.", "Info", 1, 1)

    [/autoit]


    erstellt wurden.

    Leider bekomme ich im moment überhaupt keine ToolTips angezeigt.
    Bei anderen Schaltflächen wie Buttons oder so, klappt das prima mit ToolTips.

    Vielleicht weiß einer von euch Rat.

    mfg
    nefas

  • Context Menü in RichEdit

    • nefas83
    • 23. Oktober 2009 um 08:37

    Hi,

    ich wollte auch gerne eine ContextMenu im einem RichEdit nutzen aber leider bekomm ich das nicht so hin.

    Hab mir den Link schon angeschaut aber werde nicht ganz schlau draus.

    Ich hab diesen Ansatz mal versucht allerdings erfolgslos.

    [autoit]


    $RichMENU[0] = GUICtrlCreateContextMenu(GUICtrlCreateDummy())
    $RichMENU[1] = GUICtrlCreateMenuItem("Undo Ctrl-Z", $RichMENU[0])
    $RichMENU[2] = GUICtrlCreateMenuItem("Redo Ctrl-Y", $RichMENU[0])
    GUICtrlCreateMenuItem("", $RichMENU[0])
    $RichMENU[3] = GUICtrlCreateMenuItem("Cut Ctrl-X", $RichMENU[0])
    $RichMENU[4] = GUICtrlCreateMenuItem("Copy Ctrl-C", $RichMENU[0])
    $RichMENU[5] = GUICtrlCreateMenuItem("Paste Ctrl-V", $RichMENU[0])

    [/autoit]

    Volgendes soll möglich sein, mit einme click der rechten Maustaste auf ein wort soll diesen markiert werden und danach ein ContextMenu sich öffnen an welches ich die rüggabe von einer Funktion übergeben.

    Lange reden kurzer sinn, es geht um eine Rechtschreibeprüfung in Echtzeit.
    Das klappt auch schon so weit, jetzt fehlt nur noch das ContextMenu welches die Wortvorschläge enthällt.

    wenn gewünscht kann ich ja den Source noch posten.

    mfg

    nefas

  • Hunspell DLL nutzen - zur laufzeit Rechtschreibung prüfen

    • nefas83
    • 18. Oktober 2009 um 23:59

    Hey Super!

    Genau so hab ich mir das vorgestellt. Jetzt werd ich das ganze noch so anpassen das ich das in Echtzeit hab und fertig ist das ganze.

    Vielen Dank von mir, ich hatte auch schon den gleichen Ansatz aber leider mit weniger Erfolg, lag vielleicht auch daran das ich die DLL von Hunspell genommen hatte.

    Hunspelldll.dll version 1.1.4

    Aber mit den zwei klappt es prima.

    noch mals vielen dank.

    Wenn ich das hinbekomme sollte so wie ich mir das vorstelle werd ich das ganze mal posten damit andere das auch nutzen können.

    gruß nefas

  • Hunspell DLL nutzen - zur laufzeit Rechtschreibung prüfen

    • nefas83
    • 16. Oktober 2009 um 09:23

    Hi und guten Morgen zusammen.

    Ich hatte schon mal ein Thema aufgemacht wo es um das Thema Rechtschreibung ging. Warum ich ein neues aufmachen?
    Die Überschrift passt nicht zu meiner Frage und damit sie besser gefunden wird, ein neues Thema.

    Also ich habe eine dll von dem Rechtschreibe Programm "Hunspell"

    Ich habe auch ein "Delphi" beispiel und ein C++ Beispiel wie man sie nutzt, doch leider bin ich nicht ganz so bewandert in den beiden Sprachen.

    Ich würde gerne in mein Programm ( ein Editor für Berichtshefte für Azubis) eine "Echtzeit-Rechtschreibe-Prüfung" einauen.
    Diese Hunspelldll.dll verspricht das zu können.

    Da die Nutzung von dll Dateien bei Autoit möglich ist wende ich mich an euch in der Hoffnung das ihr mir helfen könnt diese DLL anzusprechen.

    Leider kann ich die DLL nicht anhängen und da ich mir nicht sicher bin ob ich den Link zur Downloadseite posten darf verbleibe ich erst mal so und warte auf Anmerkungen.

  • _WordCreate() beendet alle laufenden Instanzen von word

    • nefas83
    • 24. September 2009 um 12:01

    Hi,

    ich habe das gleiche Probelm, vielleicht hast du ja schon eine Lösung oder jemand anderes weiß eine.

    mfg

    nefas

  • Textbox Focus ermitteln nicht möglich (Textbox transparent)

    • nefas83
    • 24. Februar 2009 um 13:54

    Danke Oscar, so klappt es :P

    Spoiler anzeigen
    [autoit]

    Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
    Local $nID = BitAND($wParam, 0x0000FFFF)
    Switch $nID
    Case $txtLeo
    if GuiCtrlRead($txtLeo) <> "" Then
    GuiCtrlSetData($txtLeo,"")
    Else
    GuiCtrlSetData($txtLeo,"search dictLeo...")
    EndIf
    Case $txtIntranet
    if GuiCtrlRead($txtIntranet) <> "" Then
    GuiCtrlSetData($txtIntranet,"")
    Else
    GuiCtrlSetData($txtIntranet,"search Intranet...")
    EndIf
    Case $txtUser
    if GuiCtrlRead($txtUser) <> "" Then
    GuiCtrlSetData($txtUser,"")
    Else
    GuiCtrlSetData($txtUser,"search User...")
    EndIf
    Case $txtLocal
    if GuiCtrlRead($txtLocal) <> "" Then
    GuiCtrlSetData($txtLocal,"")
    Else
    GuiCtrlSetData($txtLocal,"search Local...")
    EndIf
    Case $txtWiki
    if GuiCtrlRead($txtWiki) <> "" Then
    GuiCtrlSetData($txtWiki,"")
    Else
    GuiCtrlSetData($txtWiki,"search Wiki...")
    EndIf
    Case $txtGoogle
    if GuiCtrlRead($txtGoogle) <> "" Then
    GuiCtrlSetData($txtGoogle,"")
    Else
    GuiCtrlSetData($txtGoogle,"search Google...")
    EndIf
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>MY_WM_COMMAND

    [/autoit]

    Was aber komisch ist, das er mir immer so feld von Google leer macht wenn ich den Focus in einme anderen Feld hab ist der Focus im Feld von Google ist der Text da...

  • Textbox Focus ermitteln nicht möglich (Textbox transparent)

    • nefas83
    • 24. Februar 2009 um 13:02
    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #Include <WinAPI.au3>
    #include <IE.au3>
    #include <StaticConstants.au3>
    #include <Misc.au3>
    #include <Array.au3>
    #include <adfunctions.au3>
    #include <GUIListBox.au3>
    #Include <Constants.au3>

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

    #Region ### START Koda GUI section ### Form=\\wetp030a\uid67481$o$\scripte\source\-=project=-\finder\gui\frmfinder_v2.kxf
    $frmFinder = GUICreate("Finder", 233, 183, -1, -1, BitOR($WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
    WinSetTrans($frmFinder,"",1)
    $txtLeo = GUICtrlCreateInput("search dictLeo...", 5, 154, 191, 21)
    $txtLeo_Trans = _GuiCtrlMakeTrans(-1,175)
    $cmdLeo = GUICtrlCreateButton("(Not allowed)", 201, 149, 26, 26, BitOR($BS_FLAT,$BS_BITMAP))
    $cmdLeo_Trans = _GuiCtrlMakeTrans(-1,175)
    GUICtrlSetImage(-1, "", 0)
    $txtIntranet = GUICtrlCreateInput("search IntraNet...", 5, 130, 191, 21)
    $txtIntranet_Trans = _GuiCtrlMakeTrans(-1,175)
    $cmdIntranet = GUICtrlCreateButton("(Not allowed)", 201, 125, 26, 26, BitOR($BS_FLAT,$BS_BITMAP))
    $cmdIntranet_Trans = _GuiCtrlMakeTrans(-1,175)
    GUICtrlSetImage(-1, "", 0)
    $txtUser = GUICtrlCreateInput("search User...", 6, 105, 191, 21)
    $txtUser_Trans = _GuiCtrlMakeTrans(-1,175)
    $cmdUser = GUICtrlCreateButton("(Not allowed)", 201, 100, 26, 26, BitOR($BS_FLAT,$BS_BITMAP))
    $cmdUser_Trans = _GuiCtrlMakeTrans(-1,175)
    GUICtrlSetImage(-1, "", 0)
    $txtLocal = GUICtrlCreateInput("search Local...", 5, 80, 191, 21)
    _GuiCtrlMakeTrans(-1,175)
    $cmdLocal = GUICtrlCreateButton("(Not allowed)", 201, 75, 26, 26, BitOR($BS_FLAT,$BS_BITMAP))
    _GuiCtrlMakeTrans(-1,175)
    GUICtrlSetImage(-1, "", 0)
    $txtWiki = GUICtrlCreateInput("search Wiki...", 6, 55, 191, 21)
    _GuiCtrlMakeTrans(-1,175)
    $cmdWiki = GUICtrlCreateButton("(Not allowed)", 201, 50, 26, 26, BitOR($BS_FLAT,$BS_BITMAP))
    _GuiCtrlMakeTrans(-1,175)
    GUICtrlSetImage(-1, "", 0)
    $txtGoogle = GUICtrlCreateInput("search Google...", 5, 30, 191, 21)
    _GuiCtrlMakeTrans(-1,175)
    $cmdGoogle = GUICtrlCreateButton("(Not allowed)", 201, 25, 26, 26, BitOR($BS_FLAT,$BS_BITMAP))
    _GuiCtrlMakeTrans(-1,175)
    GUICtrlSetImage(-1, "", 0)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Label1 = GUICtrlCreateLabel("", 0, 0, 222, 165,"",$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    TraySetClick("9")
    ;$displayitem = TrayCreateItem("Anzeige")
    $exititem = TrayCreateItem("Beenden")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    WEnd

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

    #Region ### Transparency ######################################################################################################

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

    ;===============================================================================
    ;
    ; Function Name: _WinAPI_SetLayeredWindowAttributes
    ; Description:: Sets Layered Window Attributes:) See MSDN for more informaion
    ; Parameter(s):
    ; $hwnd - Handle of GUI to work on
    ; $i_transcolor - Transparent color
    ; $Transparency - Set Transparancy of GUI
    ; $isColorRef - If True, $i_transcolor is a COLORREF( 0x00bbggrr ), else an RGB-Color
    ; Requirement(s): Layered Windows
    ; Return Value(s): Success: 1
    ; Error: 0
    ; @error: 1 to 3 - Error from DllCall
    ; @error: 4 - Function did not succeed - use
    ; _WinAPI_GetLastErrorMessage or _WinAPI_GetLastError to get more information
    ; Author(s): Prog@ndy
    ;
    ; Link : @@MsdnLink@@ SetLayeredWindowAttributes
    ; Example : Yes
    ;===============================================================================
    ;
    Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
    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_SetLayeredWindowAttributes

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

    Func _GuiCtrlMakeTrans($iCtrlID,$iTrans=255)

    Local $pHwnd, $nHwnd, $aPos, $a

    $hWnd = GUICtrlGetHandle($iCtrlID);Get the control handle
    If $hWnd = 0 then Return SetError(1,1,0)
    $pHwnd = DllCall("User32.dll", "hwnd", "GetParent", "hwnd", $hWnd);Get the parent Gui Handle
    If $pHwnd[0] = 0 then Return SetError(1,2,0)
    $aPos = ControlGetPos($pHwnd[0],"",$hWnd);Get the current pos of the control
    If @error then Return SetError(1,3,0)
    $nHwnd = GUICreate("", $aPos[2], $aPos[3], $aPos[0], $aPos[1], 0x80000000, 0x00080000 + 0x00000040, $pHwnd[0]);greate a gui in the position of the control
    If $nHwnd = 0 then Return SetError(1,4,0)
    $a = DllCall("User32.dll", "hwnd", "SetParent", "hwnd", $hWnd, "hwnd", $nHwnd);change the parent of the control to the new gui
    If $a[0] = 0 then Return SetError(1,5,0)
    If NOT ControlMove($nHwnd,'',$hWnd,0,0) then Return SetError(1,6,-1);Move the control to 0,0 of the newly created child gui
    GUISetState(@SW_Show,$nHwnd);show the new child gui
    WinSetTrans($nHwnd,"",$iTrans);set the transparency
    If @error then Return SetError(1,7,0)
    GUISwitch($pHwnd[0]);switch back to the parent Gui

    Return $nHwnd;Return the handle for the new Child gui

    EndFunc
    #EndRegion ### Transparency ###################################################################################################

    [/autoit]

    Ich hab allerdings die Pfade von den Grafiken für die Buttons rausgenommen, sollte aber ja der GUI keine einbusen bringen.

    ich hab auch die ganznén Funktionenrausgenommen da es teilweise interen pfade enthällt.

    Aber das hat ja auch keinen einfluss auf die GUI.

    Hoffe es hilft.

    mfg

  • Textbox Focus ermitteln nicht möglich (Textbox transparent)

    • nefas83
    • 24. Februar 2009 um 11:53

    Hi,
    ic hab mal wieder ein Problem.
    Und zwar wollte ich ein kleines Menü machen mit transparenten Textfeldern und Buttons. klappt ja auch so weit, jetzt wollte ich aber prüfen ob eine der textboxen den Focus hat und dann den Text löschen der drinsteht.
    aber ich bekomm einfach nicht den Focus abgefragt.

    hab es versucht mit

    [autoit]

    If _IsFocused ($frmFinder, $txtUser) And $Clear = 0 Then
    GUICtrlSetData ($txtUser, "")
    $Clear = 1
    ElseIf $Clear = 1 And Not _IsFocused ($frmFinder, $txtUser) Then
    GUICtrlSetData($txtUser,"search User...")
    $Clear = 0
    EndIf

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

    Func _IsFocused($hWnd, $nCID)
    Return ControlGetHandle($hWnd, '', $nCID) = ControlGetHandle($hWnd, '', ControlGetFocus($hWnd))
    EndFunc ;==>_IsFocused

    [/autoit]

    und nur mit

    [autoit]

    ControlGetFocus($hWnd))

    [/autoit]


    aber leider bekomm ich nix hin.

    vielleicht hat einer eine Idee?

    Zur Info so stell ich die transparens ein:

    [autoit]

    $txtLeo = GUICtrlCreateInput("search dictLeo...", 5, 154, 191, 21)
    _GuiCtrlMakeTrans(-1,175)

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

    Func _GuiCtrlMakeTrans($iCtrlID,$iTrans=255)

    Local $pHwnd, $nHwnd, $aPos, $a

    $hWnd = GUICtrlGetHandle($iCtrlID);Get the control handle
    If $hWnd = 0 then Return SetError(1,1,0)
    $pHwnd = DllCall("User32.dll", "hwnd", "GetParent", "hwnd", $hWnd);Get the parent Gui Handle
    If $pHwnd[0] = 0 then Return SetError(1,2,0)
    $aPos = ControlGetPos($pHwnd[0],"",$hWnd);Get the current pos of the control
    If @error then Return SetError(1,3,0)
    $nHwnd = GUICreate("", $aPos[2], $aPos[3], $aPos[0], $aPos[1], 0x80000000, 0x00080000 + 0x00000040, $pHwnd[0]);greate a gui in the position of the control
    If $nHwnd = 0 then Return SetError(1,4,0)
    $a = DllCall("User32.dll", "hwnd", "SetParent", "hwnd", $hWnd, "hwnd", $nHwnd);change the parent of the control to the new gui
    If $a[0] = 0 then Return SetError(1,5,0)
    If NOT ControlMove($nHwnd,'',$hWnd,0,0) then Return SetError(1,6,-1);Move the control to 0,0 of the newly created child gui
    GUISetState(@SW_Show,$nHwnd);show the new child gui
    WinSetTrans($nHwnd,"",$iTrans);set the transparency
    If @error then Return SetError(1,7,0)
    GUISwitch($pHwnd[0]);switch back to the parent Gui

    Return $nHwnd;Return the handle for the new Child gui

    EndFunc

    [/autoit]

    mfg

    nefas

  • LDAP: Problem mit _ADGetObjectsInOU aus ADFunctions.au3

    • nefas83
    • 19. Februar 2009 um 13:33

    Jab das weis ich, meine funktion sieht ja wie folgt aus:

    [autoit]

    Dim $nefOU = 'OU=###,DC=###,DC=###,DC=###' ;Wegen betriebsinternen verändert
    Dim $asUser
    Dim $UserLastName

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

    Func Search_LDAP()

    $UserLastName = '"(name='&GUICtrlRead($txtUser)&'*)"'

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


    _ADGetObjectsInOU($asUser, $nefOU, $UserLastName,2,"DisplayName,samAccountName,co,l,telephonenumber,physicalDeliveryOfficeName,department,mail,global-ExtensionAttribute1,global-ExtensionAttribute2,distinguishedName,homeDirectory,scriptPath","DisplayName")
    _ArrayDisplay($asUser)
    EndFunc

    [/autoit]

    Aber da ich den filter über eine Variable einfüge satt direkt bekomm ich einen fehler
    der wie folgt aussieht.

    [autoit]

    ==> The requested action with this object has failed.:
    $objRecordSet = $objCommand.Execute
    $objRecordSet = $objCommand.Execute^ ERROR

    [/autoit]
  • LDAP: Problem mit _ADGetObjectsInOU aus ADFunctions.au3

    • nefas83
    • 18. Februar 2009 um 17:42

    Ich mal wieder ;)

    hab ein Problem mit dieser Funktion "_ADGetObjectsInOU" aus der "ADFunctions.au3".
    Und zwar möchte ich als filter einen Namen verwenden z.B "name=Max*" damit ich aus dem AD per LDAP alle Namen mit Max bekomme.
    Wenn ich es direkt in den Funktionsaufruf reinschreibe das es so aussieht:

    [autoit]

    _ADGetObjectsInOU(ByRef $ObjectArray, $ou, "name=Max*", $searchscope = 2, $datatoretrieve = "sAMAccountName", $sortby = "sAMAccountName")

    [/autoit]

    Dann klappt das und ich bekomm ein Array voll mit Infos.

    Jetzt möchte ich aber den Namen der gesucht werden soll von einer GUI haben als so z.B das ich ein Feld hab "User Name" und da gibt man dann den zusuchenden Namen ein.

    wenn ich jetzt eine Variable mach die so aussieht:

    [autoit]

    $Username = '"name=' & GUICtrlRead($txtUser) & '*"'

    [/autoit]

    und dann meinen Funktionsaufruf so gestalte:

    [autoit]

    _ADGetObjectsInOU(ByRef $ObjectArray, $ou, $Username , $searchscope = 2, $datatoretrieve = "sAMAccountName", $sortby = "sAMAccountName")

    [/autoit]

    Dann bekomm ich immer einen Error das das Object nicht stimmt.

    Die zugehörige Funktion aus der ADFunctions.au3 sieht so aus:

    [autoit]

    ; _ADGetObjectsInOU
    ; Returns an array of the objects in an OU
    ; $ou : The OU to retrieve from
    ; $filter : optional, default "name'*'". An additional LDAP filter if required.
    ; $searchscope : optional, default 2. 0 = base, 1 = one-level, 2 = sub-tree
    ; $datatoretrieve : optional, default "Name". A comma-seperated list of values to retrieve. More than one value will create
    ; a 2-dimensional array, array[0][0] will contain the number of items returned, which start at array[1][0]

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

    Func _ADGetObjectsInOU(ByRef $ObjectArray, $ou, $filter = "(name=*)", $searchscope = 2, $datatoretrieve = "sAMAccountName", $sortby = "sAMAccountName")
    Local $objRecordSet
    $objCommand = ObjCreate("ADODB.Command")
    $objCommand.ActiveConnection = $objConnection
    $objCommand.Properties ("Page Size") = 256
    $objCommand.Properties ("Searchscope") = $searchscope
    $objCommand.Properties ("TimeOut") = 20

    $strCmdText = "<LDAP://" & $strHostServer & "/" & $ou & ">;" & $filter & ";" & $datatoretrieve & ";subtree"

    $objCommand.CommandText = $strCmdText
    $objRecordSet = $objCommand.Execute

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

    $recordcount = $objRecordSet.RecordCount
    If $recordcount = 0 Then
    $objCommand = 0
    $objRecordSet = 0
    Return 0
    EndIf

    If StringInStr($datatoretrieve, ",") Then

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

    $dtrArray = StringSplit($datatoretrieve, ",")

    Dim $ObjectArray[$recordcount + 1][$dtrArray[0]]

    $ObjectArray[0][0] = $recordcount
    $ObjectArray[0][1] = $dtrArray[0]

    $count = 1
    $objRecordSet.MoveFirst
    Do
    For $i = 1 To $dtrArray[0]
    $ObjectArray[$count][$i - 1] = $objRecordSet.Fields ($dtrArray[$i]).Value
    Next
    $objRecordSet.MoveNext
    $count += 1
    Until $objRecordSet.EOF
    Else
    Dim $ObjectArray[$recordcount + 1]
    $ObjectArray[0] = UBound($ObjectArray) - 1
    If $ObjectArray[0] = 0 Then
    $ObjectArray = 0
    Return 0
    Else
    $count = 1
    $objRecordSet.MoveFirst
    Do
    $ObjectArray[$count] = $objRecordSet.Fields ($datatoretrieve).Value
    $objRecordSet.MoveNext
    $count += 1
    Until $objRecordSet.EOF
    EndIf
    EndIf

    $objCommand = 0
    $objRecordSet = 0

    Return 1

    EndFunc ;==>_ADGetObjectsInOU

    [/autoit]

    Und an der Stelle kommt der Error

    [autoit]

    $objRecordSet = $objCommand.Execute

    [/autoit]

    Ist bestimmt was banales, aber ich steh irgend wie auf dem Schlauch.
    Vielleicht kann mir einer Helfen.

    mfg

    nefas

    P.S. leider kann ich es erst morgen Früh auf der Arbeit testen da ich hier zuhause kein LDAP habe.

    P.S.S.:
    Hab es hinbekommen ;)

    lösung sieht so aus:

    [autoit]


    $UserLastName = GUICtrlRead($txtUser)&"*"

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

    _ADGetObjectsInOU($asUser, $nefOU, "(&(Name="&$UserLastName&"))", 2, "DisplayName,samAccountName,co,l,telephonenumber,physicalDeliveryOfficeName,department,mail,global-ExtensionAttribute1,global-ExtensionAttribute2,distinguishedName,homeDirectory,scriptPath","DisplayName")

    [/autoit]
  • LDAP nach User durchsuchen

    • nefas83
    • 17. Februar 2009 um 10:41

    Hi,
    ich hab da ein kleines Problem und zwar versuch ich im AD per LDAP nach Usern zu suchen.

    Es soll folgender maßen funktionieren:

    Wenn ich den Nachname eingebe sollen alles User die den Namen haben oder enthalten aufeglistet werden mit sonstigen informationen.
    wenn ich die den Username angeben soll der zugehörige User angezeigt werden genau so soll es möglich sein nach Telefonnummer oder Vorname zusuchen.

    Leider kenne ich mich nicht ganz so gut mit LDAP aus.

    ich hab dieses Script hier im englischen Forum gefunden.
    Es bring mich schon mal so weit wenn ich den Username eingeben bekomm ich die Daten des Users. Aber jetzt möchte ich auch Suchen könnne.

    Vielleicht kann mir ja einer helfen?

    [autoit]

    #include <GUIConstants.au3>
    #include <Misc.au3>
    Const $ADS_NAME_INITTYPE_GC = 3
    Const $ADS_NAME_TYPE_NT4 = 3
    Const $ADS_NAME_TYPE_1779 = 1
    DIM $unlock
    DIM $mgrvalue
    DIM $mgrsplit
    DIM $manager
    DIM $mgr
    DIM $title
    DIM $pwdexpires
    $oMyError = ObjEvent("AutoIt.Error", "ComError")
    $objRootDSE = ObjGet("LDAP://RootDSE")
    $username = InputBox("Username","Please input a username:")
    If @error Then
    MsgBox(0, 'username', 'Username does not exist or not able to communicate with ' & @LogonDomain)
    Else
    ; DNS domain name.
    $objTrans = ObjCreate("NameTranslate")
    $objTrans.Init ($ADS_NAME_INITTYPE_GC, "")
    $objTrans.Set ($ADS_NAME_TYPE_1779, @LogonDomain)
    $objTrans.Set ($ADS_NAME_TYPE_NT4, @LogonDomain & "\" & $username)
    $strUserDN = $objTrans.Get ($ADS_NAME_TYPE_1779)
    $UserObj = ObjGet("LDAP://" & $strUserDN)
    If @error Then
    MsgBox(0, 'username', 'Username does not exist or not able to communicate with ' & @LogonDomain)
    Else

    Call ("Displayinfo")


    EndIf
    EndIf
    $UserObj = ""
    $oMyError = ObjEvent("AutoIt.Error", "")
    ;COM Error function
    Func ComError()
    If IsObj($oMyError) Then
    $HexNumber = Hex($oMyError.number, 8)
    SetError($HexNumber)
    Else
    SetError(1)
    EndIf
    Return 0
    EndFunc ;==>ComError

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

    Func Displayinfo()
    GUICreate ( "Active Directory Information", 500, 600, 300, 300)

    GUICtrlCreateLabel ("Username: ", 10, 10, 60, 20)
    GUICtrlCreateLabel ("First Name: ", 10, 30, 60, 20)
    GUICtrlCreateLabel ("Last Name: ", 200, 30, 60, 20)
    GUICtrlCreateLabel ("Display Name: ", 10, 50, 100, 20)
    GUICtrlCreateLabel ("Title: ", 10, 70, 100, 20)
    GUICtrlCreateLabel ("Manager: ", 10, 90, 100, 20)
    GUICtrlCreateLabel ("Description: ", 10, 150, 100, 20)
    GUICtrlCreateLabel ("Office: ", 10, 190, 60, 20)
    GUICtrlCreateLabel ("Department: ", 10, 250, 100, 20)
    GUICtrlCreateLabel ("Telephone Number: ", 10, 290, 90, 40)
    GUICtrlCreateLabel ("Mobile Number: ", 10, 320, 100, 20)
    GUICtrlCreateLabel ("Home Number: ", 10, 350, 100, 20)
    GUICtrlCreateLabel ("Email Address: ", 10, 370, 100, 20)
    GUICtrlCreateLabel ("Logon Script: ", 10, 410, 100, 20)
    GUICtrlCreateLabel ("Account:", 10, 430, 100, 20)
    GUICtrlCreateLabel ("Number of bad logon attempts since last reset: ", 310, 420, 120, 40)
    GUICtrlCreateLabel ("Password Last Changed: ", 10, 460, 100, 40)
    GUICtrlCreateLabel ("90 Day Password Expiration: ", 10, 490, 100, 40)
    GUICtrlCreateLabel ("Last Logon: ", 10, 540, 100, 20)

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

    $font="Tahoma"
    GUISetFont (9, 600, $font) ; will display underlined characters
    $unlock = GUICtrlCreateButton ( "UNLOCK Account", 180, 425, 120, 25)
    GUICtrlSetState ( $unlock, $Gui_Disable )
    GUICtrlCreateLabel ( ''& $username, 100, 10, 100, 20)
    GUICtrlSetColor(-1,0x0000CC) ; Blue
    GUICtrlCreateLabel (''& $UserObj.FirstName, 100, 30, 100, 20)
    GUICtrlCreateLabel (''& $UserObj.LastName, 300, 30, 100, 20)
    GUICtrlCreateLabel (''& $UserObj.FullName, 100, 50, 300, 20)
    GUICtrlCreateLabel (''& $UserObj.Title, 100, 70, 100, 20)
    $title = GUICtrlRead ( $title )
    If $title = 0 Then
    GUICtrlCreateLabel ('', 100, 70, 100, 20)
    Endif

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

    $mgr = GUICtrlCreateLabel (''& $UserObj.Manager, 100, 90, 400, 70)
    $mgrvalue = GUICtrlRead ( $mgr )
    $mgrsplit = StringSplit ( ""& $mgrvalue, ",")
    $manager = StringTrimLeft ( ''& $mgrsplit[1], 3 )
    GUICtrlCreateLabel (''& $manager, 100, 90, 400, 70)
    GUICtrlCreateLabel (''& $UserObj.Description, 100, 150, 300, 40)
    GUICtrlCreateLabel (''& $UserObj.physicalDeliveryOfficeName, 100, 190, 100, 50)
    GUICtrlCreateLabel (''& $UserObj.Department, 100, 250, 200, 20)
    GUICtrlCreateLabel (''& $UserObj.TelephoneNumber, 100, 300, 250, 20)
    GUICtrlCreateLabel (''& $UserObj.TelephoneMobile, 100, 320, 250, 20)
    GUICtrlCreateLabel (''& $UserObj.TelephoneHome, 120, 350, 250, 20)
    GUICtrlCreateLabel (''& $UserObj.EmailAddress, 100, 370, 300, 20)
    GUICtrlCreateLabel (''& $UserObj.LoginScript, 100, 410, 200, 15)

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

    $locked = GUICtrlCreateLabel (""& $UserObj.IsAccountLocked, 100, 430, 10, 20)
    If GuiCtrlread ($locked) = 0 or 39 Then
    GUICtrlCreateLabel ("NOT Locked", 100, 430, 80, 15)
    GUICtrlSetBkColor(-1, 0x00ff00);Green
    Else
    MsgBox(0, 'INFO', "User Account Lock value is: "& $locked)
    GUICtrlCreateLabel ("LOCKED", 10, 430, 60, 15)
    GUICtrlSetBkColor(-1, 0xff0000) ; Red
    GUICtrlSetState ( $unlock, $Gui_Enable )

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

    EndIf
    $lastchange = $UserObj.PasswordLastChanged

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

    $Date = StringMid($lastchange, 5, 2) & "/" & StringMid($lastchange, 7, 2) & "/" & StringMid($lastchange, 1, 4)
    $Time = StringMid($lastchange, 9, 2) & ":" & StringMid($lastchange, 11, 2) & ":" & StringMid($lastchange, 13, 2)
    GUICtrlCreateLabel ($Date & " "& $Time, 100, 460, 150, 20)
    $pwdexpires = StringMid($lastchange, 5, 2) + 3 & "/" & StringMid($lastchange, 7, 2) & "/" & StringMid($lastchange, 1, 4)
    GUICtrlCreateLabel ( $pwdexpires & ' ' & $Time, 100, 490, 150, 20)

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

    $lastlogin = $UserObj.LastLogin

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

    $Date = StringMid($lastlogin, 5, 2) & "/" & StringMid($lastlogin, 7, 2) & "/" & StringMid($lastlogin, 1, 4)
    $Time = StringMid($lastlogin, 9, 2) & ":" & StringMid($lastlogin, 11, 2) & ":" & StringMid($lastlogin, 13, 2)
    GUICtrlCreateLabel ($Date & " "& $Time, 100, 540, 150, 20)
    $badlogin = GUICtrlCreateLabel (""& $UserObj.BadLoginCount, 430, 430, 20, 15)
    If GuiCtrlread ($badlogin) = 0 Then
    GUICtrlSetBkColor(-1, 0x00ff00);Green
    Else
    GUICtrlSetBkColor(-1, 0xff0000) ; Red
    EndIf

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

    GUISetState ()


    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $unlock
    If $UserObj.IsAccountLocked Then
    $UserObj.IsAccountLocked = False
    $UserObj.SetInfo
    MsgBox(0, 'INFO', "User Account was Unlocked. It will take approximately 5 mins to reflect this change.")
    GUICtrlCreateLabel (""& $UserObj.IsAccountLocked, 100, 430, 10, 20)
    EndIf

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd


    EndFunc

    [/autoit]

    besten Dank schon mal

  • LoginWrapper

    • nefas83
    • 16. Februar 2009 um 08:28

    Hi,
    ich hab da mal eine Frage
    und zwar kann es sein das sich dein Script mit der Aktuellen Version (3.3.0.0) von AutoIt nicht compilieren lässt?
    bekomm leide einer error bei der Zeile

    Opt("RunErrorsFatal", 0)

    und dann als nächstes bei

    $username_L = GUICtrlCreateLabel("Username : ", 16, 80, 131, 17, $SS_SUNKEN) und zwar kennt er "$SS_SUNKEN" nicht.

    aber sonst ein tolles Script.
    thx

  • Aspell in echtzeit nutzen

    • nefas83
    • 26. Januar 2009 um 07:47

    Es geht um volgendes, ich habe ein Programm geschrieben welches zum schreiben des Berichtsheftes dient.
    Damit in meinem Programm die möglichkeit besteht eine Rechtschreibekorrektur vorzunehmen wollte ich gerne Aspell einbinden.
    Im moment greife ich auf Word zurück, was aber für die Nutzer schlecht ist die z.B. Open Office nutzen.

    Da in der Firma auch nicht jedes Programm installiert werden kann/darf wollte ich gerne Aspell in mein Programm einbinden.
    Wie es z.B bei Pidgin dre fall ist.

    Hoffe jetzt wurdes es ein wenige klarer ;)

    mfg nefas

  • Login für WoW + Parameter(mal wieder)

    • nefas83
    • 22. Januar 2009 um 20:08

    hatte zwischen durch es auch mal über einen Umweg verscuht, und zwar ist es möglich mit der "Printscreen" funktion von Windows einene Screenshot zumachen, diesen wollte ich dann im Hintergrund in Paint einfügen über "Strg+v" und da dann mit Pixelsearch suchen.

    Lief aber irgeng wie nicht so wie es soll, im fenster Modus hat er mir immer ein "v" noch mit eingefügt obwohl ich per controlclick und handle auf Paint den befehl übergeben hab.
    Und im Vollbild blieb der Schirm komplett schwarz und musste dann über den Taskmanager alles beenden.

    Schade, muss mich wohl damit abfiden das es nicht so möglich ist. Hab jetzt auch schon gute 10 - 12 stunden darein gesteckt ohne erfolg.

    und nur für den Fenstermodus allein ist es ja auch nicht so brickelt.

    mfg

    nefas

  • Login für WoW + Parameter(mal wieder)

    • nefas83
    • 22. Januar 2009 um 14:15

    hi,
    danke für den tip aber leider klappt das im vollbild modus nicht da der komplette bildberiech als schwarze fläche erkannt wird. Egal wie weit geladen ist.

    Solltest eigentlich nicht gegen irgend welche regel verstosen, da es ja kein bot ist.

    Es sei denn als bot wird jedes Script angesehn das eine exe startet und ein string übergibt, wie z.B. Wenn ich Firefox aufmache und an diesen eine URL sende. 8)

    Da mein script nicht anderes macht als diese.

    Hier mal ein Screenshot von der Gui

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

  • Anfängerfrage, Handling von mehreren Fenstern

    • nefas83
    • 22. Januar 2009 um 13:14

    Hi,

    was mir als erstes auffällt ist das du manche Variablen mehrfach verwendest. z.B. $Button_OK

    und um das fenster wieder verschwinden zulassen um auf das andere zu kommen versuch mal als befehl

    @SW_HIDE

    anstelle von

    @sw_disable

    gruß
    nefas

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™