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

Beiträge von Greenhorn

  • Auto(It)-Updater

    • Greenhorn
    • 19. Juni 2007 um 19:23

    Danke Eddy,

    bin auf die Idee mit dem Updater auf dem amerik. Board gestoßen...

    Da wurde im Script auch diese .dat benutzt nur wurde im Board gepostet, dass es nicht funzt...
    Glaube der Pfad zur .dat war anders oder so war dat, aber das soll mich nicht daran hindern dat mit dem .dat mal auszuprobieren... :tongue: ;)

    Hast Du nicht vielleicht 'ne Idee, ob man per Registry SciTE irgendwie dazu bringen kann den Updater mitzustarten, oder besser umgekehrt... ?1?

    Habe schon versucht über die 'HKLM\..\..\Classes' was zu drehen, aber funzte natürlich nicht als die .au3 per Kontext mit dem Updater geöffnet werden sollte... :rofl:

    Deswegen erstmal der Umweg über die Schnellstartleiste...

    Wofür sind eigentlich die SciTe- und die SciTEUser.properties da, die sind bei mir beide leer ?!

    Gruß
    Greenhorn

    Edit: Läuft hervorragend damit, Eddy. ;)

    Edit 2:

    Zitat

    Original von Eddy_Erpel

    Einen Updater wird übrigens schon mitgeliefert: [AutoIt3-InstallDir]\AutoIt3\Extras\AutoUpdateIt

    Gruss
    eddy_erpel

    Das hebe ich eben erst gelesen... Da denkt man, man hat die AutoIt)Welt wieder ein wenig leichter gemacht und dann...
    Aber egal, vielleicht bleibe ich doch bei meinem Updater... :D

  • Auto(It)-Updater

    • Greenhorn
    • 16. Juni 2007 um 23:51

    Oooops, bin nach ganz oben umgezogen... ! :D

  • Auto(It)-Updater

    • Greenhorn
    • 16. Juni 2007 um 21:49

    Also im Groben etwa so... !??

    [autoit]

    #include <INet.au3>
    #include <String.au3>

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

    $FileVersion = FileGetVersion(@ProgramFilesDir & "\AutoIt3\AutoIt3.exe")
    MsgBox(64, "Dateiversion", "AutoIt Version " & $FileVersion)

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

    $source = _INetGetSource("http://www.autoitscript.com/autoit3/downloads.php")
    If StringInStr($source, "autoit-v" & $FileVersion & "-setup.exe") Then
    MsgBox(64, "AutoIt Updates", "Keine Updates vorhanden")
    Else
    $NewVersion = _StringBetween($source, "autoit-v", "-setup.exe")
    MsgBox(64, "AutoIt Updates", "Es sind Updates vorhanden:" & @CRLF & "AutoIT v" & $NewVersion[0])
    InetGet("http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v" & $NewVersion[0] & "-setup.exe", "autoit-v" & $NewVersion[0] & "-setup.exe", 1, 1)
    While @InetGetActive
    TrayTip("Downloading", "Bytes = " & @InetGetBytesRead, 10, 16)
    Sleep(250)
    WEnd
    EndIf
    Exit

    [/autoit]

    Wie kann man das Ganze jetzt automatisieren, also wenn Scite gestartet wird prüfen ob eine Internetverbindung besteht und dann das Update starten...

    Gruß
    Greenhorn

  • Auto(It)-Updater

    • Greenhorn
    • 16. Juni 2007 um 19:22

    Aber muss ich dazu die Datei erst herunterladen oder kann ich abfragen wie der Dateiname ist...

    Ich finde keinen Hinweis in der Hilfe dazu.


    Gruß
    Greenhorn

  • Auto(It)-Updater

    • Greenhorn
    • 16. Juni 2007 um 18:53

    Moin,

    dies ist ein automatischer Updater für AutoIt v3. Er prüft regelmässig einmal pro Stunde
    auf Updates und lädt diese auf Wunsch herunter.

    Bin bis jetzt soweit gekommen... :D

    Auto(It)-Updater v1.0.9.0 24.o8.2oo7

    Setup/Installer

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=E:\AutoIt Projekte\Icons\shell32\shell32_16717.ico
    #AutoIt3Wrapper_outfile=SetupAU3updater.exe
    #AutoIt3Wrapper_Res_Comment=Setup Updater für AutoIt
    #AutoIt3Wrapper_Res_Description=Setup Updater für AutoIt
    #AutoIt3Wrapper_Res_Fileversion=1.0.8.0
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.2.4.9
    Author: Greenhorn

    Script Function:
    Setup
    Auto(It)-Updater v1.0.8

    #ce ----------------------------------------------------------------------------

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

    FileInstall("AutoIt_Updater.exe", @CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe", 1)
    FileInstall("Uninst.exe", @ProgramFilesDir & "\AutoIt3\Uninst_Updater.exe", 1)
    ; Verknüpfung in der Schnellstartleiste erstellen --> Uploader startet SciTE
    FileCreateShortcut(@CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe", @AppDataDir & "\Microsoft\Internet Explorer\Quick Launch\SciTE", _
    "", "", "", @ProgramFilesDir & "\AutoIt3\SciTE\SciTe.exe")
    ; Registryeinträge für das Kontextmenü vornehmen
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Edit\Command", "", "REG_SZ", _
    '"' & @CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe" & '" "%1"')
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Open\Command", "", "REG_SZ", _
    '"' & @CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe" & '" "%1"')

    [/autoit]

    Main Program

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\Icons\updater_1003.ico
    #AutoIt3Wrapper_outfile=C:\Programme\Gemeinsame Dateien\AutoIt3\Au3UPDATER.exe
    #AutoIt3Wrapper_Res_Comment=Automatischer Updater für AutoIt
    #AutoIt3Wrapper_Res_Description=Updater für AutoIt
    #AutoIt3Wrapper_Res_Fileversion=1.0.9.0
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #cs -------------------------------------------------------------------------------
    ; Auto(It)-Updater v1.0.9
    ;
    ; AutoIt Version: 3.2.4.9
    ; Author: Greenhorn
    ;
    ; Script Function: Self-controlled Update Checker for AutoIt v3.
    ; Starts everytime 'SciTE for AutoIt' is called and checks
    ; every hour for updates while SciTE is running.
    ; Also it installs the Update if you want.
    ;
    ;
    ; Thx to Eddy Erpel for support ;)
    #ce -------------------------------------------------------------------------------

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

    If $cmdline[0] <> 0 Then
    Run(RegRead("HKLM\Software\AutoIt v3\Autoit", "InstallDir") & "\SciTE\SciTE.exe " & '"' & $cmdline[1] & '"') ; Start SciTE
    Else
    ShellExecute(@ProgramFilesDir & "\AutoIt3\SciTE\SciTE.exe") ; Start SciTE
    EndIf

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

    RegWrite("HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Edit\Command", _ ; Registryeinträge bei Programmstart auf SciTE setzen.
    "", "REG_SZ", '"' & @ProgramFilesDir & "\AutoIt3\SciTE\SciTE.exe" & '" "%1"') ; Dies verhindert mehrere Instanzen von AutoIt_Updater.exe
    RegWrite("HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Open\Command", _ ; beim öffnen von .au3 Dateien
    "", "REG_SZ", '"' & @ProgramFilesDir & "\AutoIt3\SciTE\SciTE.exe" & '" "%1"')

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

    Opt("OnExitFunc", "_Install_Updates")
    Opt("TrayAutoPause", 0)
    Opt("TrayMenuMode", 1)

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

    HotKeySet("^!u", "_UpdateCheck") ; Control + Alt + u drücken um auf Updates zu prüfen
    Dim $CurrentFileVersion
    Dim $UpdateIni
    Dim $NewVersion
    Dim $Install = 0

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

    _UpdateCheck() ; Bei Programmstart auf Updates prüfen ...

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

    Do ; Update Automatik - Einmal pro Stunde auf neue Version prüfen ...
    If @MIN = 59 Then _UpdateCheck()
    Sleep(10000)
    Until ProcessExists("SciTE.exe") = 0 ; ... bis SciTE beendet wird.
    Exit

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

    Func _UpdateCheck()
    $Ping = Ping("www.AutoItScript.com", 250)
    If $Ping Then
    $CurrentFileVersion = FileGetVersion(@ProgramFilesDir & "\AutoIt3\AutoIt3.exe")
    $UpdateIni = StringSplit(StringRegExpReplace(_INetGetSource("http://www.autoitscript.com/autoit3/files/beta/update.dat"), @LF, ''),@CR)
    If StringInStr($UpdateIni[2], $CurrentFileVersion) Then
    Sleep(60000)
    Else
    $Date = StringRegExp($UpdateIni[6], '[0-9]', 3)
    $Year = _ArrayToString($Date, '', 0, 3)
    $Month = _ArrayToString($Date, '', 4, 5)
    $Day = _ArrayToString($Date, '', 6, 7)
    $WhatToDo = MsgBox(68, "AutoIt Updates", "Es sind Updates vorhanden!" & @CRLF & "" & @CRLF & _
    "Installierte Version: AutoIT v" & $CurrentFileVersion & @CRLF & "" & @CRLF & _
    "Verfügbare Version: AutoIT v" & $UpdateIni[2] & " (" & $Day & "." & $Month & "." & $Year & ")" & @CRLF & "" & @CRLF & _
    "Updates herunterladen ?")
    Select
    Case $WhatToDo = 6 ; Ja, Updates herunterladen
    InetGet(StringRegExpReplace($UpdateIni[4], 'setup=', ''), _
    @DesktopDir & "\autoit-v" & $UpdateIni[2] & "-setup.exe", 1, 1)
    InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", @CommonFilesDir & "\Update.ini")
    While @InetGetActive
    TraySetState(1)
    TrayTip("Downloading", "Bytes = " & @InetGetBytesRead, 10, 16)
    Sleep(250)
    WEnd
    $WhatToDoNow = MsgBox(68, "AutoIt Udates", "Updates wurden heruntergeladen!" & @CRLF & "" & @CRLF & _
    "Sollen die Udates jetzt installiert werden?", 20)
    Select
    Case $WhatToDoNow = 6 ; Ja, Updates installieren
    MsgBox(48, "AutoIt Udates", "Bitte beenden Sie alle Instanzen von SciTE !")
    $Install = 1
    $NewVersion = $UpdateIni[2]
    Case $WhatToDoNow = 7 ; Nein, Updates nicht installieren
    Exit
    EndSelect
    Exit
    Case $WhatToDo = 7 ; Nein, Updates nicht herunterladen
    Exit
    EndSelect
    EndIf
    Else
    Sleep(30000)
    EndIf
    Sleep(30000)
    EndFunc ;==>_UpdateCheck

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

    Func _Install_Updates()
    If FileExists(@DesktopDir & "\autoit-" & $NewVersion & "-setup.exe") And $Install = 1 Then
    ShellExecuteWait(@DesktopDir & "\autoit-" & $NewVersion & "-setup.exe", "/S") ; Silent Installation
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Edit\Command", "", "REG_SZ", _
    '"' & @CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe" & '" "%1"') ; Registryeinträge nach Installation zurücksetzen
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Open\Command", "", "REG_SZ", _
    '"' & @CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe" & '" "%1"')
    MsgBox(64, "AutoIt Udates", "Updates wurden erfolgreich installiert!")
    ;Run(@ProgramFilesDir & '\AutoIt3\SciTE\SciTE.exe')
    Else
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Edit\Command", "", "REG_SZ", _
    '"' & @CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe" & '" "%1"') ; Registryeinträge bei Programmende zurücksetzen
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Open\Command", "", "REG_SZ", _
    '"' & @CommonFilesDir & "\AutoIt3\AutoIt_Updater.exe" & '" "%1"')
    Exit
    EndIf
    EndFunc ;==>_Install_Updates

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

    #Region User Defiened Funktions
    Func _ArrayToString(Const ByRef $avArray, $sDelim, $iStart = Default, $iEnd = Default)
    ; Declare local variables.
    Local $iUBound = UBound($avArray) - 1

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

    ; Validate the array
    If ($iUBound + 1) < 2 Or UBound($avArray, 0) > 1 Then Return SetError(1, 0, "")

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

    ; Expand Default parameters
    If $iStart = Default Or $iStart = -1 Then $iStart = 0
    If $iEnd = Default Or $iEnd = -1 Then $iEnd = $iUBound

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

    ; Validate that the start and end indices are valid.
    If ($iStart < 0) Or ($iEnd < 0) Or ($iStart > $iEnd) Then Return SetError(2, 0, "")

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

    ; Make sure that $iEnd <= to the size of the array.
    If ($iEnd > $iUBound) Then
    $iEnd = $iUBound
    EndIf

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

    Local $sResult
    ; Combine the elements into the string.
    For $i = $iStart To $iEnd
    $sResult &= $avArray[$i] & $sDelim
    Next

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

    Return StringTrimRight($sResult, StringLen($sDelim))
    EndFunc ;==>_ArrayToString

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

    Func _INetGetSource($s_URL, $s_Header = '')

    If StringLeft($s_URL, 7) <> 'http://' And StringLeft($s_URL, 8) <> 'https://' Then $s_URL = 'http://' & $s_URL

    Local $h_DLL = DllOpen("wininet.dll")

    Local $ai_IRF, $s_Buf = ''

    Local $ai_IO = DllCall($h_DLL, 'int', 'InternetOpen', 'str', "AutoIt v3", 'int', 0, 'int', 0, 'int', 0, 'int', 0)
    If @error Or $ai_IO[0] = 0 Then
    DllClose($h_DLL)
    SetError(1)
    Return ""
    EndIf

    Local $ai_IOU = DllCall($h_DLL, 'int', 'InternetOpenUrl', 'int', $ai_IO[0], 'str', $s_URL, 'str', $s_Header, 'int', StringLen($s_Header), 'int', 0x80000000, 'int', 0)
    If @error Or $ai_IOU[0] = 0 Then
    DllCall($h_DLL, 'int', 'InternetCloseHandle', 'int', $ai_IO[0])
    DllClose($h_DLL)
    SetError(1)
    Return ""
    EndIf

    Local $v_Struct = DllStructCreate('udword')
    DllStructSetData($v_Struct, 1, 1)

    While DllStructGetData($v_Struct, 1) <> 0
    $ai_IRF = DllCall($h_DLL, 'int', 'InternetReadFile', 'int', $ai_IOU[0], 'str', '', 'int', 256, 'ptr', DllStructGetPtr($v_Struct))
    $s_Buf &= StringLeft($ai_IRF[2], DllStructGetData($v_Struct, 1))
    WEnd

    DllCall($h_DLL, 'int', 'InternetCloseHandle', 'int', $ai_IOU[0])
    DllCall($h_DLL, 'int', 'InternetCloseHandle', 'int', $ai_IO[0])
    DllClose($h_DLL)
    Return $s_Buf
    EndFunc ;==>_INetGetSource

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

    #EndRegion User Defiened Funktions

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

    Uninstall

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.2.4.9
    Author: Greenhorn

    Script Function: Uninstaller
    Auto(It)-Updater v1.0.5

    #ce ----------------------------------------------------------------------------
    #Region AutoIt3Wrapper directives section
    #AutoIt3Wrapper_icon=E:\AutoIt Projekte\Icons\shell32\shell32_33.ico
    #AutoIt3Wrapper_res_comment=Deinstalliert Updater für AutoIt
    #AutoIt3Wrapper_res_description=Deinstalliert Updater für AutoIt
    #AutoIt3Wrapper_res_fileversion=1.0.5.0
    #EndRegion

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

    #NoTrayIcon
    ; Registryeinträge zurücksetzen wenn AutoIt und SciTE noch installert ist...
    If FileExists(@ProgramFilesDir & "\AutoIt3\AutoIt3.exe") And FileExists(@ProgramFilesDir & "\AutoIt3\SciTE\SciTE.exe") Then
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Edit\Command", "", "REG_SZ", '"' & @ProgramFilesDir & '"\AutoIt3\SciTE\SciTE.exe" "%1"')
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Open\Command", "", "REG_SZ", '"' & @ProgramFilesDir & '"\AutoIt3\SciTE\SciTE.exe" "%1"')
    FileDelete(@CommonFilesDir & "\AutoIt3")
    If @error = 0 Then
    MsgBox(64, "Uninstall", "Deinstallation fehlgeschlagen!" & @CRLF & @CRLF & "AutoIt_Updater.exe konnte nicht gelöscht werden.")
    Else
    MsgBox(64, "Uninstall", "Das Programm wurde erfolgreich deinstalliert!")
    EndIf
    ; Registryeinträge umschreiben wenn AutoIt noch installert ist und ein anderer Editor benutzt wird...
    ElseIf FileExists(@ProgramFilesDir & "\AutoIt3\AutoIt3.exe") And Not FileExists(@ProgramFilesDir & "\AutoIt3\SciTE\SciTE.exe") Then
    MsgBox(64, "Uninstall", "AutoIt ist auf Ihrem System installiert," & @CRLF & @CRLF & "jedoch konnte SciTE nicht gefunden werden." & @CRLF & @CRLF & "Wenn Sie einen anderen Editor benutzen," & @CRLF & "geben sie bitte den Pfad ein.")
    $Editor = FileOpenDialog("Editor suchen", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "*.exe", 1)
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Edit\Command", "", "REG_SZ", '"' & $Editor & '" "%1"')
    RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Open\Command", "", "REG_SZ", '"' & $Editor & '" "%1"')
    FileDelete(@CommonFilesDir & "\AutoIt3")
    If @error = 0 Then
    MsgBox(64, "Uninstall", "Deinstallation fehlgeschlagen!" & @CRLF & @CRLF & "AutoIt_Updater.exe konnte nicht gelöscht werden.")
    Else
    MsgBox(64, "Uninstall", "Das Programm wurde erfolgreich deinstalliert!")
    EndIf
    ; Andernfalls alles bereinigen...
    Else
    RegDelete("HKLM\Software\Classes\AutoIt3Script\Shell\Edit\Command")
    RegDelete("HKLM\Software\Classes\AutoIt3Script\Open\Edit\Command")
    FileDelete(@CommonFilesDir & "\AutoIt3")
    If @error = 0 Then
    MsgBox(64, "Uninstall", "Deinstallation fehlgeschlagen!" & @CRLF & @CRLF & "AutoIt_Updater.exe konnte nicht gelöscht werden.")
    Else
    MsgBox(64, "Uninstall", "Das Programm wurde erfolgreich deinstalliert!")
    EndIf
    EndIf
    Exit

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


    Gruß
    Greenhorn

    Edit: funzt hervorragend ! Test bestanden --> 25.o8.2oo7 um o1:oo Uhr Update von 3.2.4.9 auf 3.2.6.0
    :D

  • DLLs

    • Greenhorn
    • 16. Juni 2007 um 13:40

    Hi,

    ich habe das hier dazu gefunden...

    Zitat

    Ob und wie genau man die Parameter auslesen kann, hängt davon ab, ob es eine C- oder C++-Funktion ist. Der "Dependency Walker" z.B. kann aus den C++-Funktionsnamen die Parameter und den Rückgabewert rauslesen.

    Bei C-Funktionen ist diese Option meistens nicht gegeben und wenn, dann bekommst Du nur die Größe des Parameters. Dann musst Du wohl etwas ausprobieren.

    Eine weitere Möglichkeit besteht darin mit einem API-Sniffer die DLL bzw das zugehörige Programm zu beobachten. Das sollte Dir dann eigentlich recht genau zeigen, was welcher Parameter bewirkt.

    Zitat

    SoftSnoop is a small debugger which uses the Debug API's to show the normal debug events but SoftSnoop is also able to spy API calls.
    Much nice features...have a look.

    News:
    - BPMs
    - support for some rare Win95 version added....THX totnak !
    - Api return value modification
    - thread handling stuff recoded
    - BPXs can now automatically be restored after execution
    - GUI updated
    - install shell extension
    - one can avoid SS from trapping the calls to specific dlls
    - Stop at the EntryPoint
    - Show TID of events
    - Plugin interface updated
    - several bugfixes

    Alles anzeigen

    SoftSnoop.zip


    Vielleicht hilft das ja ein wenig weiter...


    Gruß
    Greenhorn

  • Traymenü -> Func Aufruf -> Traymenü off

    • Greenhorn
    • 14. Juni 2007 um 21:47

    Genau das meine ich, und wenn ich den ganzen Tray Kram mit in die Func _Capture nehme, dann funzt es auch nicht...

    Zitat

    ...außer mit AddlibEnable()

    AddlibEnable() ? Muss ich mal nachschauen was das ist... :irre:

    Edit: Ja, gut. Ich habe auch schon überlegt mit TimerDiff anstatt mit Sleep zu arbeiten, aber das könnte die CPU sehr in Anspruch nehmen...

  • Traymenü -> Func Aufruf -> Traymenü off

    • Greenhorn
    • 14. Juni 2007 um 21:12

    Vielen Dank für deine Kenntnisnahme und Hilfe, leviathan ! =)

    Die GUI ist nicht das Problem, sondern Die Func _Capture() !

    Wenn ich die ausführe, dann reagiert im Traymenü nur noch die Standard ID, also Pause und Exit/Beenden.
    Die anderen Items im Traymenü lassen sich nicht mehr ansprechen ! ;(
    Die Hotkeys funzen aber Wunderbar das ganze Script hindurch. :tongue:

    Momentaner Stand der Dinge...

    Spoiler anzeigen
    [autoit]

    #cs =====================================================================================================================

    Screenshot & Upload to ftp

    by Greenhorn

    inspired by Mex ;)

    #ce ======================================================================================================================
    #Region AutoIt3Wrapper directives section
    #AutoIt3Wrapper_icon=E:\AutoIt Projekte\ScreenshotToFTP\snap.ico
    #AutoIt3Wrapper_Res_Icon_Add=E:\AutoIt Projekte\ScreenshotToFTP\FallenAngel.ico
    #AutoIt3Wrapper_allow_decompile=N
    #AutoIt3Wrapper_PassPhrase=Gulli+#
    #AutoIt3Wrapper_res_fileversion=0.6.2.1
    #AutoIt3Wrapper_res_comment="Screenshots To FTP"
    #AutoIt3Wrapper_res_description="Screenshots To FTP"
    #AutoIt3Wrapper_Res_FileVersion_AutoIncrement=Y
    #EndRegion

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

    #NoTrayIcon
    #Include <Constants.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>

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

    Opt("OnExitFunc", "OnAutoItExit")
    Opt("TrayMenuMode", 4)
    Opt("TrayAutoPause", 0)

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

    Global $i = 1
    Global $Picform = 85
    Global $FileExt = ".jpg"
    Global $server, $username, $pass, $serverdir, $Seconds, $PicDir, $h_DllCaptDLL

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

    HotKeySet("{PrintScreen}", "_Capture")
    HotKeySet("{Insert}", "_Upload")
    $Data = IniReadSection(@ScriptDir & "\config.ini", "Ftp")
    If @error Then
    MsgBox(4096, "", "Error occurred, probably no INI file.")
    _IniDialog()
    Else
    $server = IniRead("config.ini", "Ftp", "Server", "")
    $username = IniRead("config.ini", "Ftp", "User", "")
    $pass = IniRead("config.ini", "Ftp", "Pass", "")
    $serverdir = IniRead("config.ini", "Ftp", "Serverpath", "")
    $Seconds = IniRead("config.ini", "Capture", "Reapeat", 5)
    $Picform = IniRead("config.ini", "Capture", "Picformat", 85)
    $PicDir = IniRead("config.ini", "Capture", "Picdir", @ScriptDir)

    EndIf

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

    $TrConfig = TrayCreateItem("Einstellungen")
    TrayCreateItem("")
    $TrUpload = TrayCreateItem("Upload")
    TrayCreateItem("")
    $TrStart = TrayCreateItem("Start")
    TrayCreateItem("")
    $TrStop = TrayCreateItem("Stop")
    TrayItemSetText($TRAY_ITEM_PAUSE, "Pause")
    TrayItemSetText($TRAY_ITEM_EXIT, "Beenden")

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

    TraySetState()

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

    While 1
    $msg = TrayGetMsg()
    Switch $msg
    Case $TrConfig
    _IniDialog()
    Case $TrUpload
    _Upload()
    Case $TrStart
    _Capture()
    Case $TrStop
    OnAutoItExit()
    Case $TRAY_ITEM_EXIT
    Terminate()
    EndSwitch
    WEnd

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

    Func _Capture()
    FileInstall("Captdll.dll", "Captdll.dll", 0)
    Dim $h_DllCaptDLL = DllOpen("captdll.dll");Open it only once at the beginning and close it once at the end. Not every time the while loops.
    HotKeySet("{End}", "OnAutoItExit")
    HotKeySet("{Pause}", "_Pause")

    While 1
    TraySetIcon("", 3)
    DllCall($h_DllCaptDLL, "int:cdecl", "CaptureScreen", "str", $PicDir & "\Screenshot_" & $i & $FileExt, "int", $Picform)
    If @error = 1 Then ExitLoop
    Sleep(500)
    TraySetIcon("", 3)
    Sleep(($Seconds * 1000) - 500)
    $i += 1
    WEnd
    EndFunc ;==>_Capture

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

    Func _Upload()
    FileInstall("ScrUploader.exe", @TempDir & "\ScrUploader.exe", 0)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "Server", $server)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "User", $username)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "Pass", $pass)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "Serverpath", $serverdir)
    IniWrite(@TempDir & "\Upload.ini", "Capture", "Picdir", $PicDir)
    IniWrite(@TempDir & "\Upload.ini", "Capture", "FileExt", $FileExt)
    Sleep(500)
    Run(@TempDir & "\ScrUploader.exe")
    EndFunc ;==>_Upload

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

    Func _Pause()
    TraySetState(4)
    Do
    Sleep(100)
    Until _IsPressed("13") ; Pause-Taste
    TraySetState(8)
    EndFunc ;==>_Pause

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

    Func _IniDialog()
    $Capt2ftp = GUICreate("Capture 2 ftp", 409, 447, 193, 115)
    $Tab = GUICtrlCreateTab(16, 24, 377, 345)
    $TFtp = GUICtrlCreateTabItem("FTP")
    GUICtrlSetState(-1, $GUI_SHOW)
    $server = GUICtrlCreateInput("", 40, 78, 250, 21)
    $username = GUICtrlCreateInput("", 40, 138, 250, 21)
    $pass = GUICtrlCreateInput("", 40, 198, 250, 21)
    $serverdir = GUICtrlCreateInput("", 40, 268, 250, 21)
    $Lserver = GUICtrlCreateLabel("Servername", 40, 58, 61, 20)
    $Lusername = GUICtrlCreateLabel("Benutzername", 40, 118, 72, 20)
    $Lpass = GUICtrlCreateLabel("Kennwort", 40, 178, 49, 20)
    $Lserverdir = GUICtrlCreateLabel("Serververzeichnis", 40, 248, 88, 17)

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

    $TCaptures = GUICtrlCreateTabItem("Captures")
    $LPic1 = GUICtrlCreateLabel("Bildformat wählen", 40, 72, 87, 17)
    $RadioBmp = GUICtrlCreateRadio("Bitmap", 40, 98, 70, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $RadioJpg = GUICtrlCreateRadio("JPEG", 40, 138, 70, 17)
    $LPic2 = GUICtrlCreateLabel("Bildqualität (1 bis 100)", 145, 138, 120, 20)
    $JpgQlty = GUICtrlCreateInput($Picform, 264, 138, 50, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Updown1 = GUICtrlCreateUpdown($JpgQlty)
    GUICtrlSetLimit(-1, 100, 1)
    $LPic3 = GUICtrlCreateLabel("Screenshot vom Bildschirm alle ", 88, 216, 175, 17)
    $Seconds = GUICtrlCreateInput("5", 264, 213, 50, 21)
    $Updown2 = GUICtrlCreateUpdown($Seconds)
    GUICtrlSetLimit(-1, 100, 1)
    $LPic4 = GUICtrlCreateLabel("Sekunden", 320, 216, 53, 17)
    $LPic5 = GUICtrlCreateLabel("Screenshotverzeichnis ", 40, 253, 175, 17)
    $PicDir = GUICtrlCreateInput(@ScriptDir, 40, 273, 250, 21)
    $BtnDir = GUICtrlCreateButton("...", 305, 272, 60, 25, 0)
    GUICtrlCreateTabItem("")
    $BtnOK = GUICtrlCreateButton("Start", 304, 392, 89, 25, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $RadioBmp
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState($JpgQlty, $GUI_DISABLE)
    GUICtrlSetState($Seconds, $GUI_DISABLE)
    $Picform = -1
    $FileExt = ".bmp"
    Case $RadioJpg
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState($JpgQlty, $GUI_ENABLE)
    GUICtrlSetState($Seconds, $GUI_ENABLE)
    $FileExt = ".jpg"
    Case $Updown1
    $Picform = GUICtrlRead($JpgQlty)
    Case $Updown2
    $Seconds = GUICtrlRead($Seconds)
    Case $BtnDir
    $PicDir = FileSelectFolder("Screenshotverzeichnis wählen...", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", 7, @ScriptDir)
    Case $BtnOK
    _IniWrite()
    ExitLoop
    EndSwitch
    WEnd
    EndFunc ;==>_IniDialog

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

    Func _IniWrite()
    IniWrite("config.ini", "Ftp", "Server", $server)
    IniWrite("config.ini", "Ftp", "User", $username)
    IniWrite("config.ini", "Ftp", "Pass", $pass)
    IniWrite("config.ini", "Ftp", "Serverpath", $serverdir)
    IniWrite("config.ini", "Capture", "Reapeat", $Seconds)
    IniWrite("config.ini", "Capture", "Picformat", $Picform)
    IniWrite("config.ini", "Capture", "Picdir", $PicDir)
    EndFunc ;==>_IniWrite

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

    ;Exit helper functions
    Func Terminate()
    Exit
    EndFunc ;==>Terminate
    Func OnAutoItExit()
    DllClose($h_DllCaptDLL);closing the dll now that the script is exiting.
    EndFunc ;==>OnAutoItExit

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

    #cs ===> FTP - ScrUploader.exe

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

    #NoTrayIcon
    #include <ftp.au3>
    #include <Misc.au3>

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

    Dim $i = 1, $server, $serverdir, $pass, $username, $PicDir

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

    HotKeySet("{Pause}", "_Pause")
    $Data = IniReadSection("Upload.ini", "Ftp")
    If @error Then
    MsgBox(4096, "", "Error occurred, probably no INI file.")
    Exit
    EndIf

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

    $Open = _FTPOpen ("MyFTP_Control")
    $Conn = _FTPConnect ($Open, $server, $username, $pass)

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

    While 1
    $server = IniRead("Upload.ini", "Ftp", "Server", "")
    $username = IniRead("Upload.ini", "Ftp", "User", "")
    $pass = IniRead("Upload.ini", "Ftp", "Pass", "")
    $serverdir = IniRead("Upload.ini", "Ftp", "Serverpath", "")
    $PicDir = IniRead("Upload.ini", "Capture", "Picdir", @ScriptDir)
    $FileExt = IniRead("Upload.ini", "Capture", "FileExt", ".jpg")
    $Ftpp = _FtpPutFile ($Conn, $PicDir & "\Screenshot_" & $i & $FileExt, $serverdir)
    Sleep(100)
    $i += 1
    WEnd
    $Ftpc = _FTPClose ($Open)
    Exit

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

    Func _Pause()
    TraySetState(4)
    Do
    Sleep(100)
    Until _IsPressed("13") ; Pause-Taste
    TraySetState(8)
    EndFunc ;==>_Pause
    #ce ===> FTP

    [/autoit]

    Gruß
    Greenhorn

  • Traymenü -> Func Aufruf -> Traymenü off

    • Greenhorn
    • 14. Juni 2007 um 17:39

    Moin,

    ich habe ein Schleifenproblem... :rolleyes:

    Und zwar erstelle ich zur Zeit ein Programm, das nur im SystemTray zu bedienen sein soll (und per Hotkey !).

    Wenn ich jetzt die MainFunction starte, dann zeigen die Klicks auf die Traymenü Items keinerlei Wirkung ! X(

    D.h. die Schleife in der MainFunction unterbricht die Traymenü-Schleife und scheint diese Lahm zu legen...

    Wie kann ich diesen Makel ausmerzen ???

    Ich könnte einfach die Traymenü Geschichte noch einmal in die MainFunction Schleife nehmen, aber diese Schleife enthält einen Sleep, was die Trayfunktionalität dann doch auch beinträchtigt..., hmmm.

    Gibt es keine Möglichkeit die Funktionsschleife auszuführen, ohne die Trayschleife zu unterbrechen ?

    Spoiler anzeigen
    [autoit]

    #cs =====================================================================================================================

    Screenshot & Upload to ftp

    by Greenhorn

    inspired by Mex ;)

    #ce ======================================================================================================================
    #Region AutoIt3Wrapper directives section
    #AutoIt3Wrapper_icon=E:\AutoIt Projekte\ScreenshotToFTP\snap.ico
    #AutoIt3Wrapper_Res_Icon_Add=E:\AutoIt Projekte\ScreenshotToFTP\FallenAngel.ico
    #AutoIt3Wrapper_allow_decompile=N
    #AutoIt3Wrapper_PassPhrase=*****
    #EndRegion

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

    #NoTrayIcon
    #Include <Constants.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>

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

    Global $i = 1
    Global $Picform = 85
    Global $FileExt = ".jpg"
    Global $server, $username, $pass, $serverdir, $Seconds, $PicDir, $h_DllCaptDLL

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

    HotKeySet("{PrintScreen}", "_Capture")
    HotKeySet("{Insert}", "_Upload")
    $Data = IniReadSection(@ScriptDir & "\config.ini", "Ftp")
    If @error Then
    MsgBox(4096, "", "Error occurred, probably no INI file.")
    _IniDialog()
    Else
    $server = IniRead("config.ini", "Ftp", "Server", "")
    $username = IniRead("config.ini", "Ftp", "User", "")
    $pass = IniRead("config.ini", "Ftp", "Pass", "")
    $serverdir = IniRead("config.ini", "Ftp", "Serverpath", "")
    $Seconds = IniRead("config.ini", "Capture", "Reapeat", 5)
    $Picform = IniRead("config.ini", "Capture", "Picformat", 85)
    $PicDir = IniRead("config.ini", "Capture", "Picdir", @ScriptDir)

    EndIf

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

    Opt("TrayMenuMode", 0)
    Opt("TrayAutoPause", 0)

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

    $TrConfig = TrayCreateItem("Einstellungen")
    TrayCreateItem("")
    $TrUpload = TrayCreateItem("Upload")
    TrayCreateItem("")
    $TrStart = TrayCreateItem("Start")
    TrayCreateItem("")
    $TrStop = TrayCreateItem("Stop")
    TrayItemSetText($TRAY_ITEM_PAUSE, "Pause")
    TrayItemSetText($TRAY_ITEM_EXIT, "Beenden")

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

    TraySetState()

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

    While 1
    $msg = TrayGetMsg()
    Switch $msg
    Case $TrConfig
    _IniDialog()
    Case $TrUpload
    _Upload()
    Case $TrStart
    _Capture() ; MainFunction -> Das Problemkind...
    Case $TrStop
    OnAutoItExit()
    Case $TRAY_ITEM_EXIT
    Terminate()
    EndSwitch
    WEnd

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

    Func _Capture() ; Ab hier ist Schluss mit Funktionalität des Traymenüs, Hotkeys funzen aber...
    FileInstall("Captdll.dll", "Captdll.dll", 0)
    Dim $h_DllCaptDLL = DllOpen("captdll.dll");Open it only once at the beginning and close it once at the end. Not every time the while loops.
    HotKeySet("{End}", "OnAutoItExit")
    HotKeySet("{Pause}", "_Pause")

    While 1
    DllCall($h_DllCaptDLL, "int:cdecl", "CaptureScreen", "str", $PicDir & "\" & "Screenshot_" & $i & $FileExt, "int", $Picform)
    If @error = 1 Then ExitLoop
    Sleep($Seconds * 1000)
    $i += 1
    WEnd
    EndFunc ;==>_Capture

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

    Func _Upload()
    FileInstall("ScrUploader.exe", @TempDir & "\ScrUploader.exe", 0)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "Server", $server)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "User", $username)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "Pass", $pass)
    IniWrite(@TempDir & "\Upload.ini", "Ftp", "Serverpath", $serverdir)
    IniWrite(@TempDir & "\Upload.ini", "Capture", "Picdir", $PicDir)
    Sleep(500)
    Run(@TempDir & "\ScrUploader.exe")
    EndFunc ;==>_Upload

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

    Func _Pause()
    TraySetState(4)
    Do
    Sleep(100)
    Until _IsPressed("13") ; Pause-Taste
    TraySetState(8)
    EndFunc ;==>_Pause

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

    Func _IniDialog()
    $Capt2ftp = GUICreate("Capture 2 ftp", 409, 447, 193, 115)
    $Tab = GUICtrlCreateTab(16, 24, 377, 345)
    $TFtp = GUICtrlCreateTabItem("FTP")
    GUICtrlSetState(-1, $GUI_SHOW)
    $server = GUICtrlCreateInput("", 40, 78, 250, 21)
    $username = GUICtrlCreateInput("", 40, 138, 250, 21)
    $pass = GUICtrlCreateInput("", 40, 198, 250, 21)
    $serverdir = GUICtrlCreateInput("", 40, 268, 250, 21)
    $Lserver = GUICtrlCreateLabel("Servername", 40, 58, 61, 20)
    $Lusername = GUICtrlCreateLabel("Benutzername", 40, 118, 72, 20)
    $Lpass = GUICtrlCreateLabel("Kennwort", 40, 178, 49, 20)
    $Lserverdir = GUICtrlCreateLabel("Serververzeichnis", 40, 248, 88, 17)

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

    $TCaptures = GUICtrlCreateTabItem("Captures")
    $LPic1 = GUICtrlCreateLabel("Bildformat wählen", 40, 72, 87, 17)
    $RadioBmp = GUICtrlCreateRadio("Bitmap", 40, 98, 70, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $RadioJpg = GUICtrlCreateRadio("JPEG", 40, 138, 70, 17)
    $LPic2 = GUICtrlCreateLabel("Bildqualität (1 bis 100)", 145, 138, 120, 20)
    $JpgQlty = GUICtrlCreateInput($Picform, 264, 138, 50, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Updown1 = GUICtrlCreateUpdown($JpgQlty)
    GUICtrlSetLimit(-1, 100, 1)
    $LPic3 = GUICtrlCreateLabel("Screenshot vom Bildschirm alle ", 88, 216, 175, 17)
    $Seconds = GUICtrlCreateInput("5", 264, 213, 50, 21)
    $Updown2 = GUICtrlCreateUpdown($Seconds)
    GUICtrlSetLimit(-1, 100, 1)
    $LPic4 = GUICtrlCreateLabel("Sekunden", 320, 216, 53, 17)
    $LPic5 = GUICtrlCreateLabel("Screenshotverzeichnis ", 40, 253, 175, 17)
    $PicDir = GUICtrlCreateInput(@ScriptDir, 40, 273, 250, 21)
    $BtnDir = GUICtrlCreateButton("...", 305, 272, 60, 25, 0)
    GUICtrlCreateTabItem("")
    $BtnOK = GUICtrlCreateButton("Start", 304, 392, 89, 25, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $RadioBmp
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState($JpgQlty, $GUI_DISABLE)
    GUICtrlSetState($Seconds, $GUI_DISABLE)
    $Picform = -1
    $FileExt = ".bmp"
    Case $RadioJpg
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetState($JpgQlty, $GUI_ENABLE)
    GUICtrlSetState($Seconds, $GUI_ENABLE)
    $FileExt = ".jpg"
    Case $Updown1
    $Picform = GUICtrlRead($JpgQlty)
    Case $Updown2
    $Seconds = GUICtrlRead($Seconds)
    Case $BtnDir
    $PicDir = FileSelectFolder("Screenshotverzeichnis wählen...", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", 7, @ScriptDir)
    Case $BtnOK
    _IniWrite()
    ExitLoop
    EndSwitch
    WEnd
    EndFunc ;==>_IniDialog

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

    Func _IniWrite()
    IniWrite("config.ini", "Ftp", "Server", $server)
    IniWrite("config.ini", "Ftp", "User", $username)
    IniWrite("config.ini", "Ftp", "Pass", $pass)
    IniWrite("config.ini", "Ftp", "Serverpath", $serverdir)
    IniWrite("config.ini", "Capture", "Reapeat", $Seconds)
    IniWrite("config.ini", "Capture", "Picformat", $Picform)
    IniWrite("config.ini", "Capture", "Picdir", $PicDir)
    EndFunc ;==>_IniWrite

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

    ;Exit helper functions
    Func Terminate()
    Exit
    EndFunc ;==>Terminate
    Func OnAutoItExit()
    DllClose($h_DllCaptDLL);closing the dll now that the script is exiting.
    EndFunc ;==>OnAutoItExit

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

    #cs ===> FTP - ScrUploader.exe
    $PicUp = IniRead("Upload.ini", "ScreenshotDir", "Dir", "Not Found")
    $Open = _FTPOpen ("MyFTP_Control")
    $Conn = _FTPConnect ($Open, $server, $username, $pass)
    While 1
    $Ftpp = _FtpPutFile ($Conn, $PicUp, $serverdir)
    Sleep(100)
    ;programmcode
    WEnd
    $Ftpc = _FTPClose($Open)
    #ce ===> FTP

    [/autoit]


    Gruß
    Greenhorn

  • Screenshot auf ftp laden ?

    • Greenhorn
    • 11. Juni 2007 um 22:36
    Zitat

    Original von snoozer
    watch this...

    Spoiler anzeigen
    [autoit]

    #include<ftp.au3>
    Global Const $server = "***.***.***.***"
    Global Const $username = "*********"
    Global Const $pass = "*************"
    Global Const $serverdir = "/some_dir/";verzeichnis auf dem server

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


    $Open = _FTPOpen("MyFTP_Control")
    $Conn = _FTPConnect($Open, $server, $username, $pass)

    Dim $i = 1

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


    While 1

    $PicName = @ScriptDir& "\Screenshot_" & $i & ".jpg"
    $localfile = $PicName
    $serverfilename = $PicName
    DllCall("Captdll.dll", "int", "CaptureScreen", "str", $PicName)
    $i = $i + 1
    Sleep(3000)
    $Ftpp = _FtpPutFile($Conn,$localfile,$serverdir&$serverfilename)
    WEnd

    [/autoit]


    ist nen beispiel....

    snoozer

    Alles anzeigen

    Vielen Dank, mein Gutster, werde ich testen...

    Edit: Habe im amerikanischen Board durch Hilfe die Lösung gefunden !

    Spoiler anzeigen

    This is a new behavior that has been implemented in the newer versions of AutoIt. This behavior assists people in debugging DLL calls by making the user implicitly declare that the dll they are using uses the STD calling convention or the CDECL calling convention. By default, AutoIt assumes that the DLL is using the STD calling conventions. When it doesn't use this convention, it hard crashes. Captdll.dll, written by Lazycat, uses the C Declared calling convention. As a result, AutoIt hard crashes when you do no implicitly instruct it to open the DLL with the correct calling convention.

    - The Kandie Man ;)


    Code für die Screenshot-Schleife mit korrektem Parameter --> int:cdecl im DLLCall...

    Spoiler anzeigen
    [autoit]

    ; - The Kandie Man ;)

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

    HotKeySet("{End}","Terminate")
    Dim $h_DllCaptDLL = DllOpen("captdll.dll");Open it only once at the beginning and close it once at the end. Not every time the while loops.
    Dim $i = 1

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

    While 1
    DllCall($h_DllCaptDLL, "int:cdecl", "CaptureScreen", "str", "Screenshot_" & $i & ".bmp", "int", -1)
    Sleep(5000)
    $i += 1
    WEnd

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

    ;Exit helper functions
    Func Terminate()
    Exit
    EndFunc
    Func OnAutoItExit()
    DllClose($h_DllCaptDLL);closing the dll now that the script is exiting.
    EndFunc

    [/autoit]

    Denke Problem kann als gelöst gelten...

    Gruß
    Greenhorn

  • Screenshot auf ftp laden ?

    • Greenhorn
    • 11. Juni 2007 um 22:21

    Hmmm, geht auch nicht ohne den zweiten Parameter... *werde.irre*

    Es muss doch irgendwie möglich sein mehrere Screenshots hintereinander zu erstellen... *Grrrrr*

    Ich werde mir mal die anderen Dinger ansehen, die Du mir verlinkt hast, vielen Dank noch einmal, snoozer !
    Melde mich bestimmt noch einmal, aber wohl nicht mehr heute... *seufz*


    Gruß
    Greenhorn

    Edit: Ouha, sehe gerade, dass Du in C und WinAPI Programmierung fit bist..., Cooooool.
    Will ich mich auch noch dran versuchen, habe mir auch schon 'n Buch zugelegt: Win32API Programmierung von C. Petzold.
    Ist zwar Steinalt, aber mal sehen...

  • Screenshot auf ftp laden ?

    • Greenhorn
    • 11. Juni 2007 um 21:05

    Hmmm, wenn ich die Schleife ausführe (ohne die FTP-Funktionen ), dann wird nur ein Screenshot erstellt und das Script endet. Ohne Fehlermeldung, ReturnCode: 0 !!!

    Was ist denn das nun wieder ???

  • Screenshot auf ftp laden ?

    • Greenhorn
    • 11. Juni 2007 um 20:34

    1ooo Dank, snoozer, ich werde mich mal schlau machen wegen der Größe (das Tool soll nicht für mich sein...) !

    @jonk Ahh, Danke ! Das mit den mehreren Dateien muss ich auch erstmal ausloten. Mal sehen was mein Auftraggeber dazu meint...

    Gruß
    Greenhorn

  • Screenshot auf ftp laden ?

    • Greenhorn
    • 11. Juni 2007 um 20:17

    O.K., prima uind vielen Dank ihr beiden ! :D

    Aber muss ich jedesmal, sprich alle 3 Sek., 'ne neue Session öffnen und neu connecten usw. ?

    Langt es nicht auch vor der Schleife einmal Session starten, connecten und die _FTPPutFile in die Schleife ?

    Es sollen möglichst Zeitverzögerungen vermieden werden, d.h. die 3 Sek. bis zum nächsten Screenshot sollen möglichst eingehalten werden...

    ...und die wininet.dll brauche ich nicht ???

  • Screenshot auf ftp laden ?

    • Greenhorn
    • 11. Juni 2007 um 19:52

    Moin,

    ich bin's nur...

    Ich möchte in einer Schleife alle 3 Sek. einen Screenshot machen und diesen anschließend auf einen FTP-Server hochladen.

    Problem: Die ftp.au3 ! Verstehe ich nicht ganz...

    Ich habe schon in der Suche gewühlt, bin aber aus der ganzen Sache nicht schlau geworden...

    Muss ich alle Funktionen der ftp.au3 benutzen um mich mit dem Server zu Verbinden und die Dateien dort abzulegen, oder wie geht das ?

    Ich habe so gut wie keine Erfahrungen mit den Internet-Funktionen in AutoIt, oder sonstwomit !


    Spoiler anzeigen
    [autoit]

    #include <ftp.au3>

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

    Dim $i = 1

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

    ; Muss ich hier _FTPOpen benutzen ???
    ; ...und hier _FTPConnect ?

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

    While 1

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

    $PicName = "Screenshot_" & $i
    DllCall("Captdll.dll", "int", "CaptureScreen", "str", $PicName, "int", 99)
    $i = $i + 1
    Sleep(3000)
    ; Hier soll jetzt die Datei zum Server hochgeladen werden, mit _FTPPutFile ???
    WEnd

    [/autoit]


    Gruß
    Greenhorn

  • AutoIt Script mit Parametern ausführen ?

    • Greenhorn
    • 10. Juni 2007 um 22:01

    Vielen Dank ihr Beiden !

    Das mit der Boardsuche ist immer so eine Art Glücksspiel...
    Gelobe aber Besserung !!!


    Gruß
    Greenhorn

  • AutoIt Script mit Parametern ausführen ?

    • Greenhorn
    • 10. Juni 2007 um 21:35

    Hallo,

    ich möchte gerne ein einfaches Screenshot-Tool schreiben, welche die allseits beliebte captdll.dll einbindet.

    Das ganze soll ohne GUI oder ähnliches funzen, also praktisch wie ein KommandozeilenTool !

    Geht das ???


    Gruß
    Greenhorn

  • script das sich automatisch zum boot up hinzufügt

    • Greenhorn
    • 9. Juni 2007 um 18:45
    Zitat

    Original von derda
    hi

    was ist eigendlich wenn das script umbenant wir?

    mfg

    Wie meinst Du das genau ??? ?(

    Wenn es im Autostart-Ordner abgelegt ist, dann ist es Schnuppe, wenn es in der Registry eingetragen ist, dann ist natürlich nicht Schnuppe, denn Du hast ja mit RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "", REG_SZ, "C:\Irgendwo\XYZ.exe") festgelegt welche Datei ausgeführt werden soll !


    Gruß
    Greenhorn

  • script das sich automatisch zum boot up hinzufügt

    • Greenhorn
    • 8. Juni 2007 um 15:08

    Ja, das wird funzen (wenn ich es überhaipt richtig verstanden habe... )

    Entweder Du legst das Script im Autostart-Ordner ab, oder Du machst einen Registry-Eintrag.

    Autostart-Ordner

    C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart
    für alle Benutzer...


    Registry-Eintrag

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    Dort einen Standard REG_SZ-Eintrag anlegen mit dem Pfad zu deinem Script...


    Gruß
    Greenhorn

    Edit: Sorry, war mal wieder 'n büschen durcheinander... :rolleyes:
    Es muss natürlich ein Standard REG_SZ sein !

  • AutoIT auf USB-Stick

    • Greenhorn
    • 8. Juni 2007 um 01:07

    Hi Lina,

    AutoIt ist an sich schon portable ! ( Download AutoIt.zip und SciTe4AutoIt.zip ! )

    Wichtig sind:

    1.) Du musst den AutoIt-Pfad in den au3.properties setzen, damit SciTE den Compiler findet !!!

    2.) Die Registryeinträge (Optional, da diese sich nur auf die Dateiendung und das Kontextmenü beziehen...)


    Ich habe vor längerer Zeit mal ein Script dafür geschrieben ( Natürlich mit freundlicher Hilfe aus dem Board... )

    Diese drei Scripte ins Hauptverzeichnis von AutoIt und los geht's... :D
    Optional kannst Du noch einen Launcher schreiben, den Du ins Hauptverzeichnis deines Sticks packst. Dann musst Du nicht immer den AutoIt-Ordner öffnen um die AutoIt_v3 zu starten... ;)

    So kannst Du immer die aktuelle Version von AutoIt "portablen" ( geiles Wort, nicht !? :D)


    Startscript ! (enthält den Eintrag in die au3.properties von SciTE... )

    Spoiler anzeigen
    [autoit]

    #cs =============================================================================================
    AutoIt Version: 3.2.2.0
    Author: leechy a.k.a Greenhorn

    Script Function:
    AutoIt v3 portable.

    #ce ==============================================================================================

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

    #include <GUIConstants.au3>
    #Include <Constants.au3>
    #include <Array.au3>
    #include <File.au3>
    #NoTrayIcon

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

    ; Prüfen ob Programm bereits auf dem System installert ist
    If FileExists(@ProgramFilesDir & "\AutoIt3\AutoIt3.exe") Then MsgBox(4096, "Start wird abgebrochen !", "Es wurde eine bereits installierte" & @CRLF & "Version von AutoIt 3 gefunden !" & @CRLF & "" & @CRLF & "Der Programmstart wird abgebrochen !")
    Exit

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

    Dim $AuProperties

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

    ; Registryeinträge vornehmen
    ;ShellExecute(@WindowsDir & "\regedit.exe", "/S Register-Autoit.reg")
    Run(@WorkingDir & "\Programme\AutoIt_v3\Register.exe")
    ;FileCopy(@WorkingDir & "\Kill.exe", @TempDir) ; Notfall Deregistrierung
    ;RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "", "REG_SZ", @TempDir & "\Kill.exe")

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

    ; AutoIt3-Pfad für SciTE in au3.properties anpassen
    If _FileReadToArray(@WorkingDir & "\Programme\AutoIt_v3\SciTE\au3.properties", $AuProperties) = 0 Then MsgBox(4096, "Error", "Kann Datei nicht einlesen!")
    $AuProperties[7] = "autoitdir=" & @WorkingDir & "\Programme\AutoIt_v3"
    _FileWriteFromArray("au3.properties", $AuProperties, 1)

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

    ; Splash Image bei Programmstart
    SplashImageOn("Splash Screen", "AutoIt3port.jpg", 420, 315, -1, -1, 1)
    Sleep(3000)
    SplashOff()

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

    ; TrayIcon mit Menü
    Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.

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

    TraySetIcon(@WorkingDir & "\Programme\AutoIt_v3\Icons\au3.ico")
    TraySetToolTip("AutoIt v3 portable")
    TrayTip("AutoIt v3 portable", "Klicke Trayicon um Menü anzuzeigen !", 10, 1)
    $neuitem = TrayCreateMenu("Neues Script")
    TrayCreateItem("")
    $extrasitem = TrayCreateMenu("Extras")
    $v2tov3item = TrayCreateItem("v2 to v3 converter", $extrasitem)
    $decompileitem = TrayCreateItem("Decompile .exe to Script", $extrasitem)
    TrayCreateItem("")
    $windowinfoitem = TrayCreateItem("Window Info Tool")
    TrayCreateItem("")
    $sciteitem = TrayCreateItem("SciTE Script Editor")
    TrayCreateItem("")
    $helpitem = TrayCreateMenu("Hilfe")
    $helpau3item = TrayCreateItem("AutoIt 3 Hilfe", $helpitem)
    $helpa3xitem = TrayCreateItem("AutoItX Hilfe", $helpitem)
    $helpudfitem = TrayCreateItem("User Defined Functions Notes", $helpitem)
    $helpsciteitem = TrayCreateItem("Scite4AutoIt3 Hilfe", $helpitem)
    TrayCreateItem("")
    $aboutitem = TrayCreateItem("About")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")

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

    TraySetState()

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

    Do
    $msg = TrayGetMsg()

    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $neuitem
    $select = FileSaveDialog("Zielverzeichnis wählen", @MyDocumentsDir, "AutoIt 3 Skript (*.au3)", 1 + 4, "NewScript")
    ShellExecute($select)
    Case $msg = $v2tov3item
    Run(@WorkingDir & "\Programme\AutoIt_v3\Extras\v2_to_v3_Converter\AutoItV2toV3.exe")
    Case $msg = $decompileitem
    Run(@WorkingDir & "\Programme\AutoIt_v3\Extras\Exe2Aut\Exe2Aut.exe")
    Case $msg = $windowinfoitem
    Run(@WorkingDir & "\Programme\AutoIt_v3\Au3Info.exe")
    Case $msg = $sciteitem
    Run(@WorkingDir & "\Programme\AutoIt_v3\SciTE\SciTE.exe")
    Case $msg = $helpau3item
    ShellExecute(@WorkingDir & "\Programme\AutoIt_v3\Help\AutoIt3.chm")
    Case $msg = $helpa3xitem
    ShellExecute(@WorkingDir & "\Programme\AutoIt_v3\AutoItX\AutoItX.chm")
    Case $msg = $helpudfitem
    ShellExecute(@WorkingDir & "\Programme\AutoIt_v3\UDFs3.chm")
    Case $msg = $helpsciteitem
    ShellExecute(@WorkingDir & "\Programme\AutoIt_v3\SciTE\Scite4AutoIt3.chm")
    Case $msg = $aboutitem
    Run(@WorkingDir & "\Programme\AutoIt_v3\Info.exe")
    EndSelect
    Until $msg = $exititem
    ;ShellExecute(@WindowsDir & "\regedit.exe", "/S UnRegister-Autoit.reg")
    Run(@WorkingDir & "\Programme\AutoIt_v3\Unregister.exe")
    Exit

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

    Registrierung bei Programmstart

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.2.0
    Author: leechy a.k.a Greenhorn

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

    Script Function:
    Register.

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

    #ce ----------------------------------------------------------------------------

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

    ; Registry Keys hinzufügen

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

    ; Func Register()

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

    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt","InstallDir", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt","Version", "REG_SZ", "v3.2.2.0")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script", "", "REG_SZ", "AutoIt v3 Script")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\DefaultIcon")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\DefaultIcon", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\Icons\filetype1.ico")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell", "", "REG_SZ", "Edit")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Compile")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Compile", "", "REG_SZ", "Compile Script")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Compile\Command")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Compile\Command", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\Aut2Exe\Aut2Exe.exe /in %l")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Compile with Options")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Compile with Options\Command")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Compile with Options\Command", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe /in %l")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Edit")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Edit", "", "REG_SZ", "Edit Script")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Edit\Command")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Edit\Command", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\SciTE\SciTE.exe %1")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Open")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Open", "", "REG_SZ", "Open")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Open\Command")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Open\Command", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\SciTE\SciTE.exe %1")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Run")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Run", "", "REG_SZ", "Run Script")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Run\Command")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Run\Command", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\AutoIt3.exe %1 %*")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Tidy")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Tidy\Command")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script\Shell\Tidy\Command", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\SciTE\Tidy\SciTE.exe %1")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript", "", "REG_SZ", "AutoIt v3 Encoded Script")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\DefaultIcon")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\DefaultIcon", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\Icons\filetype3.ico")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\Shell")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\Shell", "", "REG_SZ", "Run")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\Shell\Run")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\Shell\Run", "", "REG_SZ", "Run Script")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\Shell\Run\Command")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript\Shell\Run\Command", "", "REG_SZ", "\Programme\AutoIt_v3\AutoIt3\AutoIt3.exe %1 %*")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control", "", "REG_SZ", "AutoItX3 Class")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control\CLSID")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control\CLSID", "", "REG_SZ", "{1A671297-FA74-4422-80FA-6C5D8CE4DE04}")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control\CurVer")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control\CurVer", "", "REG_SZ", "AutoItX3.Control.1")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control.1")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control.1", "", "REG_SZ", "AutoItX3 Class")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control.1\CLSID")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control.1\CLSID", "", "REG_SZ", "{1A671297-FA74-4422-80FA-6C5D8CE4DE04}")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AutoIt3.exe")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AutoIt3.exe", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\AutoIt3.exe")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Aut2Exe.exe")
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Aut2Exe.exe", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\Aut2Exe\Aut2Exe.exe")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe\shell")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe\shell\open")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe\shell\open\command")
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe\shell\open\command", "", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\AutoIt3.exe %1")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","WinX", "REG_DWORD", "891")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","WinY", "REG_DWORD", "126")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","WinW", "REG_DWORD", "300")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","WinH", "REG_DWORD", "450")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","ColorMode", "REG_DWORD", "1")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","CoordMode", "REG_DWORD", "0")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","HighlightControls", "REG_DWORD", "0")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","Magnify", "REG_DWORD", "0")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","AlwaysOnTop", "REG_DWORD", "1")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\AU3Info","HighlightColor", "REG_DWORD", "0")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe","LastExeDir", "REG_SZ", "My Documents")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe","LastScriptDir", "REG_SZ", "My Documents")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe","LastIconDir", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\Aut2Exe\Icons")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe","LastIcon", "REG_SZ", "")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe","LastCompression", "REG_DWORD", "2")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe","AllowDecompile", "REG_DWORD", "1")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Aut2Exe","UseUPX", "REG_DWORD", "1")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Exe2Aut")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Exe2Aut","LastScriptDir", "REG_SZ", "C:\Dokumente und Einstellungen\Administrator\Desktop\")
    RegWrite("HKEY_CURRENT_USER\Software\AutoIt v3\Exe2Aut","LastExeDir", "REG_SZ", "F:\Temp\AutoIt3portable\Aut2Exe\")
    RegWrite("HKEY_CURRENT_USER\SOFTWARE\AutoIt v3\AutoIt", "Include", "REG_SZ", @WorkingDir & "\Programme\AutoIt_v3\Include")
    ; EndFunc

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

    Deregistrierung bei Programmende

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.2.0
    Author: leechy a.k.a Greenhorn

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

    Script Function:
    Unregister.

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

    #ce ----------------------------------------------------------------------------

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

    ; Registry Keys entfernen

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

    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3Script")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoIt3XScript")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AutoItX3.Control.1")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AutoIt3.exe")
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Aut2Exe.exe")
    RegDelete("HKEY_CURRENT_USER\Software\Classes\Applications\AutoIt3.exe")
    RegDelete("HKEY_CURRENT_USER\Software\AutoIt v3")

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

    ; Notfall Deregistrierung entfernen
    ;FileDelete(@TempDir & "\Kill.exe")
    Exit

    [/autoit]

    SplashScreen im Anhang !


    Lieben Gruß
    Greenhorn

    Edit: Habe ich ganz vergessen...
    Du musst die Pfade im Hauptscript und in der Register.au3 noch anpassen.
    Oder Du nimmst das Hauptscript als Launcher und packst die Register.exe und die Unregister.exe ins Verzeichnis Programme\AutoIt_v3\ deines Sticks.

    Habe heute von 7:00 bis 23:00 Uhr gearbeitet und bin daher zu kaputt um es selbst zu tun.
    Ich hoffe Du verzeihst mir... :P

    Dateien

    AutoIt3port.jpg 20,36 kB – 0 Downloads AutoItv3_portable.rar 763,55 kB – 481 Downloads

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™