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

Beiträge von nuts

  • Webcam Spionage???

    • nuts
    • 20. Januar 2010 um 21:24

    Also bei mir wird der Prozess angezeigt - scroll mal weiter hoch.

  • playliste erstellen

    • nuts
    • 20. Januar 2010 um 21:22

    Ok daran lags nicht.
    JuraX vielleiht hilft es schon dein Skript etwas "aufzuräumen"
    Includes -> Deklaration & Wertzuweisung der Variablen (Gui usw.) -> While Wend Schleife -> Funktionen
    So ca.

  • playliste erstellen

    • nuts
    • 20. Januar 2010 um 21:09

    GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC') vergessen?
    Nimms mir nicht übel, aber einfach Skripte zusammenkopieren wird dich langfristig nicht ans Ziel bringen. ;)

  • Webcam Spionage???

    • nuts
    • 20. Januar 2010 um 21:06

    Na welche Programme die du gar nichts kennst sind denn aufgelistet?
    Der gemeine Trojaner könnte sich ja als alles mögliche tarnen. :whistling:

  • array decrypten

    • nuts
    • 20. Januar 2010 um 10:49

    Ist jetzt bei diesem Skript imho nicht so dramatisch, aber trotzdem ist das Kopieren und Löschen des Authors kein guter Stil.

  • PCI-E Sata Controller für Autoit-Steuerung

    • nuts
    • 20. Januar 2010 um 10:24

    Hey,


    ich suche für meinen Server einen Sata Controller (4-8 Ports), die bevorzugte Schnittstelle wäre PCI-E.
    Raid-Funktionen werden nicht benötigt, allerdings ist es wichtig, dass alle Festplatten im laufenden Betrieb an- und ausgeschaltet werden können (Hot-Pluggin oder so ähnlich).
    D.h. die Festplatten sollen richtig "aus" sein und auch keinen Strom mehr aus der Dose ziehen.

    Die Zu- und Abschaltung möchte ich mit einem Auto-it Skript automatisieren, ungefähr so soll das laufen:

    Zitat

    Client: "Daten auf Festplatte 1 werden benötigt"
    Server:"Ok ich schau mal ob sich die Festplatte zuschalten lässt"
    Client: *wartet*
    Server:"Festplatte 1 wurde erfolgreich eingebunden" oder "Festplatte 1 konnte nicht eingebunden werden"
    Client: *greift auf Daten zu* oder *ärgert sich*
    Client:"Daten von Festplatte 1 werden nichtmehr benötigt"
    Server-PC:*schaltet Festplatte 1 aus*

    Alles anzeigen


    Die Autoit-Umsetzung dürfte kein Problem sein. Mehr Sorgen bereitet mir die Hardware :wacko:
    Hat vielleicht jemand sowas am laufen und kann mir einen entsprechenden Controller empfehlen? Welche Hersteller sind empehlenswert?
    Der Preis ist erstmal egal.

    Gruß nuts

    edit \ Beim ebay durchstöbern gefunden: http://cgi.ebay.de/LSI-Logic-SATA…=item3efc209201
    Vielleicht sowas?

  • 3 ListBox Fragen

    • nuts
    • 19. Januar 2010 um 22:36

    Sorry bin heute zu nichts gekommen :(
    Um dich nicht ganz hängen zu lassen hier mal ein Link zur angesprochenen UDF: ListView - SubItem einzeln färben/formatieren, Finale Version!
    Vielleicht kommst du damit schon klar?

    @Clicks: Und wie willst du es haben? Kannst doch auslesen welches Item markiert ist und entsprechend reagieren.

  • Treeview FileExplorer

    • nuts
    • 19. Januar 2010 um 21:35

    Eine Funktion dazu enthält auch die Listview Varainte von Progandy.

  • Treeview FileExplorer

    • nuts
    • 19. Januar 2010 um 09:36

    Oh stimmt, _FileListtoarray wurde ziemlich beschleunigt 8o

  • Treeview FileExplorer

    • nuts
    • 18. Januar 2010 um 22:09

    Nicht schlecht. :thumbup:

    Progandy hat sowas mal fürs Listview gepostet, finde nur den Thread dazu nichtmehr.
    Ich hoffe diese Version ist relativ untouched, da ich davon ziemlich viele Abwandlungen (einige ziemlich vermurkste :D) gespeichert habe.
    Ist ziemlich flott, möglicherweise kann Oscars Variante aber mehr. ?(

    Spoiler anzeigen
    [autoit]


    ;#BETA
    #include <GuiImageList.au3>
    #include <GUIListView.au3>

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

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>

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

    Global Const $tagSHFILEINFO = "dword hIcon; int iIcon; DWORD dwAttributes; CHAR szDisplayName[255]; CHAR szTypeName[80];"
    Global Const $SHGFI_USEFILEATTRIBUTES = 0x10
    Global Const $SHGFI_SYSICONINDEX = 0x4000
    Global Const $SHGFI_SMALLICON = 0x1
    Global Const $SHGFI_LARGEICON = 0x0

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

    Global Const $FOLDERUP_ICON_INDEX = _GUIImageList_AddIcon(_GUIImageList_GetSystemImageList(), @SystemDir & "\shell32.dll", 132)
    Global Const $FOLDER_ICON_INDEX = _GUIImageList_GetFileIconIndex(@SystemDir, 0, 1)
    Global Const $NOICON_ICON_INDEX = _GUIImageList_GetFileIconIndex("nb lgl", 0, 0)

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

    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=D:\Dokumente\Dateien von Andreas\AutoIt3\FTP\GUI_MAIN.kxf
    Global $GUI_MAIN = GUICreate("Au3FTP", 882, 586, 193, 125)
    GUISetOnEvent(-3, "GUI_Close")

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

    Global $inpLocalDirectory = GUICtrlCreateInput("", 8, 28, 369, 20, $ES_READONLY)
    Global $ListView1 = GUICtrlCreateListView("Name|Datum|Größe", 8, 48, 369, 489)

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

    Global $SHELLLISTVIEWHANDLE = GUICtrlGetHandle($ListView1) ; Get the Handle

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

    GUICtrlSendMsg($ListView1, 0x101E, 0, 200)
    GUICtrlSendMsg($ListView1, 0x101E, 1, 75)
    GUICtrlSendMsg($ListView1, 0x101E, 2, 50)
    GUIRegisterMsg($WM_NOTIFY, "_SHLV_WM_NOTIFY")

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

    _GUICtrlListView_SetImageList($ListView1, _GUIImageList_GetSystemImageList(), 1)
    Global $DIRECTORY_LOCAL = "" ; Start with Selection of drives (IMG:http://www.autoitscript.com/forum/style_em…utoit/smile.gif)
    _SHLV_PopulateLocalListView($SHELLLISTVIEWHANDLE, $DIRECTORY_LOCAL)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(100)
    WEnd

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

    Func GUI_Close()
    Exit
    EndFunc ;==>GUI_Close

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

    ; Prog@ndy
    Func _SHLV_PopulateLocalListView($hListView1, ByRef $DIRECTORY_LOCAL)
    If Not IsHWnd($hListView1) Then $hListView1 = GUICtrlGetHandle($hListView1)
    If $DIRECTORY_LOCAL = "" Then
    Local $drives = DriveGetDrive("ALL")
    GUICtrlSetData($inpLocalDirectory, "Drive Selection")
    _GUICtrlListView_BeginUpdate($hListView1)
    _GUICtrlListView_DeleteAllItems($hListView1)
    For $i = 1 To $drives[0]
    _GUICtrlListView_AddItem($hListView1, StringUpper($drives[$i]) & "\", _GUIImageList_GetFileIconIndex($drives[$i] & "\"))
    Next
    _GUICtrlListView_EndUpdate($hListView1)
    Return
    EndIf
    If StringRight($DIRECTORY_LOCAL, 1) <> "\" Then $DIRECTORY_LOCAL &= "\"
    If DriveStatus(StringLeft($DIRECTORY_LOCAL, 3)) <> "READY" Then Return 0 * MsgBox(16 + 8192, 'Error on Drive Access', "Drive " & StringLeft($DIRECTORY_LOCAL, 3) & " not ready!")
    GUICtrlSetData($inpLocalDirectory, $DIRECTORY_LOCAL)
    $files = _SHLV__FileListToArray2($DIRECTORY_LOCAL, "*.*", 2)
    _GUICtrlListView_BeginUpdate($hListView1)
    _GUICtrlListView_DeleteAllItems($hListView1)
    Local $foldercount = 0
    _GUICtrlListView_AddItem($hListView1, "< .. >", $FOLDERUP_ICON_INDEX)
    If IsArray($files) Then
    _GUICtrlListView_SetItemCount($hListView1, $files[0] + 1)
    $foldercount = $files[0] + 1
    For $i = 1 To $files[0]
    $item = _GUICtrlListView_AddItem($hListView1, $files[$i], $FOLDER_ICON_INDEX)
    _GUICtrlListView_AddSubItem($hListView1, $item, __SHLV_FormatFilesize(DirGetSize($DIRECTORY_LOCAL & $files[$i], 2)), 2)
    Next
    EndIf
    $files = _SHLV__FileListToArray2($DIRECTORY_LOCAL, "*.*", 1)
    _GUICtrlListView_EndUpdate($hListView1)
    _GUICtrlListView_BeginUpdate($hListView1)
    If IsArray($files) Then
    _GUICtrlListView_SetItemCount($hListView1, $files[0] + $foldercount)
    For $i = 1 To $files[0]
    $item = _GUICtrlListView_AddItem($hListView1, $files[$i], _GUIImageList_GetFileIconIndex($files[$i]))
    _GUICtrlListView_AddSubItem($hListView1, $item, __SHLV_FileDateString2Calc(FileGetTime($DIRECTORY_LOCAL & $files[$i], 0, 1)), 1)
    _GUICtrlListView_AddSubItem($hListView1, $item, __SHLV_FormatFilesize(FileGetSize($DIRECTORY_LOCAL & $files[$i])), 2)
    Next
    EndIf
    _GUICtrlListView_EndUpdate($hListView1)
    EndFunc ;==>_SHLV_PopulateLocalListView

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

    ; Prog@ndy
    Func __SHLV_FormatFilesize($size)
    Select
    Case $size > 1000
    Return Round($size / 1024, 1) & " KB"
    Case $size > 1048500
    Return Round($size / 1048576, 1) & " MB"
    Case Else
    Return $size & " Byte"
    EndSelect
    EndFunc ;==>__SHLV_FormatFilesize

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

    ; Prog@ndy
    Func _GUIImageList_GetSystemImageList($bLargeIcons = False)
    Local $dwFlags, $hIml, $FileInfo = DllStructCreate($tagSHFILEINFO)

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

    $dwFlags = BitOR($SHGFI_USEFILEATTRIBUTES, $SHGFI_SYSICONINDEX)
    If Not ($bLargeIcons) Then
    $dwFlags = BitOR($dwFlags, $SHGFI_SMALLICON)
    EndIf

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

    ;~ '// Load the image list - use an arbitrary file extension for the
    ;~ '// call to SHGetFileInfo (we don't want to touch the disk, so use
    ;~ '// FILE_ATTRIBUTE_NORMAL && SHGFI_USEFILEATTRIBUTES).
    $hIml = _WinAPI_SHGetFileInfo(".txt", $FILE_ATTRIBUTE_NORMAL, _
    DllStructGetPtr($FileInfo), DllStructGetSize($FileInfo), $dwFlags)

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

    Return $hIml
    EndFunc ;==>_GUIImageList_GetSystemImageList

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

    ; Prog@ndy
    Func _WinAPI_SHGetFileInfo($pszPath, $dwFileAttributes, $psfi, $cbFileInfo, $uFlags)
    Local $return = DllCall("shell32.dll", "DWORD*", "SHGetFileInfo", "str", $pszPath, "DWORD", $dwFileAttributes, "ptr", $psfi, "UINT", $cbFileInfo, "UINT", $uFlags)
    If @error Then Return SetError(@error, 0, 0)
    Return $return[0]
    EndFunc ;==>_WinAPI_SHGetFileInfo

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

    ; Prog@ndy
    Func _GUIImageList_GetFileIconIndex($sFileSpec, $bLargeIcons = False, $bForceLoadFromDisk = False)
    Local $dwFlags, $FileInfo = DllStructCreate($tagSHFILEINFO)

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

    $dwFlags = $SHGFI_SYSICONINDEX
    If $bLargeIcons Then
    $dwFlags = BitOR($dwFlags, $SHGFI_LARGEICON)
    Else
    $dwFlags = BitOR($dwFlags, $SHGFI_SMALLICON)
    EndIf
    ;~ ' We choose whether to access the disk or not. If you don't
    ;~ ' hit the disk, you may get the wrong icon if the icon is
    ;~ ' not cached. But the speed is very good!
    If Not $bForceLoadFromDisk Then
    $dwFlags = BitOR($dwFlags, $SHGFI_USEFILEATTRIBUTES)
    EndIf

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

    ;~ ' sFileSpec can be any file. You can specify a
    ;~ ' file that does not exist and still get the
    ;~ ' icon, for example sFileSpec = "C:\PANTS.DOC"
    Local $lR = _WinAPI_SHGetFileInfo( _
    $sFileSpec, $FILE_ATTRIBUTE_NORMAL, DllStructGetPtr($FileInfo), DllStructGetSize($FileInfo), _
    $dwFlags _
    )

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

    If ($lR = 0) Then
    Return SetError(1, 0, -1)
    Else
    Return DllStructGetData($FileInfo, "iIcon")
    EndIf
    EndFunc ;==>_GUIImageList_GetFileIconIndex

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

    ; Author(s): Prog@ndy
    Func __SHLV_FileDateString2Calc($filedate)
    Return StringRegExpReplace($filedate, "(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})", "$1/$2/$3 $4:$5:$6")
    EndFunc ;==>__SHLV_FileDateString2Calc
    ; Author(s): Prog@ndy
    Func __SHLV_CalcDate2FileDateString($calcdate)
    Return StringRegExpReplace($calcdate, "(\d{4})/(\d{2})/(\d{2}) (\d{2})(IMG:http://www.autoitscript.com/forum/style_em…/autoit/sad.gif) \d{2})(IMG:http://www.autoitscript.com/forum/style_em…/autoit/sad.gif) \d{2})", "$1$2$3$4$5$6")
    EndFunc ;==>__SHLV_CalcDate2FileDateString

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

    ; Prog@ndy
    Func _SHLV_WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo, $hListView1 = $SHELLLISTVIEWHANDLE

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView1
    ;MsgBox(1, "", $iCode)
    Switch $iCode
    Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
    Local $ItemText = _GUICtrlListView_GetItemText($hListView1, _GUICtrlListView_GetSelectedIndices($hListView1), 0)
    _Browse($ItemText)

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

    Case $LVN_KEYDOWN
    Local $tagLVKEYDOWN = $tagNMHDR & "; USHORT wVKey; UINT flags;"
    $tNMHDR = DllStructCreate($tagLVKEYDOWN, $ilParam)
    ;MsgBox(1, "", DllStructGetData($tNMHDR, "wVKey"))
    Switch DllStructGetData($tNMHDR, "wVKey")
    Case 0x27; rechte Pfeiltaste
    Local $ItemText = _GUICtrlListView_GetItemText($hListView1, _GUICtrlListView_GetSelectedIndices($hListView1), 0)
    _Browse($ItemText)
    Case 0x25 ;linke Pfeiltaste
    Local $slash = StringInStr($DIRECTORY_LOCAL, "\", 1, -2)
    If $slash Then
    $DIRECTORY_LOCAL = StringLeft($DIRECTORY_LOCAL, $slash)
    ElseIf StringRegExp($DIRECTORY_LOCAL, "\A[A-Za-z]:\\\Z") Then
    $DIRECTORY_LOCAL = ""
    EndIf
    _SHLV_PopulateLocalListView($ListView1, $DIRECTORY_LOCAL)
    ;No return value
    EndSwitch
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_SHLV_WM_NOTIFY

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

    Func _Browse($data)
    If StringInStr(FileGetAttrib($DIRECTORY_LOCAL & $data), "D") Then
    $DIRECTORY_LOCAL &= $data
    _SHLV_PopulateLocalListView($ListView1, $DIRECTORY_LOCAL)
    ElseIf StringRegExp($data, "\A[A-Za-z]:\\\Z") Then
    $DIRECTORY_LOCAL = $data
    _SHLV_PopulateLocalListView($ListView1, $DIRECTORY_LOCAL)
    ElseIf $data = "< .. >" Then
    Local $slash = StringInStr($DIRECTORY_LOCAL, "\", 1, -2)
    If $slash Then
    $DIRECTORY_LOCAL = StringLeft($DIRECTORY_LOCAL, $slash)
    ElseIf StringRegExp($DIRECTORY_LOCAL, "\A[A-Za-z]:\\\Z") Then
    $DIRECTORY_LOCAL = ""
    EndIf
    _SHLV_PopulateLocalListView($ListView1, $DIRECTORY_LOCAL)
    Else
    If MsgBox(36, "ShellListView", "Soll diese Datei geöffnet werden? " & @CRLF & $DIRECTORY_LOCAL & $data) = 6 Then
    ShellExecute($DIRECTORY_LOCAL & $data, "", $DIRECTORY_LOCAL)
    EndIf
    EndIf
    EndFunc ;==>_Browse

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

    ; Author ........: SolidSnake <MetalGX91 at GMail dot com>
    ; Modified by Prog@ndy
    Func _SHLV__FileListToArray2($sPath, $sFilter = "*", $iFlag = 0)
    Local $hSearch, $sFile, $asFileList
    If Not FileExists($sPath) Then Return SetError(1, 1, "")
    If (StringInStr($sFilter, "\")) Or (StringInStr($sFilter, "/")) Or (StringInStr($sFilter, ":")) Or (StringInStr($sFilter, ">")) Or (StringInStr($sFilter, "<")) Or (StringInStr($sFilter, "|")) Or (StringStripWS($sFilter, 8) = "") Then Return SetError(2, 2, "")
    If Not ($iFlag = 0 Or $iFlag = 1 Or $iFlag = 2) Then Return SetError(3, 3, "")
    If (StringMid($sPath, StringLen($sPath), 1) = "\") Then $sPath = StringTrimRight($sPath, 1) ; needed for Win98 for x:\ root dir
    $hSearch = FileFindFirstFile($sPath & "\" & $sFilter)
    If $hSearch = -1 Then Return SetError(4, 4, "")
    While 1
    $sFile = FileFindNextFile($hSearch)
    If @error Then
    SetError(0)
    ExitLoop
    EndIf
    If $iFlag = 1 And StringInStr(FileGetAttrib($sPath & "\" & $sFile), "D") <> 0 Then ContinueLoop
    If $iFlag = 2 And StringInStr(FileGetAttrib($sPath & "\" & $sFile), "D") = 0 Then ContinueLoop
    $asFileList &= $sFile & @CR
    WEnd
    FileClose($hSearch)
    If Not $asFileList Then
    Dim $asFileList[1] = [0]
    Return SetError(1, 0, $asFileList)
    EndIf
    Return StringSplit(StringTrimRight($asFileList, 1), @CR)
    EndFunc ;==>_SHLV__FileListToArray2

    [/autoit]

    \edit Oscars Variante bremst doch eigentlich nur die relativ langsame Funktion: _FileListToArray ?
    Da lässt sich bestimmt noch was rausholen. :thumbup:

  • 3 ListBox Fragen

    • nuts
    • 18. Januar 2010 um 21:56

    Gute Entscheidung aufs Listview umzustellen. :thumbup:
    Hier die Auswertung der Clicks:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>

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

    $MainGui = GUICreate("Listview Beispiel", 616, 395, 192, 120)

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

    $ListView = GUICtrlCreateListView("Produkt Name", 8, 8, 498, 214)
    $hListView= GUICtrlGetHandle($ListView)
    $TestItem = GUICtrlCreateListViewItem("TEST1", $ListView)
    $TestItem2 = GUICtrlCreateListViewItem("TEST2", $ListView)
    $hbutton = GUICtrlCreateButton("testbutton", 150,300 , 177, 21)
    Global $test
    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_notify, "_DoubleClickOnListView");Die Funktion bei einer WM_Notify Message

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _DoubleClickOnListView($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $iIDFrom

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView
    Switch $iCode ;checkt wie das Event aussieht
    Case $NM_DBLCLK ;bei einem Doppelklick (markiert das Item farbig)
    ConsoleWrite("DoubleClickOnListView" & @CRLF)
    case $NM_CLICK ;bei einem einfachen Linksclick
    ConsoleWrite("ClickOnListView" & @CRLF)
    case $NM_RCLICK ;der Rechtsclick (hebt die Markeirung auf
    ConsoleWrite("RClickOnListView" & @CRLF)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_DoubleClickOnListView

    [/autoit]


    Für die farbige Markierung der Items hab ich leider gerade kein Beispiel. Kann ich morgen nachreichen (gibts auch ne UDF von Bugfix dazu).

  • ToolBar Icons - nur Bitmap?

    • nuts
    • 18. Januar 2010 um 16:51

    Icons gehen auch:

    Spoiler anzeigen
    [autoit]


    #include <GuiToolbar.au3>
    #include <GuiConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Constants.au3>
    #include <WinAPI.au3>
    #include <GuiImageList.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_TB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work

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

    Global $hlibary = @ScriptDir &"\fertig.dll" ;der Pfad zu deiner .dll
    Global $hToolbar, $iMemo
    Global $iItem ; Command identifier of the button associated with the notification.
    Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp

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

    _Main()

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

    Func _Main()
    Local $hGUI, $aSize, $hImage, $count
    local $test = 2000
    ; Create GUI
    $hGUI = GUICreate("Toolbar", 600, 400)
    $hToolbar = _GUICtrlToolbar_Create ($hGUI)
    $hImage = _GUIImageList_Create()
    $count = _WinAPI_ExtractIconEx($hlibary, -1, 0, 0, 0)

    for $i = 0 to $count -1
    _GUIImageList_AddIcon($hImage, $hlibary, $i,1)
    next
    _GUIImageList_SetBkColor($hImage, 0x0000FF)
    _GUIImageList_SetIconSize($hImage, 16, 16)
    _GUICtrlToolbar_SetImageList($hToolbar, $hImage)

    GUISetState()

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

    ; Add standard system bitmaps
    ;_GUICtrlToolbar_AddBitmap ($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)

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

    ; Add buttons
    ;_GUICtrlToolbar_AddButton ($hToolbar, $idNew, $STD_FILENEW)
    ;_GUICtrlToolbar_AddButton ($hToolbar, $idOpen, $STD_FILEOPEN)
    ;_GUICtrlToolbar_AddButton ($hToolbar, $idSave, $STD_FILESAVE)
    ;_GUICtrlToolbar_AddButtonSep ($hToolbar)
    ;_GUICtrlToolbar_AddButton ($hToolbar, $idHelp, $STD_HELP)
    ;_GUICtrlToolbar_AddButtonSep ($hToolbar)
    _GUICtrlToolbar_AddButton ($hToolbar, $test, 0)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    EndFunc ;==>_Main

    [/autoit]
  • Listview - KeyUP & KeyDown abfangen und die Markierung verschieben

    • nuts
    • 18. Januar 2010 um 10:04

    Schon seltsam ?(
    Mal sehn, vielleicht kann auf auf das Event "unter/obere" Grenze reagieren. Braucht dann zwar 1 Klick mehr, sieht aber nicht ganz so buggy aus.

  • Oscar hat Geburtstag.

    • nuts
    • 18. Januar 2010 um 09:44

    Alles Gute. :thumbup:

  • Listview - KeyUP & KeyDown abfangen und die Markierung verschieben

    • nuts
    • 17. Januar 2010 um 22:19

    Mal ein Schubs nach oben. ^^

  • neue TV-Karte PCIe geplant

    • nuts
    • 17. Januar 2010 um 00:59

    Wie wird die Karte denn eingesetzt? Als reiner Videorekorder oder auch zur Live-Wiedergabe?
    Wichtig ist immer die TV-Software (Empfehlung: DVB-Viewer Pro) und um möglichst flexibel zu bleiben sollten daher BDA-Treiber für die Karte verfügbar sein.
    Die beiliegende Software ist nämlich meisten sehr limitiert.

    Die AVerTV Satellite Trinity ist soweit ich das sehe nicht DVB-S2 fähig, d.h. kein HDTV (DVB-S HD gibts unter Astra 19,2° nicht und HDTV über DVB-T ist in Deutschland eh utopisch)

    Meine Empfehlung: http://shop.digital-devices.de/epages/6235716…62/Categories/1
    Ist nur ohne S-Video Eingang, wofür brauchste den denn?

    P.S. Sollte Pay-TV irgendwann eine Rolle spielen brauchst du eine CI-Schnittstelle (wir für die empholene Karte via USB noch irgendwann angeboten).
    P.S.S. Sehr gute TV Karten, die jedoch gar nicht in dein Beuteschema passen sind: FireDTV-S2, FloppyDTV-S2 (leider nurnoch gebraucht zu kaufen und teuer), Technotrend budget s-3200 ( oder die baugleiche Technisat Sykstar HD )

  • Listview - KeyUP & KeyDown abfangen und die Markierung verschieben

    • nuts
    • 16. Januar 2010 um 23:55

    Hey,

    mal wieder ein Problem zu Listview, hier das Skript:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIListView.au3>
    Global Const $tagLVKEYDOWN = $tagNMHDR & "; USHORT wVKey; UINT flags;"
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    $ListView1 = GUICtrlCreateListView("Hallo|1", 56, 40, 433, 225,"",BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER))
    $ListView2 = GUICtrlCreateListView("Hallo|2", 56, 40, 433, 225,$LVS_NOSCROLL,BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER))
    $hListView1 = GUICtrlGetHandle($ListView1)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Button1 = GUICtrlCreateButton("Button1", 64, 288, 129, 49, 0)
    $Button2 = GUICtrlCreateButton("Button2", 264, 288, 185, 49, 0)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    for $i = 0 to 20
    GUICtrlCreateListViewItem("test|" & $i,$ListView1)
    next
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    GUICtrlSetState($ListView1, $GUI_HIDE)
    GUICtrlSetState($ListView2, $GUI_Show)
    GUICtrlCreateListViewItem("test|test",$ListView1)
    case $Button2
    GUICtrlSetState($ListView2, $GUI_HIDE)
    GUICtrlSetState($ListView1, $GUI_Show)
    GUICtrlCreateListViewItem("test|test",$ListView2)
    EndSwitch
    WEnd

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iCode, $tNMHDR, $tInfo, $wVKey

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hListView1
    Switch $iCode
    Case $LVN_KEYDOWN
    $tNMHDR = DllStructCreate($tagLVKEYDOWN, $ilParam)
    $wVKey= DllStructGetData($tNMHDR, "wVKey")
    Switch $wVKey
    case 40
    if _GUICtrlListView_GetSelectionMark($hListView1)+1 = _GUICtrlListView_GetItemCount($hListView1) Then
    _GUICtrlListView_SetSelectionMark($hListView1,0)
    _GUICtrlListView_SetItemFocused($hListView1,0)
    endif
    case 38
    if _GUICtrlListView_GetSelectedIndices($hListView1) = 0 Then
    _GUICtrlListView_SetItemSelected($hListView1, _GUICtrlListView_GetItemCount($hListView1)-1)
    _GUICtrlListView_SetItemFocused($hListView1,_GUICtrlListView_GetItemCount($hListView1)-1)
    endif
    EndSwitch
    EndSwitch

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

    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_SHLV_WM_NOTIFY

    [/autoit]


    Sinn des Skripts soll sein, dass man die Markierung auf ein KeyUP/Down Event setzen kann.
    Und zwar immer wenn das erste oder das letzte Item markiert ist.

    Funktioniert auch fast, allerdings springt die Markierung komischerweise immer ein Item zu weit? ?(
    Also anstatt z.B. Item 1 (Index 0) zu markieren wird Item 2 (Index 1) markiert.
    Probierts am besten mal selbst aus, dann sollte es klar werden.

    Gruß nuts

  • Script wirft Probleme mit MessageLoop und mit OnEvent Modus auf

    • nuts
    • 16. Januar 2010 um 23:27

    GUICtrlSetOnEvent 8)
    Ob man damit ein Item belegen kann glaube ich aber nciht.
    Ist eigentlich auch nicht nötig, die Info welches Item angeklickt wurde holst du dir einfach über _GUICtrlTreeView_GetSelection

  • Script wirft Probleme mit MessageLoop und mit OnEvent Modus auf

    • nuts
    • 16. Januar 2010 um 21:43

    Hatten wir das nicht hier erst? [ offen ] Prob mit Array in einer For-Schleife und GUIGetMsg()

  • C++ DLL

    • nuts
    • 16. Januar 2010 um 20:20

    Aber mit C++ .dll's müsste es doch so gehen? ?(

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™