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

  • RunAs & msi

    • sc4ry
    • 5. Mai 2009 um 11:08
    Zitat von oliverh

    rechtsklick auf die datei -> ausführen als...

    hat windoof doch schon integriert :P ;)

    1. geht das bei msi-dateien genau so wenig, wie in meinem script
    2. will ich nicht immer das pw eingeben

    genau weil ich darauf kein bock habe, will ich es ja anders machen =)

    thx funkey, werds mal testen =)

  • RunAs & msi

    • sc4ry
    • 5. Mai 2009 um 10:42

    Hiho,

    ich wollte ein minitool schreiben, mit dem ich schnell sachen installieren kann.
    ich starte das script, suche eine datei aus und diese wird mit admin-rechten gestartet.

    exe-dateien gehen, .msi aber zB nicht. kann man das irgendwie einbauen?

    [autoit]

    RunAs($sUserName, @ComputerName, $sPassword, 0, FileOpenDialog("Run as Admin", "", "All (*.*)"), @SystemDir)

    [/autoit]
  • AutoIt Abstürze in Log ausgeben lassen

    • sc4ry
    • 5. Mai 2009 um 09:36

    ich sag mal, es sind fehler in der programmierung, die kann man zwar mit @error auch abfangen, aber man müsste quasi jeden befehl vorher auf nen error prüfen.

    aber halt genau diese fehler würde ich gerne ohne fehlermeldung im gui, schön in ne log-datei bekommen. denn die user, die die meldung sehen, können eh nichts damit anfangen.

  • AutoIt Abstürze in Log ausgeben lassen

    • sc4ry
    • 5. Mai 2009 um 08:53

    Hiho,

    wenn autoit durch irgend einen fehler abstürzt, bzw beendet wird (variable nicht deklariert, array out of range) erscheint ja ein fenster mit einer meldung.

    kann man diese meldung nicht in eine log umleiten lassen, also so, das kein fenster mehr kommt?

  • Script wird einfach nicht ausgeführt (geblockt?)

    • sc4ry
    • 27. April 2009 um 08:50

    ok, das mit der schleife hat dir nicht weitergeholfen, dann mal anders.

    wie oft sendet er denn die oben genannte tastenkombi?
    wenn ich die antwort vorwegnehmen darf, genau 1 mal. danach ist das script fertig.

    also musst du ne schleife basteln, damit das öfters ausgeführt wird.

    while 1
    ...
    wend

    als bsp.

  • Button bei Programm hinzufügen

    • sc4ry
    • 8. April 2009 um 14:38

    wäre jetzt auch meine idee gewesen ... fragt sich nur wofür.

    wenn aber das fenster verschoben/-größert/-kleinert wird, müsste der button natürlich mit ;)

  • iRC-Bot Fragen

    • sc4ry
    • 4. April 2009 um 18:59

    thx BugFix ... das ist auch schonmal ne nette sache =)

    per cmd kann der wohl nicht chatten ... wie siehts mit dcc-chat aus, kennt sich da jmd aus?

  • iRC-Bot Fragen

    • sc4ry
    • 4. April 2009 um 15:29

    Hiho,

    ich würde gerne einen kleinen iRC-Bot bauen, habe dazu folgenden Bot/Code zZ in Verwendung -> https://autoit.de/index.php?page…56814#post56814

    Das Teil läuft auch, was die bereits enthaltenen Funktionen betrifft, sehr gut. ich würde das Teil aber gerne um einige Sache erweitern.
    Ich habe beim Compilieren eingestellt, das CUI verwendet werden soll. Somit kann ich alle Consolen-Ausgaben auch schön in einem CMD-Fenster verfolgen.
    Ist es möglich, über dieses Fenster auch Eingaben zu machen?

    Also bsp. "/say Hallo" und er dann quasi im Chan wo er ist, der Bot "Hallo" sagt?

    Ansonsten könnte man dies auch über einen DCC-Chat machen (wobei ich die DCC-Chat Funktion so oder so einbauen möchte). Doch wie genau mach ich das ... es kommt in der Console zwar die Anfrage zum DCC-Chat, aber was muss ich antworten, um den DCC-Chat zuzulassen, damit sich der Client dann noch durch ein PW identifizieren kann?

  • gibt es ein befehl ausser blockinput das nur wehrend autoit das ausführbare fenster blockt

    • sc4ry
    • 14. März 2009 um 08:01
    [autoit]

    GUICtrlSetState ( controlID, state )
    +
    $GUI_DISABLE Control will be greyed out.

    [/autoit]
  • Tray Icon Hide/Show

    • sc4ry
    • 13. März 2009 um 22:59
    [autoit]


    ; Function Name: _SysTrayIconVisible($flag, $index)
    ; Description: Hides / unhides any icon on systray
    ;
    ; Parameter(s): $flag = hide (1) or show (0) icon
    ; $index = icon index. Can be queried with _SysTrayIconIndex()

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

    ; Function Name: _SysTrayIconIndex($name, $mode=0)
    ; Description: Get list of all processes id's that have systray icon
    ; Parameter(s): $name = process name / window title text
    ; $mode 0 = get index by process name (default)
    ; 1 = get index by window title
    ; 2 = get index by icon's tooltip text

    [/autoit]

    die beiden sachen sollten reichen

  • Clipboard-Verwaltung für Text

    • sc4ry
    • 12. März 2009 um 10:23

    Hallo,

    das Teil stürzt des öfteren mal ab, wobei es egal ist, ob ich viel oder wenig Text kopiere ... weiss vllt wer, warum?

  • Active Direcoty Computer auflisten

    • sc4ry
    • 12. März 2009 um 08:26

    da gibt es sicherlich nen cmd befehl für, aber da kann ich dir leider nicht weiterhelfen.

    ich wüsste nur ein externes tool, AccessEnum aus der sysinternals suite ... vllt kannst du ja darauf aufsetzen (oder das direkt verwenden).
    ich glaub zumindest, dass es das tool war ... oder ADInsight? vllt mal sysinternals suite angucken =)

  • Shutdown-Timer

    • sc4ry
    • 11. März 2009 um 16:34

    Hiho,

    so, die Pause-Funktion läuft nun auch.

    Hier nochmal ein dickes Lob an BugFix, welcher mir dabei nochmal unter die Arme gegriffen hat und mit dessen Hilfe ich dies nun endlich geschafft habe.

    Fehlt nur noch, dass man die Pause-Funktion auch über das Tray-Menü aufrufen kann. Das werde ich bald noch einbauen und hier updaten.

    Viel Spaß

  • ToolTip in ListView

    • sc4ry
    • 11. März 2009 um 14:59

    Hallo,

    ich versuche gerade ein ToolTip für ein ListView zu basteln, bzw. soll der/das ToolTip den Text der Zeile wiedergeben, über das die Maus gerade fährt.

    es gibt diese funktion für listviews, wobei, so wie ich das sehe, das nur indirekt was mit meinem vorhaben zu tun hat.

    [autoit]

    _GUICtrlListView_SetToolTips

    [/autoit]

    ich habe es schon geschaft, ein tooltip anzeigen zu lassen, aber er nimmt immer den text aus zeile 1 und zeigt diesen die ganze zeit an.

    [autoit]

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    ;~ Local $tBuffer
    $hWndListView = $iMemo
    If Not IsHWnd($iMemo) 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")

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

    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $LVN_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ToolTip($gText)
    ;Return 0 ; allow the list view to perform its normal track select processing.
    Return 1 ; the item will not be selected.
    ; No return value
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • Clipboard-Verwaltung für Text

    • sc4ry
    • 11. März 2009 um 11:48

    update 11.03.09 - 14:45

    Hallo,

    anbei mal ein Tool was ich nun endlich soweit gebracht habe, das man es nutzen kann =)

    Es speichert alle Texte, die in die Zwischenablage kopiert werden, in einem Listview, mit Datum und Zeit.
    ListView kann über Maus3 ein-/ ausgeblendet werden. Mit ESC lässt sich das Script beenden.
    Einzelne Einträge lassen sich mit DEL oder doppelter Rechtsklick löschen, ganzen ListView mit ALT+DEL

    Ein Klick auf eine Zeile im ListView kopiert den Text wieder in die Zwischenablage.

    Es Fehlen noch einige Sachen, wo ich aber im Moment noch keinen Durchblick habe, wie ich diese am besten umsetze.

    - Uhr-Icon in Spalte 2
    - Daten aus der Zwischenablage aufnehmen
    - Tooltip des gesamtes Textes pro Zeile

    Falls noch wer Ideen, Anregungen oder HilfeCode hat, immer her damit =)

    Spoiler anzeigen

    [autoit]#NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\..\..\Icons\shell32.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;vertikale Scrollleiste

    #include <Clipboard.au3>
    #include <Date.au3>
    #include <GuiListView.au3>
    #include "O:\AutoIT\Includes\MouseSetOnEvent_UDF.au3"
    #include <SendMessage.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>
    #Include <GuiImageList.au3>
    #include <Misc.au3>
    #Include <GuiToolTip.au3>

    ;#include <Events.au3>


    Global $iMemo, $hNext = 0, $hGui, $hListView, $hWndFrom, $iCode, $tInfo
    _MouseSetOnEvent($MOUSE_WHELLDOWN_EVENT, "_MOUSE_WHELLDOWN_EVENT")

    ; Create GUI
    $hGUI = GUICreate("Clipboard", 415, 176, -1, -1, $WS_POPUPWINDOW, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
    $ListView = GUICtrlCreateListView("Clipboard|Time", 0, 0, 415, 176, BitOR($LVS_NOCOLUMNHEADER,$LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS), BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_HEADERDRAGDROP,$LVS_EX_FULLROWSELECT, $LVS_EX_INFOTIP ))
    $iMemo = GUICtrlGetHandle($ListView)
    $hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUICtrlListView_SetImageList($ListView, $hImage, 1)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 1)
    _GUICtrlListView_SetColumnWidth($iMemo, 0, 291)
    _GUICtrlListView_SetColumnWidth($iMemo, 1, 120)

    WinSetOnTop($hGUI, "", 1)

    ;GUISetState()

    ; Initialize clipboard viewer
    $hNext = _ClipBoard_SetViewer ($hGUI)
    _GUICtrlListView_SetToolTips($ListView, _GUICtrlListView_GetToolTips($ListView))
    $hToolTip = _GUIToolTip_Create($iMemo, BitOR($TTS_ALWAYSTIP, $TTS_BALLOON, $TTS_CLOSE))
    _GUIToolTip_SetDelayTime($hToolTip, 0, 1000)

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    GUIRegisterMsg($WM_CHANGECBCHAIN, "WM_CHANGECBCHAIN")
    GUIRegisterMsg($WM_DRAWCLIPBOARD, "WM_DRAWCLIPBOARD")

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

    ; Shut down clipboard viewer
    _ClipBoard_ChangeChain ($hGUI, $hNext)

    Func _MOUSE_WHELLDOWN_EVENT()
    $MousePos = MouseGetPos( )
    $State = WinGetState($hGUI)
    If $State = 15 Or $State = 7 Then
    WinSetState($hGUI, "", @SW_HIDE)
    ElseIf $State = 23 Then
    WinMove($hGUI, "", $MousePos[0], $MousePos[1])
    WinSetState($hGUI, "", @SW_SHOW)
    WinActivate($hGUI)
    Else
    WinMove($hGUI, "", $MousePos[0], $MousePos[1])
    WinSetState($hGUI, "", @SW_SHOW)
    WinActivate($hGUI)
    EndIf
    EndFunc

    ; Write message to memo
    Func MemoWrite($sMessage = "")
    If $sMessage <> "" And WinGetHandle("") <> $hGui Then
    _GUICtrlListView_InsertItem($iMemo, $sMessage, 0, 0)
    ;_GUICtrlListView_AddItem($iMemo, $sMessage)
    ;~ _GUICtrlListView_AddSubItem($iMemo, 0, _now(), 1, 1)
    _GUICtrlListView_SetItemText($iMemo, 0, _now(), 1)
    ;~ _GUICtrlListView_SetItemImage($iMemo, 0, 0, 1)
    EndIf
    EndFunc ;==>MemoWrite

    ; Handle $WM_CHANGECBCHAIN messages
    Func WM_CHANGECBCHAIN($hWnd, $iMsg, $iwParam, $ilParam)
    ; Show that message was received
    MemoWrite("***** $WM_CHANGECBCHAIN *****")

    ; If the next window is closing, repair the chain
    If $iwParam = $hNext Then
    $hNext = $ilParam
    ; Otherwise pass the message to the next viewer
    ElseIf $hNext <> 0 Then
    _SendMessage ($hNext, $WM_CHANGECBCHAIN, $iwParam, $ilParam, 0, "hwnd", "hwnd")
    EndIf
    EndFunc ;==>WM_CHANGECBCHAIN

    ; Handle $WM_DRAWCLIPBOARD messages
    Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
    ; Display any text on clipboard
    MemoWrite(_ClipBoard_GetData ())

    ; Pass the message to the next viewer
    If $hNext <> 0 Then _SendMessage ($hNext, $WM_DRAWCLIPBOARD, $iwParam, $ilParam)
    EndFunc ;==>WM_DRAWCLIPBOARD

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

    $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_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    _GUIToolTip_Activate($hWndFrom)
    _GUIToolTip_PopUp($hWndFrom)
    _GUIToolTip_UpdateTipText($hWndFrom, $hToolTip, -1, $gText)
    ;Return 0 ; allow the list view to perform its normal track select processing.
    Return 1 ; the item will not be selected.
    ; No return value
    Case $LVN_ITEMACTIVATE ; Sent by a list-view control when the user activates an item
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ClipPut($gText)
    Return 0
    Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ClipPut($gText)
    Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    Case $NM_HOVER ; Sent by a list-view control when the mouse hovers over an item
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)

    ;Return 0 ; process the hover normally
    Return 1 ; prevent the hover from being processed
    ; No return value
    Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    Case $NM_RDBLCLK ; Sent by a list-view control when the user double-clicks an item with the right mouse button
    $tInfo = DllStructCreate($tagNMLVKEYDOWN, $ilParam)
    _GUICtrlListView_DeleteItem($hWndFrom, _GUICtrlListView_GetSelectedIndices($hWndFrom))
    ClipPut("")
    ; No return value
    Case $LVN_KEYDOWN ; A key has been pressed
    $tInfo = DllStructCreate($tagNMLVKEYDOWN, $ilParam)
    Select
    Case _IsPressed("2E") And _IsPressed("2E")
    _GUICtrlListView_DeleteAllItems($hWndFrom)
    ClipPut("")
    Case _IsPressed("2E")
    _GUICtrlListView_DeleteItem($hWndFrom, _GUICtrlListView_GetSelectedIndices($hWndFrom))
    ClipPut("")
    EndSelect
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
    "!===========================================================" & @LF & _
    "+======================================================" & @LF & _
    "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
    "+======================================================" & @LF)
    EndFunc ;==>_DebugPrint/autoit]

  • 7-Funktion im Eigenbau

    • sc4ry
    • 10. März 2009 um 14:23

    kurz und knapp, ja ;)

    es gibt ja schon so ziemlich alles, aber der reiz liegt ja darin, es selber zu machen (bzw in meinem fall natürlich mit eurer hilfe *g).
    mein anliegen ist einfach, dass ich nicht 100 kl. programme brauche, die alle nur 1 zweck haben, sondern ich diese in einem programm bündel ...

    im endeffekt habe ich die funktion des halbierens ja schon ... es wäre nur nochmal eine andere möglichkeit, dies aufzurufen (damit sich die user schonmal für 7 dran gewöhnen können =))

  • Gui frage...

    • sc4ry
    • 10. März 2009 um 10:20

    zum bild,

    du erstellt dein gui und legst das bild drauf ... dadrüber erstellst du die buttons, dann kannst du sie auch nutzen. wenn du erst die buttons und dann das bild machst, liegt dieses über den buttons und diese reagieren nicht.

    zu frage 2, egal was du nimmst, button, input, label ... GuiCtrlSetData sollte die weiterhelfen =)

  • 7-Funktion im Eigenbau

    • sc4ry
    • 10. März 2009 um 10:18

    das fenster ist dann beispielsweise nur auf der rechten hälfte des desktops sichtbar (also quasie halbiert).
    so kann man zB. schnell und einfach 2 fenster nebeneinander setzen (links/rechts oder oben/unten).

    wobei ich das halbieren + andocken schon programmiert habe. mir geht es darum, zu erkennen, wenn die maus ein fenster festhält und an den rand zieht (und an welchen rand) ... damit danach das halbieren stattfinden kann ;)

  • Clipboard & Dateien

    • sc4ry
    • 10. März 2009 um 08:44

    Hallo,

    ich arbeite gerade an einem ClipBoard-Viewer ...
    mit Text kommt der schon supi klar ... was ist aber mit Dateien?

    Ich habe ein ListView, in dem alle Sachen, die im Clipboard waren, abgespeichert werden. mit einem Klick auf die entsprechende Zeile kann man dann wieder alten Text in die Zwischenablage holen (wird aber nicht neu im Listview angezeigt).

    bei Dateien sollte da jetzt Dateiname (und evtl. der Pfad) angegeben sein ... bei einem klick, wenn möglich, die datei wieder in der zwischenablage sein, falls das nicht geht, zumindest der pfad.

    kann mir wer helfen?

    aktuell sieht das script so aus (ein-/ ausblenden des Listviews mit Maus3)

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\_Icons\shell32.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;vertikale Scrollleiste

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

    #include <Clipboard.au3>
    #include <Date.au3>
    #include <GuiListView.au3>
    #include "O:\AutoIT\Includes\MouseSetOnEvent_UDF.au3"
    #include <SendMessage.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>
    ;#include <Events.au3>

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

    Global $iMemo, $hNext = 0, $hGui, $hListView, $hWndFrom, $iCode, $tInfo
    _MouseSetOnEvent($MOUSE_WHELLDOWN_EVENT, "_MOUSE_WHELLDOWN_EVENT")

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

    ; Create GUI
    $hGUI = GUICreate("Clipboard", 415, 176, -1, -1, $WS_POPUPWINDOW, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
    $ListView = GUICtrlCreateListView("Clipboard|Time", 0, 0, 415, 176, BitOR($LVS_NOCOLUMNHEADER,$LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS), BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_HEADERDRAGDROP,$LVS_EX_FULLROWSELECT))
    $iMemo = GUICtrlGetHandle($ListView)
    _GUICtrlListView_SetColumnWidth($iMemo, 0, 270)
    _GUICtrlListView_SetColumnWidth($iMemo, 1, 120)

    WinSetOnTop($hGUI, "", 1)

    ;GUISetState()

    ; Initialize clipboard viewer
    $hNext = _ClipBoard_SetViewer ($hGUI)

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    GUIRegisterMsg($WM_CHANGECBCHAIN, "WM_CHANGECBCHAIN")
    GUIRegisterMsg($WM_DRAWCLIPBOARD, "WM_DRAWCLIPBOARD")

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

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

    ; Shut down clipboard viewer
    _ClipBoard_ChangeChain ($hGUI, $hNext)

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

    Func _MOUSE_WHELLDOWN_EVENT()
    $MousePos = MouseGetPos( )
    $State = WinGetState($hGUI)
    If $State = 15 Or $State = 7 Then
    WinSetState($hGUI, "", @SW_HIDE)
    ElseIf $State = 23 Then
    WinMove($hGUI, "", $MousePos[0], $MousePos[1])
    WinSetState($hGUI, "", @SW_SHOW)
    WinActivate($hGUI)
    Else
    WinMove($hGUI, "", $MousePos[0], $MousePos[1])
    WinSetState($hGUI, "", @SW_SHOW)
    WinActivate($hGUI)
    EndIf
    EndFunc

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

    ; Write message to memo
    Func MemoWrite($sMessage = "")
    If $sMessage <> "" And WinGetHandle("") <> $hGui Then
    _GUICtrlListView_InsertItem($iMemo, $sMessage, 0)
    ;_GUICtrlListView_AddItem($iMemo, $sMessage)
    _GUICtrlListView_AddSubItem($iMemo, 0, _now(), 1)
    EndIf
    EndFunc ;==>MemoWrite

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

    ; Handle $WM_CHANGECBCHAIN messages
    Func WM_CHANGECBCHAIN($hWnd, $iMsg, $iwParam, $ilParam)
    ; Show that message was received
    MemoWrite("***** $WM_CHANGECBCHAIN *****")

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

    ; If the next window is closing, repair the chain
    If $iwParam = $hNext Then
    $hNext = $ilParam
    ; Otherwise pass the message to the next viewer
    ElseIf $hNext <> 0 Then
    _SendMessage ($hNext, $WM_CHANGECBCHAIN, $iwParam, $ilParam, 0, "hwnd", "hwnd")
    EndIf
    EndFunc ;==>WM_CHANGECBCHAIN

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

    ; Handle $WM_DRAWCLIPBOARD messages
    Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
    ; Display any text on clipboard
    MemoWrite(_ClipBoard_GetData ())

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

    ; Pass the message to the next viewer
    If $hNext <> 0 Then _SendMessage ($hNext, $WM_DRAWCLIPBOARD, $iwParam, $ilParam)
    EndFunc ;==>WM_DRAWCLIPBOARD

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    ;~ Local $tBuffer
    $hWndListView = $iMemo
    If Not IsHWnd($iMemo) 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")

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

    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $LVN_BEGINSCROLL ; A scrolling operation starts, Minium OS WinXP
    $tInfo = DllStructCreate($tagNMLVSCROLL, $ilParam)
    ; No return value
    Case $LVN_ENDSCROLL ; A scrolling operation ends, Minium OS WinXP
    $tInfo = DllStructCreate($tagNMLVSCROLL, $ilParam)
    ; No return value
    Case $LVN_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ;MsgBox(0, "", $iCode & @CRLF & $gText)
    Return 0 ; allow the list view to perform its normal track select processing.
    ;Return 1 ; the item will not be selected.
    ; No return value
    Case $LVN_ITEMACTIVATE ; Sent by a list-view control when the user activates an item
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ClipPut($gText)
    ;MsgBox(0, "", $iCode & @CRLF & $gText)
    Return 0
    ; No return value
    Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ClipPut($gText)
    ;MsgBox(0, "", $iCode & @CRLF & $gText)
    ; No return value
    Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ;MsgBox(0, "", $iCode & @CRLF & $gText)
    ; No return value
    Case $NM_HOVER ; Sent by a list-view control when the mouse hovers over an item
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ;MsgBox(0, "", $iCode & @CRLF & $gText)
    Return 0 ; process the hover normally
    ;Return 1 ; prevent the hover from being processed
    ; No return value
    Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ClipPut($gText)
    ;MsgBox(0, "", $iCode & @CRLF & $gText)
    ;Return 1 ; not to allow the default processing
    Return 0 ; allow the default processing
    Case $NM_RDBLCLK ; Sent by a list-view control when the user double-clicks an item with the right mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ;MsgBox(0, "", $iCode & @CRLF & $gText)
    ; No return value
    Case $NM_SETFOCUS ; The control has received the input focus
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    $gText = _GUICtrlListView_GetItemText($hWndFrom, DllStructGetData($tInfo, "Index"), 0)
    ClipPut($gText)
    ; No return value
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • Windows herunterfahren erkennen.

    • sc4ry
    • 10. März 2009 um 08:20
    Zitat von Padmak

    Wenn der PC heruntergefahren wird, wird natürlich auch ein Schließ-Befehl an das Script gesendet. So kann er noch reagieren^^

    Padmak

    erinnert mich iwie an OWNED *g*

    aber es geht wirklich, wobei eine MsgBox relativ kurz angezeigt wird, aber das Prinzip passt halt.
    habe es damals auch so in einem script verwendet:

    Shutdown_Log

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™