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

Beiträge von Micha_he

  • DesktopWetter

    • Micha_he
    • 7. August 2009 um 07:54
    Zitat von FunH@cker

    man könnte das skript verbessern wenn man in der ini sein standort eingeben könnte und wird das automatisch erkannt :D

    Siehe:

    [autoit]

    $plz = IniRead("Wetter.ini", "Settings", "PLZ", 29259)

    [/autoit]
  • DesktopWetter

    • Micha_he
    • 6. August 2009 um 22:57

    Es liegt an meinem Hintergrundbild. Mit einem anderen Bild im Hintergrund geht es.

    Hier das Bild mal für euch zum Testen. Vielleicht findet ja jemand das Problem...

    Edit: Auch einige der Windows XP Bilder gehen nicht, andere funktionieren wiederum.

  • DesktopWetter

    • Micha_he
    • 6. August 2009 um 20:58

    Scheinbar geht das Script, wenn kein Hintergrundbild angegeben ist, gar nicht !

  • DesktopWetter

    • Micha_he
    • 5. August 2009 um 23:00

    Ich benutze keine INI ! Deswegen hatte ich ja Deinen Default-Wert "0" für $posX. Warum sollte ich eine nutzen, Du definierst doch alle Werte per Default beim IniRead().

    Ich habe noch etwas was ich nicht finden kann. Das "weather.gif" ist 52x52 Pixel groß. Das Bild soll ja per _GDIPlus_GraphicsDrawImage() hineinkopiert werden. Nur ist es dann im Ergebnis bestimmt 3-4 mal so groß wie im Original. Deswegen ist wahrscheinlich die Gradangabe auch dahinter !

  • DesktopWetter

    • Micha_he
    • 5. August 2009 um 22:10

    Irgendwas mit der Position passt nicht.

    Wenn ich für PosX und PosY jeweils 200 ins Script eintrage, erscheint das Wetter-Symbol auf dem rechten Bildschirmrand (1280x1024) !

    Außerdem wird die Temperatur genau hinter der Grafik angezeigt. Siehe Bild... ich hoffe das Hochladen klappt.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • DesktopWetter

    • Micha_he
    • 5. August 2009 um 21:29

    Nein, ich nutze auch XP. Nur, wenn nicht notwendig, ohne Adminrechte.

    Edit: Das Script holt sich das Hintergrundbild, ändert die Registry, holt das Weather.gif und auch die Temperatur. Nur im dann erzeugten Bild ist nichts zu sehen. Deswegen dachte ich es funktioniert gar nicht. Er zeigt bei mir nur immer das gleiche (nicht das selbe) Bild an.

  • DesktopWetter

    • Micha_he
    • 5. August 2009 um 19:07

    Idee gut, nur funktionieren tut es bei mir nicht. Weder als User (spiechert das aktuelle Desktopbild als BMP und legt dann eine Dauerpause ein) noch als Administrator (speichert scheinbar kein Bild, löscht aber den Hintergrund beim beenden).

  • verbindung mit wlan

    • Micha_he
    • 29. Juli 2009 um 16:55

    Ich habe mal etwas realisiert, was Dir helfen könnte. Siehe hier: Klick

    Dort wird die Funktion "_TCPSendFile" genutzt. Diese ist aber nicht von mir...

  • verbindung mit wlan

    • Micha_he
    • 28. Juli 2009 um 21:00

    Der Client muss beim TCPConnect aber die IP des Servers nutzen !

    127.0.0.1 (localhost) geht nur, wenn Client & Server auf einem Rechner sind.

  • USB Deaktivieren

    • Micha_he
    • 28. Juli 2009 um 20:57

    Ein x-beliebiges ? Also das Script kann sich per Zufall eines aussuchen ? Was hat das denn für einen Hintergrund ?

    Nein mal im ernst... Ein bischen mehr Erklärung wäre schon nötig.

    - ein einzelnes, definiertes Gerät ? Worum handelt es sich ?
    - eine ganze USB-Geräteklasse (Drucker, Speicher, ...) ? Welche ?
    - alle USB-Geräte ?

  • EXCEL Zelle mit einem "mailto" - wie mache ich einen Klick/Doppelklick? (mit Tastatur)

    • Micha_he
    • 28. Juli 2009 um 12:26

    Wenn in Deiner Zelle nur die reine Mailadresse steht, sollte es ja auch wie folgt aussehen:

    [autoit]

    #include <INet.au3>
    #Include <Excel.au3>
    $oXLS = _ExcelBookAttach(@DesktopDir & '\Microsoft Excel - Mappe5.xls')
    $MailTo = _ExcelReadCell($oXLS, 3, 9) ;lese aus I3
    If $MailTo <> "" Then _INetMail($MailTo, "Betreff", "Text")

    [/autoit]
  • Abfrage in der Registry ob ein bestimmtes Programm installiert ist

    • Micha_he
    • 19. Juli 2009 um 16:39

    Du kannst das natürlich so abfragen und es funktioniert auch, solange das 'CURRENT' das ControlSet 1 ist.

    Schau Dir mal den Schlüssel "HKEY_LOCAL_MACHINE\SYSTEM\Select" an. Hier steht welches ControlSet das aktuell, das Default bzw. das "letzte als funktionierend bekannte" ist.

    Solange nichts an Deinem System passiert, nimmt er immer wieder das gleiche. Nur wenn diese mal wechselt, dann funktioniert Dein Script nicht mehr richtig. Und wenn Du Dein Script auf verschiedenen Rechnern startest, hast Du den Effekt, das es auf einigen einwandfrei läuft und auf einigen eben nicht (bei denen eben das ControlSet002 das aktuelle ist).

    Das "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet" ist nur eine "KOPIE" (eigentlich nur ein Alias) von einem der ControlSet's.

  • Abfrage in der Registry ob ein bestimmtes Programm installiert ist

    • Micha_he
    • 17. Juli 2009 um 13:43
    Zitat von JeanLuc2204

    RegRead("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001

    Das ist ganz gefährlich !

    Nimm lieber "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet...".

    Denn Du weißt nie, wie lange das CurrentControlSet das ControlSet001 bleibt bzw. ist.

  • jpgs über lan senden

    • Micha_he
    • 12. Juli 2009 um 17:09

    Entschuldigung. Das Script in dem angegebenen Thema war noch die ältere Variante. Jetzt ist die neue Version hochgeladen.

    Für Dich interessant ist ja im Server der Teil um Zeile 114 (Versand per TCP) und im Client der Bereich um Zeile 34 (Empfang des Bildes).

  • jpgs über lan senden

    • Micha_he
    • 12. Juli 2009 um 10:32

    Ich habe da mal etwas geschrieben, um remote einen Scanvorgang auszulösen. Dabei wird das Bild auch als JPG versendet.

    Schau mal hier : Klick

  • Datei-Namen auslesen

    • Micha_he
    • 8. Juli 2009 um 12:35

    Also doch der Sketch mit Heinz Becker :D

  • Dateien in Netzwerkordner auslesen (UNC-Pfad)

    • Micha_he
    • 7. Juli 2009 um 17:47

    Warum sollte das rekursive Auflisten ohne DriveMapAdd nicht laufen ?

    Folgendes geht bei mir einwandfrei:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>

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

    $array = _GetFilesFolder_Rekursiv("\\PCName\Freigabe","*")
    _ArrayDisplay($array)

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

    ;==================================================================================================
    ; Function Name: _GetFilesFolder_Rekursiv($sPath [, $sExt='*' [, $iDir=-1 [, $iRetType=0 ,[$sDelim='0']]]])
    ; Description: Rekursive Auflistung von Dateien und/oder Ordnern
    ; Parameter(s): $sPath der Basispfad für die Auflistung ('.' -aktueller Pfad, '..' -Parentpfad)
    ; $sExt Erweiterung für Dateiauswahl '*' oder -1 für alle (Standard)
    ; $iDir -1 Dateien+Ordner(Standard), 0 nur Dateien, 1 nur Ordner
    ; optional: $iRetType 0 gibt Array, 1 gibt String zurück
    ; optional: $sDelim legt Trennzeichen für Stringrückgabe fest
    ; 0 -@CRLF (Standard) 1 -@CR 2 -@LF 3 -';' 4 -'|'
    ; Return Value(s): Array (Standard) od. String mit den gefundenen Pfaden der Dateien und/oder Ordner
    ; Array[0] enthält die Anzahl der gefundenen Dateien/Ordner
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;==================================================================================================
    Func _GetFilesFolder_Rekursiv($sPath, $sExt='*', $iDir=-1, $iRetType=0, $sDelim='0')
    Global $oFSO = ObjCreate('Scripting.FileSystemObject')
    Global $strFiles = ''
    Switch $sDelim
    Case '1'
    $sDelim = @CR
    Case '2'
    $sDelim = @LF
    Case '3'
    $sDelim = ';'
    Case '4'
    $sDelim = '|'
    Case Else
    $sDelim = @CRLF
    EndSwitch
    If ($iRetType < 0) Or ($iRetType > 1) Then $iRetType = 0
    If $sExt = -1 Then $sExt = '*'
    If ($iDir < -1) Or ($iDir > 1) Then $iDir = -1
    _ShowSubFolders($oFSO.GetFolder($sPath),$sExt,$iDir,$sDelim)
    If $iRetType = 0 Then
    Local $aOut
    $aOut = StringSplit(StringTrimRight($strFiles, StringLen($sDelim)), $sDelim, 1)
    If $aOut[1] = '' Then
    ReDim $aOut[1]
    $aOut[0] = 0
    EndIf
    Return $aOut
    Else
    Return StringTrimRight($strFiles, StringLen($sDelim))
    EndIf
    EndFunc

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

    Func _ShowSubFolders($Folder, $Ext='*', $Dir=-1, $Delim=@CRLF)
    If Not IsDeclared("strFiles") Then Global $strFiles = ''
    If ($Dir = -1) Or ($Dir = 0) Then
    For $file In $Folder.Files
    If $Ext <> '*' Then
    If StringRight($file.Name, StringLen($Ext)) = $Ext Then _
    $strFiles &= $file.Path & $Delim
    Else
    $strFiles &= $file.Path & $Delim
    EndIf
    Next
    EndIf
    For $Subfolder In $Folder.SubFolders
    If ($Dir = -1) Or ($Dir = 1) Then $strFiles &= $Subfolder.Path & '\' & $Delim
    _ShowSubFolders($Subfolder, $Ext, $Dir, $Delim)
    Next
    EndFunc

    [/autoit]
  • Skript soll Skript erstellen ?

    • Micha_he
    • 2. Juli 2009 um 22:01

    Ich glaube ich habs...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    GUICreate("Out.exe mit Namen generieren")
    $NameID = GUICtrlCreateInput("",20,20,200,20)
    $generieren = GUICtrlCreateButton("Erzeuge Out.exe",20,50)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $generieren
    $name = GUICtrlRead($NameID)
    If $name = "" Then
    msgbox(0,"Fehler","Geben Sie einen Namen ein !")
    Else
    _ErzeugeExe($name)
    Msgbox(0,"Fertig","Das Script finden sie unter dem Namen 'Out.exe' im Ordner dieses Scripts.")
    Exit
    EndIf
    EndSwitch
    WEnd

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

    Func _ErzeugeExe($name)
    $fileInhalt = ""
    $fileInhalt &= '$name = "'& $name & '"' & @CRLF
    $fileInhalt &= '$Id=AgentStartup()' & @CRLF
    $fileInhalt &= 'AgentSetPosition($Id[1])' & @CRLF
    $fileInhalt &= 'AgentShow($Id[1])' & @CRLF
    $fileInhalt &= 'AgentSpeak($Id[1],"Hallo " & $name & " !")' & @CRLF
    $fileInhalt &= 'Sleep(5000)' & @CRLF
    $fileInhalt &= 'AgentShutdown($Id[0],$Id[1])' & @CRLF
    $fileInhalt &= 'Func AgentStartup($char="merlin.acs")' & @CRLF
    $fileInhalt &= ' Local $result[2]' & @CRLF
    $fileInhalt &= ' $Agent = "Agent.Control.2"' & @CRLF
    $fileInhalt &= ' If IsObj($Agent) Then' & @CRLF
    $fileInhalt &= ' $Agent = ObjGet("",$Agent)' & @CRLF
    $fileInhalt &= ' Else' & @CRLF
    $fileInhalt &= ' $Agent = ObjCreate($Agent)' & @CRLF
    $fileInhalt &= ' EndIf' & @CRLF
    $fileInhalt &= ' $Agent.Connected = 1' & @CRLF
    $fileInhalt &= ' $Agent.Characters.Load ("Rover",@WindowsDir & "\Msagent\Chars\"&$char)' & @CRLF
    $fileInhalt &= ' $A_Chr = $Agent.Characters.Character("rover")' & @CRLF
    $fileInhalt &= ' $result[0]=$Agent' & @CRLF
    $fileInhalt &= ' $result[1]=$A_Chr' & @CRLF
    $fileInhalt &= ' Return $result' & @CRLF
    $fileInhalt &= 'EndFunc' & @CRLF
    $fileInhalt &= 'Func AgentShow($CharId)' & @CRLF
    $fileInhalt &= ' $CharId.Show()' & @CRLF
    $fileInhalt &= 'EndFunc' & @CRLF
    $fileInhalt &= 'Func AgentAnimate($CharId,$AnimationName)' & @CRLF
    $fileInhalt &= ' $CharId.Play($AnimationName)' & @CRLF
    $fileInhalt &= 'EndFunc' & @CRLF
    $fileInhalt &= 'Func AgentSpeak($CharId,$Text)' & @CRLF
    $fileInhalt &= ' $CharId.Speak($Text)' & @CRLF
    $fileInhalt &= 'EndFunc' & @CRLF
    $fileInhalt &= 'Func AgentThink($CharId,$Text)' & @CRLF
    $fileInhalt &= ' $CharId.Think($Text)' & @CRLF
    $fileInhalt &= 'EndFunc' & @CRLF
    $fileInhalt &= 'Func AgentSetPosition($CharId,$X=-1,$Y=-1)' & @CRLF
    $fileInhalt &= ' If $X=-1 Then $X=@DesktopWidth/2-100' & @CRLF
    $fileInhalt &= ' If $Y=-1 Then $Y=@DesktopHeight/2-100' & @CRLF
    $fileInhalt &= ' $CharId.MoveTo ($X,$Y)' & @CRLF
    $fileInhalt &= 'EndFunc' & @CRLF
    $fileInhalt &= 'Func AgentHide($CharId)' & @CRLF
    $fileInhalt &= ' $CharId.Hide()' & @CRLF
    $fileInhalt &= 'EndFunc' & @CRLF
    $fileInhalt &= 'Func AgentShutdown($Agent,$CharId)' & @CRLF
    $fileInhalt &= ' $CharId.Hide()' & @CRLF
    $fileInhalt &= ' $CharId.Stop()' & @CRLF
    $fileInhalt &= ' $Agent.Connected = 0' & @CRLF
    $fileInhalt &= ' $Agent = ""' & @CRLF
    $fileInhalt &= 'EndFunc'

    FileDelete(@TempDir & "\GenExe.au3")
    FileWrite(@TempDir & "\GenExe.au3",$fileInhalt)

    $au3path = RegRead("HKLM\Software\AutoIt v3\AutoIt","InstallDir")
    $prg = $au3path & '\Aut2Exe\Aut2Exe.exe /in "' & @TempDir & '\GenExe.au3"'
    $prg &= ' /out "' & @ScriptDir & '\Out.exe"'
    RunWait($prg,@TempDir)
    Sleep(100)
    FileDelete(@TempDir & "\GenExe.au3")
    EndFunc

    [/autoit]
  • Anfänger Fragen, Login Maske, Buttons etc

    • Micha_he
    • 1. Juli 2009 um 12:36

    Du schreibst aber immer "Dienste/Programme".

    Du solltest Dich mal festlegen, ob es ein Dienst ist (läuft ohne Benutzeranmeldung, kann meist gestartet und gestoppt werden, hat meist kein Fenster) oder ein Programm (läuft nach der Benutzeranmeldung, muss beendet und neu gestartet werden, manchmal mit sichtbarem Fenster) ist.

    Für Dienste gibt es zahlreiche Tools und auch AutoIt-UDFs mit denen sich diese Dienste (sogar remote) starte und stoppen lassen.

  • Mikrofonlautstärke ändern?

    • Micha_he
    • 1. Juli 2009 um 12:26
    Zitat von AutoIt1989

    Nein habe ich natürlich nicht *schäm* :rolleyes: hab es aber nach deinem Tip mal gemacht und siehe das es geht :rock:

    Wenn Du sie nicht in den AutoIt-Include-Ordner gepackt hast und sie auch nicht in den Ordner mit deinem Script gelegt hast (dann hätte es nämlich auch funktioniert), was hast Du dann mit der "audio.au3" gemacht, welche ich die in Post #11 mitgeschickt haben :?::?::?:

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™