Beiträge von Torni

    genialo...thx dafür..


    kleines Manko, wenn ich ca. 2000 Zeichen reinpacke, verkleinert sich die Gui und kein QR ist zu sehen..


    p.s. gibt es so was auhc für 128er-BarCode??

    Hi,


    kann mir einer der Autoit/WMI-Spezies mal erläutern, warum diese WMI-Abfrage (so ähnlich aus Forum) so lange dauert bzw.obs was anderes gibt??
    Pro Festplatte bzw. Aufruf der Func USBPL() dauert es ca. 2-4 Sekunden


    Hintergrund ist der, dass ich prüfen will, welche Festplatte eine USB-Platte ist, das unten aber Notifications "auswertet" und eher ungeeignet ist.



    Func USBPL($sfpl)


    Local $strComputer = "."
    Local $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")


    $colEvents = $objWMIService.ExecNotificationQuery("Select * From __InstanceOperationEvent Within 5 Where " & "TargetInstance isa 'Win32_LogicalDisk'")


    $objEvent = $colEvents.NextEvent
    If $objEvent.TargetInstance.DriveType = 2 Then
    Consolewrite("Drive " & $objEvent.TargetInstance.DeviceId & " is a removable Harddrive." & @CR)
    Return True
    EndIf
    Return False
    EndFunc


    Diese Funktion müsste ich mehrmals aufrufen können, was ja aber zu lange dauert.


    Aufrufen tue ich die in einer Schleife:



    ...
    Switch DriveGetType($aLW[$i])
    Case 'Fixed'
    If USBPL($aDrives[$i]) = True Then
    $iIcon = 4
    Else
    $iIcon= 5
    EndIf
    ...


    Ich hab mir auf MSDN den Wolf gesucht..

    Then you have different Input-Forms??


    A simple possibility is to choose which Listview-Row is selected an then decide what to do like
    ...
    Case $Button1
    Local $iNum = _GUICtrlListView_GetSelectionMark($List_1)
    Switch $iNum
    Case 0
    GUICtrlSetData($tbChosen, $iNum , 1)
    MsgBox(64,"Test", $iNum & " selected")
    Case 1
    GUICtrlSetData($tbChosen, $iNum , 1)
    MsgBox(64,"Test", $iNum & " selected")
    EndSwitch
    GUISetState(@SW_HIDE, $Form1)
    EndSwitch
    ...


    p.s.: I'm not a professional-scripter, so do not expect to much from me, hrhr

    just change the lines:
    Case $Button1
    GUICtrlSetData($tbChosen, GUICtrlRead($Input1) & @CRLF & _
    GUICtrlRead($Input2) & @CRLF & _
    GUICtrlRead($Input3) & @CRLF, 1)


    into similar like:


    Case $Button1
    GUICtrlSetData($tbChosen, '0' & GUICtrlRead($Input1) & ';' & @CRLF & _
    '(-- ' & GUICtrlRead($Input2) & ' --)' & @CRLF & _
    'G97M3S' & GUICtrlRead($Input3) & ';' & @CRLF, 1)


    you can combine Strings with the "&"-operator like you want/need

    quick und vor allem dirty-lösung:


    ok, nach langem probieren und suchen gelöst:



    ...


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


    ....


    Case $NM_RCLICK
    Local $tPoint = _WinAPI_GetMousePos(True, $hWndFrom), $tHitTest
    $tHitTest = _GUICtrlTreeView_HitTestEx($hWndFrom, DllStructGetData($tPoint, 1), DllStructGetData($tPoint, 2))
    If BitAND(DllStructGetData($tHitTest, "Flags"), $TVHT_ONITEM) Then
    _GUICtrlTreeView_SelectItem($hWndFrom, DllStructGetData($tHitTest, 'Item'))
    Local $sPfads = StringReplace(_GUICtrlTreeView_GetTree($hTreeview, _GUICtrlTreeView_GetSelection($hTreeview)), $Delim1, $Delim)
    EndIf
    GUICtrlSetData($Input1, $sPfads)

    Da reicht der Code von nem normalen TreeView:



    Das Verhalten ist da automatisch drin. Sobald man mit rechts was anderes anklickt und loslässt ist er wieder beim vorher Selektierten.


    Mein Versuch war ein Codeschnipsel den ich irgendwo gefunden habe, per WM_Notify die rechte Maus abzufangen:



    Case $NM_RCLICK
    $tPoint = _WinAPI_GetMousePos(1, $hTreeView)
    $tTVHTI = _GUICtrlTreeView_HitTestEx($hTreeView, DllStructGetData($tPoint, 1), DllStructGetData($tPoint, 2))
    $hItem = DllStructGetData($tTVHTI, 'Item')
    If BitAND(DllStructGetData($tTVHTI, 'Flags'), $TVHT_ONITEM) Then
    MsgBox(0,"", ".,.");;;;;;;;;;;;;;;;;;;;;;;;; hier kommt er nicht mal hin..
    _GUICtrlTreeView_SelectItem($hTreeView, $hItem)
    EndIf


    Wie gesagt, gefundener Code-Schnipsel.. ?( ?( ?(

    Hallo,


    ich hab ein TreeView



    Wenn ich auf ein Nicht-selektiertes TreeView-Item mit rechter Maustaste klicke und wieder loslasse, wird wieder das vorher angewählte Item selektiert.
    Ich möchte jedoch das vorher mit rechts angewählte Item selektiert lassen.
    Im Beispiel oben habe ich mit rechter-Maustaste auf "87687" geklickt und losgelassen und schon springt er wieder auf "Bewerbung".
    Ist bestimmt einfach, finde jedoch kein Ansatz..

    Hiho,


    es geht um die WinApiEx.au3:


    Mittels dem Beispiel



    Kann man bequem Desktops "erzeugen".
    Wie bekommt man jedoch die ganzen Icons und die Taskleiste hinzu?
    Hat dajemand schon mal daran gearbeitet? Oder eine andere Möglichkeit?

    so ähnlich wie das... natürlich noch registrieren per GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")