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

Beiträge von McPoldy

  • Prüfe ob rechner verfügbar ist

    • McPoldy
    • 15. April 2008 um 18:30

    Ich beziehe mich mal auf die Frage (true oder false)

    [autoit]


    MsgBox(64,"",_isAlive("www.autoit.de")) ; sollte true sein
    MsgBox(64,"",_isAlive("www.autoit1.de")) ;sollte false sein
    Func _isAlive($pcname)
    TCPStartup()
    $pcip = TCPNameToIP($pcname)
    If $pcip = "" Then Return False
    $delay = Ping($pcip, 1000)
    If @error Then Return False
    Return True
    EndFunc

    [/autoit]
  • DeeEnEs Alternative?

    • McPoldy
    • 15. April 2008 um 17:50

    So mein Beispiel ist auch fertig und getestet:

    Spoiler anzeigen
    [autoit]


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

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

    AutoIt Version: 3.2.10.0
    Author: J. Kröger (McPoldy)

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

    Script Function:
    Update von dyndns Accounts

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

    Beispiel INI Datei:

    [settings]
    dyndnsurl=test.dyndns.org
    dyndnsuser=test
    dyndnspassword=test
    updateintervall=10
    updateserver=members.dyndns.org
    updateport=80
    #ce ----------------------------------------------------------------------------
    TraySetIcon("Shell32.dll",23)
    TCPStartup()
    #include <Inet.au3>
    #include <IE.au3>
    #include <_Base64.au3>
    #include <array.au3>

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

    Local $dyndnsurl = IniRead(@ScriptDir & '\dyndnsUpdate.ini','settings','dyndnsurl','ka')
    Local $dyndnsuser = IniRead(@ScriptDir & '\dyndnsUpdate.ini','settings','dyndnsuser','ka')
    Local $dyndnspassword = IniRead(@ScriptDir & '\dyndnsUpdate.ini','settings','dyndnspassword','ka')
    Local $updateintervall = IniRead(@ScriptDir & '\dyndnsUpdate.ini','settings','updateintervall','10')
    Local $updateserver = IniRead(@ScriptDir & '\dyndnsUpdate.ini','settings','updateserver','members.dyndns.org')
    Local $updateserverIP = TCPNameToIP($updateserver)
    Local $updateport = IniRead(@ScriptDir & '\dyndnsUpdate.ini','settings','updateport','80')

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

    Local $CurrentPublicIP
    Local $CurrentDynDnsIP
    Local $IpDiff = True

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

    Local $conSocket = -1
    Local $reciv
    Local $send
    Local $result

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

    _StartUpdate()
    While 1
    Sleep(10)
    WEnd

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

    Func _StartUpdate()
    _Main()
    AdlibEnable("_Main",$updateintervall * 60 * 1000)
    EndFunc

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

    Func _Main()
    _GetIPs()
    If $IpDiff = False then
    _Update()
    if $result <> "ka" Then
    Switch StringStripWS($result,8)
    Case "badauth"
    TrayTip("badauth","The username and password pair do not match a real user.",10)
    Case "!donator"
    TrayTip("!donator","An option available only to credited users (such as offline URL) was specified, but the user is not a credited user. " & @LF & "If multiple hosts were specified, only a single !donator will be returned.",10)
    Case "good"
    TrayTip("good","The update was successful, and the hostname is now updated.",10)
    Case "nochg"
    TrayTip("nochg","The update changed no settings, and is considered abusive. Additional nochg updates will cause the hostname to become blocked.",10)
    Case "notfqdn"
    TrayTip("notfqdn","The hostname specified is not a fully-qualified domain name (not in the form hostname.dyndns.org or domain.com).",10)
    Case "nohost"
    TrayTip("nohost","The hostname specified does not exist in this user account (or is not in the service specified in the system parameter)",10)
    Case "numhost"
    TrayTip("numhost","Too many hosts (more than 20) specified in an update. Also returned if trying to update a round robin (which is not allowed)",10)
    Case "abuse"
    TrayTip("abuse","The hostname specified is blocked for update abuse.",10)
    Case "badagent"
    TrayTip("badagent","The user agent was not sent or HTTP method is not permitted (we recommend use of GET request method).",10)
    Case Else
    TrayTip("DynDnsUpdater","Update abgeschlossen auf IP: " & $CurrentPublicIP,10)
    EndSwitch
    EndIf
    EndIf
    EndFunc

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

    Func _GetIPs()
    $CurrentPublicIP = _GetIP()
    $CurrentDynDnsIP = TCPNameToIP($dyndnsurl)
    $IpDiff = ($CurrentDynDnsIP = $CurrentPublicIP)
    EndFunc

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

    Func _Update()
    $result = "ka"

    Dim $strUrl = StringFormat("http://%s:%[email='s@members.dyndns.org'][/email]/nic/update?hostname=%s&myip=%s&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG",$dyndnsuser,$dyndnspassword,$dyndnsurl,$CurrentPublicIP)

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

    $send = "GET /nic/update?hostname=" & $dyndnsurl & "&myip=" & $CurrentPublicIP & "&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG HTTP/1.0"
    $send &= "Host: members.dyndns.org" & @CRLF
    $send &= "Authorization:Basic " & _Base64Encode(StringFormat("%s:%s",$dyndnsuser,$dyndnspassword),False) & @CRLF
    $send &= "User-Agent: Company - Device - Version Number" & @CRLF
    $send &= @CRLF

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

    $conSocket= TCPConnect($updateserverIP,$updateport)
    If Not @error Then
    TCPSend($conSocket,$send)

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

    While 1
    $reciv = TCPRecv($conSocket,2048)
    If $reciv <> "" Then
    $result = StringSplit($reciv,@CRLF)
    if isarray($result) then $result = $result[$result[0]]
    ExitLoop
    EndIf
    WEnd
    EndIf
    return $result
    EndFunc

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

    Dateien

    _Base64.au3 14,31 kB – 331 Downloads
  • DeeEnEs Alternative?

    • McPoldy
    • 15. April 2008 um 06:27

    Jau möglich ist das ohne weiteres, hatte mir mal vor Jahren was zusammen gebaut in VB Script. Wenn ich mir die Url von pee ansehe und mal meine Birne anstrenge war das mit ein paar http links zu schaffen. Falls sonst keiner Lust hat, würde ich mich heute Abend mal dran setzen und was einfaches basteln, Oder besser probier mal nen bissel rum, ist doch mal ne nette Übung :)

    Einstiegsseite: Link
    Testaccount: Link

  • Inhalt aus .txt in GUI darstellen

    • McPoldy
    • 14. April 2008 um 16:32

    Nennt sich notepad.exe :rofl:

  • .ico in Ordner als Ordnerbild auswählen

    • McPoldy
    • 14. April 2008 um 06:55

    Moin um alles über Autoit laufen zu lassen, habe ich das Skript noch etwas geändert und die angepasste Funktion von BugFix eingebaut (_GetFileList).

    [autoit]


    Änderungen:
    1.01 - DllCall("shlwapi.dll","int","PathMakeSystemFolder","str",$path)
    Das wird benötigt das die Einstellung auch gleich übernommen wird
    - Parameter
    -i oder -I: Es wird ein Kontextmenü erzeugt damit man im Explorer
    das Icon mit einem Rechtsklick auf den Ordner ersetzen
    kann.
    -r oder -R: Entfernt den Kontext - Eintrag wieder entfernen
    1.02 - Es kann über das Kontextmenü gewählt werden ob Unterordner ebenfalls
    mit einem Icon versehen werden. Beim direkten ausführen kommt eine
    Abfrage.
    - Es wurde die von Bugfix angepasste Funktion _GetFileList eingebaut

    [/autoit]
    Version 1.02
    [autoit]


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

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

    AutoIt Version: 3.2.10.0
    Author: J. Kröger (McPoldy)
    Version: 1.02

    Script Function:
    Bei diesem Sktipt wird ein Ordner gewählt, und das Icon der Ordners auf das
    erste Icon gesetzt welches im Ordner ist (ICO Datei)
    Ist bereits eine Desktop.ini Datei vorhanden wird diese geändert, ist noch
    keine vorhanden wird eine erstellt.

    Änderungen:
    1.01 - DllCall("shlwapi.dll","int","PathMakeSystemFolder","str",$path)
    Das wird benötigt das die Einstellung auch gleich übernommen wird
    - Parameter
    -i oder -I: Es wird ein Kontextmenü erzeugt damit man im Explorer
    das Icon mit einem Rechtsklick auf den Ordner ersetzen
    kann.
    -r oder -R: Entfernt den Kontext - Eintrag wieder entfernen
    1.02 - Es kann über das Kontextmenü gewählt werden ob Unterordner ebenfalls
    mit einem Icon versehen werden. Beim direkten ausführen kommt eine
    Abfrage.
    - Es wurde die von Bugfix angepasste Funktion _GetFileList eingebaut
    #ce ----------------------------------------------------------------------------
    #include <File.au3>
    #include <array.au3>

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

    Local $path
    Local $search
    Local $selFolder
    Local $IcoPfad = ""
    Local $sections
    Local $var, $str

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

    If $CmdLine[0] = 0 Then
    $selFolder = FileSelectFolder("Bitte den Ordner wählen, es wird das erste Icon (*.ico) im Ordner genutzt:","",2,@MyDocumentsDir)
    If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(262436,"Abfrage","Unterordner einbeziehein?")
    Select
    Case $iMsgBoxAnswer = 6 ;Yes
    _WithSubFolders($selFolder)
    Case $iMsgBoxAnswer = 7 ;No
    _Normal($selFolder)
    EndSelect
    Else
    Switch $CmdLine[1]
    Case "-i"
    _InstReg()
    Case "-I"
    _InstReg()
    Case "-r"
    _RemoveReg()
    Case "-R"
    _RemoveReg()
    Case "-s"
    _WithSubFolders($CmdLine[2])
    Case Else
    _Normal($CmdLine[1])
    EndSwitch
    Exit
    EndIf

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

    Func _WithSubFolders($path)
    $FolderList = _GetFileList($path,"*.",1)
    For $var1 In $FolderList
    _Normal($var1)
    Next
    EndFunc

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

    Func _Normal($path)
    if _CheckForIcon($path) then _CheckForDesktopINI($path)
    EndFunc

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

    Func _CheckForIcon($path)
    $path &= "\"
    $search = FileFindFirstFile($path & "*.ico")
    If $search <> -1 Then
    $IcoPfad = FileFindNextFile($search)
    $IcoPfad = $path & $IcoPfad
    Return True
    EndIf
    return False
    EndFunc

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

    Func _CheckForDesktopINI($path)
    DllCall("shlwapi.dll","int","PathMakeSystemFolder","str",$path)
    $path &= "\desktop.ini"
    If FileExists($path) Then
    $sections = IniReadSectionNames($path)
    If Not @error Then
    For $var = 1 To $sections[0]
    $str = IniRead($path,$sections[$var],"IconFile","null")
    If $str <> "null" Then
    IniWrite($path,$sections[$var],"IconFile",$IcoPfad)
    IniWrite($path,$sections[$var],"IconIndex","0")
    Return
    EndIf
    Next
    EndIf
    $str = IniRead($path,"","IconFile","null")
    If $str <> "null" Then
    IniDelete($path,"","IconFile")
    IniDelete($path,"","IconIndex")
    IniWrite($path,".ShellClassInfo","IconFile",$IcoPfad)
    IniWrite($path,".ShellClassInfo","IconIndex","0")
    Return
    EndIf
    Else
    IniWrite($path,".ShellClassInfo","IconFile",$IcoPfad)
    IniWrite($path,".ShellClassInfo","IconIndex","0")
    Return
    EndIf
    EndFunc

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

    Func _InstReg()
    RegWrite("HKCR\directory\shell\desktop.ini","","REG_SZ", 'Ändere Ordner Icon')
    RegWrite("HKCR\directory\shell\desktop.ini\Command","","REG_SZ", @ScriptFullPath & ' "%1"')
    RegWrite("HKCR\directory\shell\desktop2.ini","","REG_SZ", 'Ändere Ordner Icon (inkl. Unterordner)')
    RegWrite("HKCR\directory\shell\desktop2.ini\Command","","REG_SZ", @ScriptFullPath & ' -s "%1"')
    EndFunc

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

    Func _RemoveReg()
    RegDelete("HKCR\directory\shell\desktop.ini\Command")
    RegDelete("HKCR\directory\shell\desktop.ini")
    RegDelete("HKCR\directory\shell\desktop2.ini\Command")
    RegDelete("HKCR\directory\shell\desktop2.ini")
    EndFunc

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

    #region Angepasste Funktion von BugFix
    ; Function: _GetFileList()
    ; Author: jos van der Zande
    ; Einbindung des $DIR_ONLY-Flag von BugFix
    Func _GetFileList($T_DIR,$T_MASK,$DIR_ONLY=0)
    Dim $N_DIRNAMES[200000] ; max number of directories that can be scanned
    Local $N_DIRCOUNT = 0
    Local $N_FILE
    Local $N_SEARCH
    Local $N_TFILE
    Local $N_OFILE
    Local $T_FILENAMES
    Local $T_FILECOUNT
    Local $T_DIRCOUNT = 1
    ; check Filemask \ for empty File-Array by GetDirOnly
    If $T_MASK = "n" Then $T_MASK = "*.no"
    ; remove the end \ If specified
    If StringRight($T_DIR,1) = "\" Then $T_DIR = StringTrimRight($T_DIR,1)
    $N_DIRNAMES[$T_DIRCOUNT] = $T_DIR
    ; Exit if base dir doesn't exists
    If Not FileExists($T_DIR) Then Return 0
    ; keep on looping until all directories are scanned
    While $T_DIRCOUNT > $N_DIRCOUNT
    $N_DIRCOUNT = $N_DIRCOUNT + 1
    ; find all subdirs in this directory and save them in a array
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\*.*")
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib( $N_TFILE ),"D") > 0 Then
    $T_DIRCOUNT = $T_DIRCOUNT + 1
    $N_DIRNAMES[$T_DIRCOUNT] = $N_TFILE
    EndIf
    Wend
    FileClose($N_SEARCH) ; find all Files that mtach the MASK
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\" & $T_MASK )
    If $N_SEARCH = -1 Then ContinueLoop
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib( $N_TFILE ),"D") = 0 Then
    $T_FILENAMES = $T_FILENAMES & $N_TFILE & @CR
    $T_FILECOUNT = $T_FILECOUNT + 1
    ;MsgBox(0,'filecount ' & $T_FILECOUNT ,$N_TFILE)
    EndIf
    Wend
    FileClose($N_SEARCH)
    Wend
    If $DIR_ONLY = 0 Then
    $T_FILENAMES = StringTrimRight($T_FILENAMES,1)
    $N_OFILE = StringSplit($T_FILENAMES,@CR)
    Return( $N_OFILE )
    Else
    ReDim $N_DIRNAMES[$N_DIRCOUNT+1]
    $N_DIRNAMES[0] = $N_DIRCOUNT
    Return $N_DIRNAMES
    EndIf
    EndFunc ;==>_GetFileList
    #endregion

    [/autoit]
  • wert einer variable speichern

    • McPoldy
    • 13. April 2008 um 18:36

    blubbstar: Warum ist die Registry sauberer, die ist doch schon zu zugemüllt genug :)

    Ich finde die Ini Datei am besten, erstens kann man so auch schon mal eine vorkonfigurierte Datei mit weiter geben und man muss sich nicht erst duch einen Wald von Reg - Einträgen hangeln. Kommt aber immer darauf an was du speichern möchtest.

  • Neues Handy ???

    • McPoldy
    • 13. April 2008 um 18:06

    Kommt darauf an, was haste für Anforderungen ans Handy?

  • Frage zu PixelSearch

    • McPoldy
    • 13. April 2008 um 09:28

    :sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping:

    Wohl war, aber es ist noch früh am morgen und ich habe erst 0,5 l Kaffee drinne, da hatte ich noch keine Lust was zu optimieren ;)

    :sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping::sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping: :sleeping:

  • Frage zu PixelSearch

    • McPoldy
    • 13. April 2008 um 09:16

    Moin,

    [autoit]


    Func _beispiel()
    Do
    ;----------------------------
    If $Irelewant = $egal Then ;|--> Der Teil ist ja erst mal fast egal,
    $auchegal ;|--> Weil der untere Teil soll ja verhindern, das dieser Teil ausgeübt werden kann,
    EndIf ;|--> in dem der zweite teil einfach mal so lange sleept bis der pixel weg ist
    ;----------------------------
    $cord = PixelSearch(651, 19, 659, 22, 0xCD3B3C) ; nach jeder do runder gucken ob der pixel da ist
    If Not @error Then
    Do
    Sleep(1000)
    $cord = PixelSearch(651, 19, 659, 22, 0xCD3B3C) ;Es muss noch mal geprüft werden ob der Pixel noch gefunden werden kann
    Until @error ;Wenn Fehler dann Do beenden und weiter gehts.
    EndIf
    Until $blub = 999999

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

    EndFunc ;==>_beispiel

    [/autoit]
  • .ico in Ordner als Ordnerbild auswählen

    • McPoldy
    • 12. April 2008 um 12:06

    @progandy: Danke hatte ich vergessen :D

    Änderungen:
    1.01 - DllCall("shlwapi.dll","int","PathMakeSystemFolder","str",$path)
    Das wird benötigt das die Einstellung auch gleich übernommen wird
    - Parameter
    -i oder -I: Es wird ein Kontextmenü erzeugt damit man im Explorer
    das Icon mit einem Rechtsklick auf den Ordner ersetzen
    kann.
    -r oder -R: Entfernt den Kontext - Eintrag wieder entfernen

    Spoiler anzeigen
    [autoit]


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

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

    AutoIt Version: 3.2.10.0
    Author: J. Kröger (McPoldy)
    Version: 1.01

    Script Function:
    Bei diesem Sktipt wird ein Ordner gewählt, und das Icon der Ordners auf das
    erste Icon gesetzt welches im Ordner ist (ICO Datei)
    Ist bereits eine Desktop.ini Datei vorhanden wird diese geändert, ist noch
    keine vorhanden wird eine erstellt.

    Änderungen:
    1.01 - DllCall("shlwapi.dll","int","PathMakeSystemFolder","str",$path)
    Das wird benötigt das die Einstellung auch gleich übernommen wird
    - Parameter
    -i oder -I: Es wird ein Kontextmenü erzeugt damit man im Explorer
    das Icon mit einem Rechtsklick auf den Ordner ersetzen
    kann.
    -r oder -R: Entfernt den Kontext - Eintrag wieder entfernen
    #ce ----------------------------------------------------------------------------

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

    Local $path
    Local $search
    Local $selFolder
    Local $IcoPfad = ""
    Local $sections
    Local $var, $str

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

    If $CmdLine[0] = 0 Then
    $selFolder = FileSelectFolder("Bitte den Ordner wählen, es wird das erste Icon (*.ico) im Ordner genutzt:","",2,@MyDocumentsDir)
    Else
    Switch $CmdLine[1]
    Case "-i"
    _InstReg()
    Case "-I"
    _InstReg()
    Case "-r"
    _RemoveReg()
    Case "-R"
    _RemoveReg()
    Case Else
    $selFolder = $CmdLine[1]
    EndSwitch
    EndIf

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

    _CheckForIcon($selFolder)
    _CheckForDesktopINI($selFolder)

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

    Func _CheckForIcon($path)
    $path &= "\"
    $search = FileFindFirstFile($path & "*.ico")
    If $search <> -1 Then
    $IcoPfad = FileFindNextFile($search)
    $IcoPfad = $path & $IcoPfad
    Return
    EndIf
    Exit 0
    EndFunc

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

    Func _CheckForDesktopINI($path)
    DllCall("shlwapi.dll","int","PathMakeSystemFolder","str",$path)
    $path &= "\desktop.ini"
    If FileExists($path) Then
    $sections = IniReadSectionNames($path)
    If Not @error Then
    For $var = 1 To $sections[0]
    $str = IniRead($path,$sections[$var],"IconFile","null")
    If $str <> "null" Then
    IniWrite($path,$sections[$var],"IconFile",$IcoPfad)
    IniWrite($path,$sections[$var],"IconIndex","0")
    Return
    EndIf
    Next
    EndIf
    $str = IniRead($path,"","IconFile","null")
    If $str <> "null" Then
    IniDelete($path,"","IconFile")
    IniDelete($path,"","IconIndex")
    IniWrite($path,".ShellClassInfo","IconFile",$IcoPfad)
    IniWrite($path,".ShellClassInfo","IconIndex","0")
    Return
    EndIf
    Else
    IniWrite($path,".ShellClassInfo","IconFile",$IcoPfad)
    IniWrite($path,".ShellClassInfo","IconIndex","0")
    Return
    EndIf
    Exit 0
    EndFunc

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

    Func _InstReg()
    RegWrite("HKCR\directory\shell\desktop.ini","","REG_SZ", 'Ändere Ordner Icon')
    RegWrite("HKCR\directory\shell\desktop.ini\Command","","REG_SZ", @ScriptFullPath & ' "%1"')
    EndFunc

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

    Func _RemoveReg()
    RegDelete("HKCR\directory\shell\desktop.ini\Command")
    RegDelete("HKCR\directory\shell\desktop.ini")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • .ico in Ordner als Ordnerbild auswählen

    • McPoldy
    • 12. April 2008 um 11:24

    Moin,

    hab mir mal was zusammengebaut, fand es eigentlich ganz lustig so was zu haben. Man muss zwar den Ordner auswählen, aber das ist glaub ich ok, es wird das erste Icon (*.ico) genommen welches im Ordner ist.

    Spoiler anzeigen
    [autoit]


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

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

    AutoIt Version: 3.2.10.0
    Author: J. Kröger (McPoldy)

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

    Script Function:
    Bei diesem Sktipt wird ein Ordner gewählt, und das Icon der Ordners auf das
    erste Icon gesetzt welches im Ordner ist (ICO Datei)
    Ist bereits eine Desktop.ini Datei vorhanden wird diese geändert, ist noch
    keine vorhanden wird eine erstellt.
    #ce ----------------------------------------------------------------------------

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

    Local $path
    Local $search
    Local $selFolder
    Local $IcoPfad = ""
    Local $sections
    Local $var, $str

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

    $selFolder = FileSelectFolder("Bitte den Ordner wählen, es wird das erste Icon (*.ico) im Ordner genutzt:","",2,@MyDocumentsDir)
    _CheckForIcon($selFolder)
    _CheckForDesktopINI($selFolder)

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

    Func _CheckForIcon($path)
    $path &= "\"
    $search = FileFindFirstFile($path & "*.ico")
    If $search <> -1 Then
    $IcoPfad = FileFindNextFile($search)
    $IcoPfad = $path & $IcoPfad
    Return
    EndIf
    Exit 0
    EndFunc

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

    Func _CheckForDesktopINI($path)
    $path &= "\desktop.ini"
    If FileExists($path) Then
    $sections = IniReadSectionNames($path)
    If Not @error Then
    For $var = 1 To $sections[0]
    $str = IniRead($path,$sections[$var],"IconFile","null")
    If $str <> "null" Then
    IniWrite($path,$sections[$var],"IconFile",$IcoPfad)
    IniWrite($path,$sections[$var],"IconIndex","0")
    Return
    EndIf
    Next
    EndIf
    $str = IniRead($path,"","IconFile","null")
    If $str <> "null" Then
    IniDelete($path,"","IconFile")
    IniDelete($path,"","IconIndex")
    IniWrite($path,".ShellClassInfo","IconFile",$IcoPfad)
    IniWrite($path,".ShellClassInfo","IconIndex","0")
    Return
    EndIf
    Else
    IniWrite($path,".ShellClassInfo","IconFile",$IcoPfad)
    IniWrite($path,".ShellClassInfo","IconIndex","0")
    Return
    EndIf
    Exit 0
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • bereits geöffnetes IE-Fenster mit IE.au3 ansprechen?

    • McPoldy
    • 12. April 2008 um 09:26

    Moin,

    das geht mit _IEAttach

    Beispiel:

    [autoit]

    #include <IE.au3>
    ; Hier erstelle ich einfach mal nen IE Fenster
    _IECreate ("www.autoitscript.com")

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

    ; Mit IEAttach kann man sich ein bestehendes IE Fenster schnappen
    $oIE = _IEAttach("Autoit")

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

    ; Mal 5 Sek. warten
    Sleep(5000)

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

    ; Das eingefangene Fenster schliessen
    _IEQuit($oIE)

    [/autoit]

    EDIT: Ups, das Edit obern erst jetzt gesehen......

  • Hilfe Videos

    • McPoldy
    • 6. April 2008 um 13:39

    Neues Video siehe oben.

  • Mehrere Befehle in einer Bildschirmzeile ?

    • McPoldy
    • 31. März 2008 um 12:10

    Habe keine Ahnung ob es geht, aber für die Übersichtilichkeit ist es mit Sicherheit nicht sinnvoll. Und das Skript wird doch nicht kleiner dadurch, sonder nur kürzer aber dafür breiter :D

    1. Befehl
    2. Befehl
    3. Befehl


    1. Befehl:2. Befehl:3. Befehl

  • AutoIt - echtes Multithreading!

    • McPoldy
    • 29. März 2008 um 17:04

    Genial, damit tun sich ganz neue Möglichkeiten auf.

    ***Tiefe Verbeugung vor progandy****

  • IniWrite Problem mit Pfad zu einer Datei

    • McPoldy
    • 29. März 2008 um 12:44

    Hi, ich gehe mal davon aus das du eine GUI verwendest? Dann klappt es bei mir so (kl. Test GUI):

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    Global $pfad_citrix
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 300, 20)
    $pfad_citrix = GUICtrlCreateLabel("", 0,0, 300, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    browse_citrix()
    MsgBox(0,'',GUICtrlRead($pfad_citrix))
    einstellungen_speichern()

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

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

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

    EndSwitch
    WEnd

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

    Func einstellungen_speichern()
    IniWrite("Fernwartung.ini", "Einstellungen", "Citrix", GUICtrlRead($pfad_citrix))
    MsgBox(64,"Bestätigung","Ihre Einstellungen wurden gespeichert.")
    EndFunc

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

    Func browse_citrix()
    $message = "Geben Sie den Pfad zur pn.exe an!"
    $var = FileOpenDialog($message, "C:\", "Datei (pn.exe)", 1 + 2)
    If @error Then
    MsgBox(4096,"","Keine Datei gewählt")
    Else
    MsgBox(0,'',$var)
    GUICtrlSetData($pfad_citrix, $var)
    EndIf
    EndFunc

    [/autoit]

    Ohne GUI:

    Spoiler anzeigen
    [autoit]


    Global $pfad_citrix

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

    browse_citrix()
    MsgBox(0,'',$pfad_citrix)
    einstellungen_speichern()

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

    Func einstellungen_speichern()
    IniWrite("Fernwartung.ini", "Einstellungen", "Citrix", $pfad_citrix)
    MsgBox(64,"Bestätigung","Ihre Einstellungen wurden gespeichert.")
    EndFunc

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

    Func browse_citrix()
    $message = "Geben Sie den Pfad zur pn.exe an!"
    $var = FileOpenDialog($message, "C:\", "Datei (pn.exe)", 1 + 2)
    If @error Then
    MsgBox(4096,"","Keine Datei gewählt")
    Else
    MsgBox(0,'',$var)
    $pfad_citrix = $var
    EndIf
    EndFunc

    [/autoit]
  • Hilfe Videos

    • McPoldy
    • 29. März 2008 um 12:29

    Hi Walle, das mit dem root Acc. daran hab ich mich schon gewöhnt, lasse die leute glaube zur Zeit für 6 oder 12 Std. sperren, aber das mit dem ftp Acc.`s finde ich öde :). Naja bis die dadrauf sind dauert es mit ner BruteForce Attacke eh ewig und drei Tage, meine Passwörter sind alle zwischen 30 und 40 Zeichen lang, haben Groß-/Kleinschreibung, Zahlen und Sonderzeichen drinne, werde aber gleich mal reinbauen das auch diese Herrschaften gespeert werden und die Zeit setze ich auch mal auf 24 Std. . Habe auch keine Ahnung was die auf meinen kl. V-Server wollen, Datein hochladen, das sehe ich sofort, was mopsen, viel Spass da ist so gut wie nix drauf :D

    Hat mich nur mal wieder geärgert der ganze Kram.

  • Hilfe Videos

    • McPoldy
    • 29. März 2008 um 08:42

    Moin,

    akira2012 ja die Videos kann ich auch zum download bereitstellen, als Format nehme ich wohl DivX, muss mal schauen wann ich das schaffe, muss zur Zeit 14 Stunden täglich arbeiten :(

    @all
    Da ich leider feststellen musste, das seit dem ich meine Videos hier veröffentlicht habe, die Anzahl der Angriffe auf meinen Server stark zugenommen haben, womit ich auch gerechnet habe, warne ich alle Vögel die meinen es sei ein Spass soetwas zu machen. Heute Nacht um ca. 2:20 hat man es wohl geschafft eine meiner Sicherheitsvorkehrungen mit einem DoS lahm zu legen, was mich natürlich zu anderen Massnahmen zwingt wie bisher. Ich stelle gerne meinen Server für solche Videos oder ähnliches zur Verfügung, nur dulde ich es nicht wenn ich auf einmal 5 User auf meinem System habe die da nix zu suchen haben. Daher meine Bitte, an die die es für lustig halten mich zu ärgern, lasst es bleiben.

  • Hilfe Videos

    • McPoldy
    • 18. März 2008 um 10:42

    Moin,

    mhh also bei mir gehen die Videos alle (FF oder IE) zur Aufnahme habe ich die Demo Version von Camtasia Studio 5 genommen. Zum Ton kann ich sagen, das liegt an meiner Soundkarte wenn es piept und knartscht, schicke mein Notebook nächste Woche mal zur Reperatur.

  • auflösung geändert

    • McPoldy
    • 15. März 2008 um 10:55

    Der Fehler sind die grossen Zahlen :)

    Zitat

    PixelSearch ( left, top, right, bottom, color [, shade-variation] [, step]] )

    So wird PixelSearch aufgerufen, und die grossen Zahlen sollten eigentlich ein Farbwert sein z. B. 0xFFFFFF dieser setzt sich aus Rot Grün Blau zusammen (RGB). Änder mal die Farben bzw. schreib die Richtigen Werte rein und teste es noch einmal.

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™