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

Beiträge von sc4ry

  • mal wieder DLLs

    • sc4ry
    • 25. Oktober 2008 um 00:23

    hi,

    also ich werd es gerne zum 1000 mal probieren, ich kenne das script fast aus dem FF .. bis auf dass es funktioniert. ich hab es schon 20 mal gesehen und probiert ... ich krieg ich zumindest nicht so zum laufen wie es sein soll.

    aber ok, es geht in autoit. ... aber was ist mit fenstern im tray verschieben (evtl mit dieser dll) ... jm dnen plan ?

  • mal wieder DLLs

    • sc4ry
    • 24. Oktober 2008 um 15:23

    Ich hab mir das vorher schon angeguckt, aber das gilt ja nur für ein autoit-script ... ich will alle fenster in den systray minimieren können ...

  • mal wieder DLLs

    • sc4ry
    • 24. Oktober 2008 um 14:39

    Hiho,

    ich würde gerne von 2 Fremd-Programmen die Funktionen in ein Script von mir einbauen.
    Das ist "TrayWizard" und "Taskbarshuffle". Beides ist Freeware.

    Interessant sind für mich die Funktionen, Fenster in den Systray zu minimieren (und per Klick zurückzuholen) und Fenster in der Taskleiste zu verschieben.

    In AutoIt selber konnte ich bis jetzt noch nichts finden, was mir hilft, aber evtl. kann ich ja auf die DLLs zurückgreifen.

    Das ich mit DW nun die DLLs einsehen kann, hab ich schon nachgelesen ;) ... aber mit dem verstehen und umsetzen harperts noch. Kann mir dabei wer helfen?
    Ich gucke mir auch die Hilfe zu DllCall an ... aber irgendwie springt der Funke nicht über.

    Die Dlls hänge ich an (hoffe das ist Ok).

    Könnte mir wer ein Bsp geben, wie ich da ne Funktion aufrufe (bzw bekomme ich von da überhaupt alle wichtigen Infos)?

    Thx schonmal...

  • Shutdown-Timer

    • sc4ry
    • 23. Oktober 2008 um 16:36

    nach dem gui werden die befehle als cmd-parameter übergeben ... wenn du es als exe ausführst, geht es ;)

  • GuiCtrListView SubItem suchen und Zeile zurückgeben

    • sc4ry
    • 23. Oktober 2008 um 16:24

    *rofl*

    hatte ich wohl irgendwie vergessen und verdrängt =)
    super, werde ich dann gleich einbauen (ich weiß ja das es geht, habs ja schonmal getestet *g*)

  • Windows Self-Rename abschalten und auslesen

    • sc4ry
    • 23. Oktober 2008 um 16:06

    Hiho,

    so, ich bin jetzt an dieser Funktion dran. Also so wir ihr es beschreibt, würde es gehen, aber irgendwie glaube ich, geht es auch leichter.
    leider kann ich den code nicht genau analysieren, also verstehen, aber könnte das nicht dafür sein?

    [autoit]

    Func ShellHookWindow($hWnd, $bFlag)
    Local $sFunc = 'DeregisterShellHookWindow'
    If $bFlag Then $sFunc = 'RegisterShellHookWindow'
    Local $aRet = DllCall('user32.dll', 'int', $sFunc, 'hwnd', $hWnd)
    Return $aRet[0]
    EndFunc

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

    Func RegisterWindowMessage($sText)
    Local $aRet = DllCall('user32.dll', 'int', 'RegisterWindowMessage', 'str', $sText)
    Return $aRet[0]
    EndFunc

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

    Func On_WM_SYSCOMMAND($hWnd, $Msg, $wParam, $lParam)
    Switch BitAND($wParam, 0xFFF0)
    Case $SC_MOVE, $SC_SIZE
    Case $SC_CLOSE
    ShellHookWindow($form2, 0)
    Return $GUI_RUNDEFMSG
    EndSwitch
    EndFunc

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

    Func initMinMax($x0,$y0,$x1,$y1)
    Local Const $WM_GETMINMAXINFO = 0x24
    $aUtil_MinMax[0]=$x0
    $aUtil_MinMax[1]=$y0
    $aUtil_MinMax[2]=$x1
    $aUtil_MinMax[3]=$y1
    GUIRegisterMsg($WM_GETMINMAXINFO,'MY_WM_GETMINMAXINFO')
    EndFunc

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

    Func MY_WM_GETMINMAXINFO($hWnd, $Msg, $wParam, $lParam)
    Local $minmaxinfo = DllStructCreate('int;int;int;int;int;int;int;int;int;int',$lParam)
    DllStructSetData($minmaxinfo,7,$aUtil_MinMax[0]); min X
    DllStructSetData($minmaxinfo,8,$aUtil_MinMax[1]); min Y
    DllStructSetData($minmaxinfo,9,$aUtil_MinMax[2]); max X
    DllStructSetData($minmaxinfo,10,$aUtil_MinMax[3]); max Y
    Return $GUI_RUNDEFMSG
    EndFunc

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

    func _Rename_Window()
    Local $get_win = _get_item_substring()
    if $get_win[6] <> "" AND $get_win[6] <> $form2 Then
    Local $hwnd2 = HWnd($get_win[6]);WinGetHandle($get_win[0])
    _toggle_hooker()
    Local $new_name = _My_Input_Box($get_win[0])
    _toggle_hooker()
    if $new_name <> -1 then
    ;~ MsgBox(0, "ok", $hwnd2 & ", " & $get_win[6])
    $allow_renaming_global = false
    WinSetTitle($hwnd2, "", $new_name)
    _GUICtrlListView_SetItem($listt, $new_name, $get_win[4])
    _set_above_win()
    EndIf
    $allow_renaming_global = true
    Else
    SoundPlay(@WindowsDir & "\media\ding.wav",0)
    EndIf
    EndFunc

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

    func _change_title_window($handle, $title)
    Local $item_index = 9999999
    ;~ Local $get_state = _get_item_substring()
    for $w = 0 to _GUICtrlListView_GetItemCount($listt)-1
    if _GUICtrlListView_GetItemText($listt, $w, 6) = $handle Then
    $item_index = $w
    ExitLoop
    endif
    Next
    if $item_index <> 9999999 then
    if _GUICtrlListView_GetItemText($listt, $item_index, 4) = "Allow" then
    _GUICtrlListView_SetItemText($listt, $item_index, $title)
    Else
    if $allow_renaming_global = true Then
    WinSetTitle($handle, "", _GUICtrlListView_GetItemText($listt, $item_index, 0))
    Sleep(10)
    EndIf
    EndIf
    EndIf
    EndFunc

    [/autoit]
  • GuiCtrListView SubItem suchen und Zeile zurückgeben

    • sc4ry
    • 23. Oktober 2008 um 14:54

    Danke, dann werde ich was bauen müssen.

    EDIT: Probs erledigt, mit GUICtrlGetHandle($ListView1) geht es =)

  • ListView mit Icons sortieren

    • sc4ry
    • 23. Oktober 2008 um 14:15

    Hiho,

    hab es rausgefunden. das muss noch im script eingebaut werden:

    [autoit]

    _GUICtrlListView_RegisterSortCallBack($ListView1)

    [/autoit]
  • GuiCtrListView SubItem suchen und Zeile zurückgeben

    • sc4ry
    • 23. Oktober 2008 um 11:16

    Hallo,

    ich suche eine Funktion, bei dem ich eine bestimmte Spalte (die ich kenne) nach einem bestimmten Wert (den ich kenne) durchsuchen möchte, um anschließend die Zeile,
    in der dieser Wert gefunden wurd, zurückgegeben wird.

    Gibts da was, werde in der Hilfe nicht fündig =/

  • ListView mit Icons sortieren

    • sc4ry
    • 22. Oktober 2008 um 20:47

    Hallo, ich habe ein ListView mit Icons in jeder Spalte. Das sortieren selber stellt kein Prob dar, geht ja mit der Hilfe ganz easy:

    Spoiler anzeigen
    [autoit]


    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    ;~ Local $tBuffer
    $hListView = $ListView1
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $LVN_COLUMNCLICK ; A column was clicked
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    Local $B_DESCENDING[_GUICtrlListView_GetColumnCount ($ListView1) ]
    _GUICtrlListView_SimpleSort($hWndListView, $B_DESCENDING, DllStructGetData($tInfo, "SubItem"))

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

    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    Aber die Icons werden nicht neu sortiert, was schon ziemlich blöd ist. was muss ich machen das die entpsrechend mit sortiert werden?

  • Shutdown-Timer

    • sc4ry
    • 21. Oktober 2008 um 14:19

    Hi Worfox,

    danke für die Rückmeldungen.

    zu Edit1:

    du hast recht, im Quellcode war Zeile 271 deaktiviert, wenn man die wieder in den code aufnimmt (bzw den code aus post 1 nimmt, da hab ichs verbessert), funktioniert das wieder.
    zeile muss natürlich so

    [autoit]

    $handle = SplashTextOn($head, "", 130, 50, 1, 1, 1, "", 10, 600)

    [/autoit]


    anstatt so

    [autoit]

    ;~ $handle = SplashTextOn($head, "", 130, 50, 1, 1, 1, "", 10, 600)

    [/autoit]


    aussehen ;)

    Zu Edit2:

    Was korrekt ist, ist, dass wenn eine Zeit eingegeben wird, die es heute nicht mehr gibt, diese für den nächsten Tag gilt.
    Das er dann natürlich was von 25 Uhr anzeigt, muss ich fixen, dass ist Müll *g*
    Mit der Anzeige probier ich mich auch mal dran ... danke für den Tip.

  • Shutdown-Timer

    • sc4ry
    • 21. Oktober 2008 um 13:23

    WinAPI ist bei AutoIt eigentlich bei, ne GDI.au3 hab ich net included, oder? =)

    @Crazy,

    hab ja oben extra geschrieben, wenn was unklar ist, dann fragen, also vollkommen berechtigt ;)

  • FileFind

    • sc4ry
    • 21. Oktober 2008 um 07:31

    Hallo,

    ich möchte mir ein kleines Tool zur Übersicht über meine Dateien bauen.
    Folgendes soll es können.

    Eine HDD/Ordner absuchen, dabei die direkten Unterordner in eine Liste schreiben und dazu die Files (Ausnahme: KEINE Ico-Files). bin mir noch nicht sicher ob ich das einfach in excel haben will, oder ein gui schreibe. wie schließe ich jetzt bei der suche nur die ico-files am sinnvollsten aus?

    bzw welche funktion würdet ihr mir zum durchsuchen der ordner empfehlen ...

  • _GUICtrlListView_GetItemText($ListView1, _GUICtrlListView_GetSelectedIndices($ListView1), 2)

    • sc4ry
    • 21. Oktober 2008 um 07:27

    Hi BugFix, Tip hat geholfen ... wobei ich das in der letzten version wieder entfernt hatte, da es ganz gut ohne extra GuiCtrlGetHandle ging.

    so funzt es nun (ist aber auch komisch):

    [autoit]

    _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), _GUICtrlListView_GetSelectedIndices($ListView1), 9)

    [/autoit]

    Dafür hab ich ein neues Prob, warum geht das nicht?

    [autoit]

    Func _GetItem()
    $GetItem[0] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), _GUICtrlListView_GetSelectedIndices($ListView1), 0)
    $GetItem[1] = _GUICtrlListView_GetItemText(GUICtrlGetHandle($ListView1), _GUICtrlListView_GetSelectedIndices($ListView1), 9)
    EndFunc

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

    Func _Rename_Window()
    _GetItem()
    $Win = $GetItem[0]
    $Handl = $GetItem[1]
    $NewTitle = InputBox("Set New Title", $Handl, $Win, Default, 400, 50, Default, Default, Default, $Form1_1)
    WinSetTitle($Handl, "", $NewTitle)
    _GUICtrlListView_SetItemText($ListView1, _GUICtrlListView_GetSelectedIndices($ListView1), $NewTitle)
    EndFunc

    [/autoit]

    $Win = Titel
    $Handl = Handle

    wird beides richtig aus dem ListView gezogen und auch dort wieder eingetragen, aber WinSetTitle will nicht ...

    EDiT:

    Wieso funzt das mit den Handles denn nicht, folgendes geht auch nur, wenn ich $Win anstatt $Handl verwende, der/das richtige Handle wird aber zurückgegeben:

    [autoit]

    Func _Set_OnTop()
    _GetItem()
    $Win = $GetItem[0]
    $Handl = $GetItem[1]
    $WinIsOnTop = _WinIsOnTop($Win)
    If $WinIsOnTop = 1 Then
    WinSetOnTop($Win, "", 0)
    Else
    WinSetOnTop($Win, "", 1)
    EndIf
    _Refresh()
    EndFunc

    [/autoit]
  • _GUICtrlListView_GetItemText($ListView1, _GUICtrlListView_GetSelectedIndices($ListView1), 2)

    • sc4ry
    • 20. Oktober 2008 um 16:02

    Hiho,

    ich würde gerne rausfinden, welche zeile markiert ist und aus dieser zeile verschiedene spaltenwerte auslesen.
    nach langer suche habe ich dann GetSelectedIndices gefunden, was mir die Zeile zurückgibt.

    aber warum geht folgendes nicht?

    [autoit]

    MsgBox(0, _GUICtrlListView_GetSelectedIndices($ListView1), _GUICtrlListView_GetItemText($ListView1, _GUICtrlListView_GetSelectedIndices($ListView1), 2))

    [/autoit]

    Rückgabe ist im Titel = 2, im Text nichts ....
    Was stimmt hier nicht?

    Zeile 3 ist markiert, da Null-Index ist die 2 also richtig. Warum kann er mit GetItemText nun nicht den Wert aus Zeile 3 (NullIndex2) Spalte NullIndex 2 ziehen?

    PS: wenn ich manuell den Wert 2 als Zeile eingebe, geht es ...

  • ContextMenü

    • sc4ry
    • 20. Oktober 2008 um 15:29

    habs hinbekommen =P

    thx ;)

    [autoit]


    $Form1_1 = GUICreate($Title, 555, 301, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU ,$DS_SETFOREGROUND), $WS_EX_TOPMOST)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_EndScript")
    $ContextM = GUICtrlCreateContextMenu()
    $ListView1 = GUICtrlCreateListView("", 3, 23, 545, 228, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER, $LVS_REPORT));BitOR($LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS), BitOR($LVS_EX_SUBITEMIMAGES, $WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_HEADERDRAGDROP,$LVS_EX_FULLROWSELECT))
    $exStyles = BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)
    _GUICtrlListView_SetExtendedListViewStyle($ListView1, $exStyles)

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

    $ContextMenu = GUICtrlCreateContextMenu($ListView1)
    $Move_to = GUICtrlCreateMenu("Move to", $ContextMenu )
    $Move_to_Top = GUICtrlCreateMenuItem("1/2 Top", $Move_to)
    $Move_to_Right = GUICtrlCreateMenuItem("1/2 Right", $Move_to)
    $Move_to_Bottom = GUICtrlCreateMenuItem("1/2 Bottom", $Move_to)
    $Move_to_Left = GUICtrlCreateMenuItem("1/2 Left", $Move_to)

    [/autoit]
  • ContextMenü

    • sc4ry
    • 20. Oktober 2008 um 14:18

    Hallo,

    wie geht es bei nem ContextMenü, ein Menü mit Unterpunkten zu erzeugen? (wie traycreatemenu und traycreatemenuitem) ...

    das geht iwie nicht:

    [autoit]

    $move_to = GUICtrlCreateMenu("Move to", $ListView1)
    $go_to_folder = GUICtrlCreateMenuItem("1/2 Top", $move_to)
    $go_to_folder = GUICtrlCreateMenuItem("1/2 Right", $move_to)
    $go_to_folder = GUICtrlCreateMenuItem("1/2 Bottom", $move_to)
    $go_to_folder = GUICtrlCreateMenuItem("1/2 Left", $move_to)

    [/autoit]
  • Shutdown-Timer

    • sc4ry
    • 20. Oktober 2008 um 13:24

    Hi Crazy,

    habs mal oben ergänzt, aber hier nochmal.
    Ist es so in Ordnung?

    -notray (versteckt das Tray-Icon, wird standardmäßig angezeigt)
    -hide (versteckt das "Zeitfenster", wird standardmäßig angezeigt)
    -notop (Fenster ist NICHT on Top, standardmäßig on Top)
    -noresist (Fenster ist NICHT immun gegen Eingaben, man kann NICHT durchklicken, standardmäßig immun gegen Eingaben)
    -corner 1|2|3|4 (Fenster wird in definierter Ecke angezeigt, standardmäßig 1 (links oben))
    -trans 0-100 (Transparenz des Fensters in Prozent, standardmäßig 10% transparenz)

  • WhoIsOn

    • sc4ry
    • 20. Oktober 2008 um 11:28

    Update 20.10.08

    Anzeige im ListView mit Icons
    Proxy-Settings hinzugefügt, Funktion kann jedoch noch nicht verwendet werden ;)

  • Windows Self-Rename abschalten und auslesen

    • sc4ry
    • 20. Oktober 2008 um 09:05

    Hiho,

    danke für die tips. ich dachte irgendwie, dass es mitm dllcall o. ä. vom system für das fenster deaktiviert wird ... geht das nicht?

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™