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

Beiträge von Oscar

  • Computer-Info

    • Oscar
    • 17. Dezember 2009 um 21:08

    Das Problem mit mehreren Monitor ist mir bekannt (leider). Mit WMI wird nur der 1. Monitor ausgelesen. Ich habe schon alles durchsucht, aber bisher noch nichts gefunden, womit man die Informationen von allen angeschlossenen Monitoren bekommt. ?(

  • Computer-Info

    • Oscar
    • 17. Dezember 2009 um 20:53

    So, nach mehr als einem Jahr gibt es dann mal eine neue Version (v2.0) von meinem Programm. :D
    Ich habe fast alles neu geschrieben. Es gibt jetzt für die einzelnen Bereiche eigene Funktionen, die jeweils ein Array zurückgeben.
    Für die Anzeige der Informationen habe ich mich nun für TABs entschieden.
    Getestet habe ich das Script mit WindowsXP (32 Bit) und Windows7 (64 Bit). Falls ihr noch Fehler findet, bitte melden! :)

  • Zahl alle 8 sek drücken

    • Oscar
    • 16. Dezember 2009 um 18:05

    Wofür sonst braucht man solch eine Funktion?

  • Zahl alle 8 sek drücken

    • Oscar
    • 16. Dezember 2009 um 17:54

    und für welche Game soll das jetzt wieder ein Bot werden? ;(

  • Buttons mit For-Schleife abfragen

    • Oscar
    • 14. Dezember 2009 um 18:37

    Für den Fall, dass Du mal den OnEventMode benutzen möchtest (wäre hier ganz sinnvoll):

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    GUICreate("Test", 900, 600)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    Dim $Button[8]
    For $i = 1 To 7 Step 1
    $Button[$i] = GUICtrlCreateButton("Nummer: " & $i, 10, 30 * $i)
    GUICtrlSetOnEvent(-1, '_ButtonClick')
    Next
    GUISetState(@SW_SHOW)

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

    While Sleep(1000)
    WEnd

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

    Func _End()
    Exit
    EndFunc

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

    Func _ButtonClick()
    MsgBox(0, "Button gedrückt!", "Du hast auf Button '" & GUICtrlRead(@GUI_CtrlId) & "' gedrückt!")
    EndFunc

    [/autoit]
  • Vergleich

    • Oscar
    • 14. Dezember 2009 um 04:28

    Wenn man ausschließlich den ASCII-Zeichensatz verwendet, dann braucht man kein Trennzeichen, denn dann sind die Hexzahlen immer 2stellig.
    Somit kann man mit StringMid und einer For...Next-Schleife die Zahlen wieder umwandeln:

    Spoiler anzeigen
    [autoit]


    Global $String = "Hallo", $Return = ""
    $aSplit = StringSplit($String,"")
    For $i = 1 to $aSplit[0]
    $Return &= Hex(Asc($aSplit[$i]),2)
    Next
    MsgBox(0,"",$String & " = " & $Return)

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

    $String = ""
    For $i = 1 To StringLen($Return) Step 2
    $String &= Chr(Dec(StringMid($Return, $i, 2)))
    Next
    MsgBox(0, "", $Return & " = " & $String)

    [/autoit]
  • Auf vorhandene Installation überprüfen

    • Oscar
    • 14. Dezember 2009 um 04:14

    Also ich bin ja "schreibfaul". ;)
    Ich hätte die 1000 Files lieber mit 7Zip gepackt und dann das 7zip-Archiv sowie die 7zip-Exe per FileInstall integriert.
    Das Script kann dann das Archiv irgendwohin temporär entpacken. Damit würdest Du Dir auch die Zeilen mir DirCreate sparen, weil 7zip die Ordnerstruktur übernimmt/erstellt.

    Aber ansonsten ist das für ein erstes Projekt schon ganz ordentlich. :)

  • If Abfrage die auf einer grafischen Ausgabe beruht- alternativ If abfrage durch Auslesen des Speichers(_MemoryRead)

    • Oscar
    • 12. Dezember 2009 um 17:30

    Und das widerspricht den AGBs des Spielebetreibers und somit unseren Forenregeln.

    Was dazu führt, dass Du das hier zu sehen kriegst: [Thread closed]

  • WinXP deaktiviert USB-Device?! (Code 43)

    • Oscar
    • 12. Dezember 2009 um 17:11

    Es muss nicht zwangsläufig Windows daran Schuld sein. Vermutlich liegt es eher am Gerätetreiber. Wenn der auf ein Gerät zugreifen will, das von Windows abgeschaltet wurde, wird es wohl zu einer Fehlermeldung kommen. Und wenn der Treiber dann nicht entsprechend darauf reagiert, kommt es zum GAU. ;)
    Vermute ich mal...

  • WinXP deaktiviert USB-Device?! (Code 43)

    • Oscar
    • 12. Dezember 2009 um 15:23

    Ich hatte das gleiche Problem mal unter WinXP mit einem Gerät, das über USB angeschlossen war.
    Bei mir hat folgendes geholfen:

    - Gerätemanager öffnen
    - auf USB-Controller klicken (ganz unten in der Liste)
    - den entsprechenden USB-Root-Hub raussuchen (falls nicht lokalisierbar, einfach bei allen die folgende Einstellung vornehmen)
    - Doppelklick auf USB-Root-Hub
    - Tab "Energieverwaltung" auswählen und den Haken von "Computer kann Gerät ausschalten, um Energie zu sparen" wegmachen
    - Fenster mit "Ok" schließen

  • Mehrere GUIs in einem Fenster anzeigen

    • Oscar
    • 12. Dezember 2009 um 15:11

    GTASpider hatte mal ein cooles Beispiel von einer GUI in einer GUI gepostet.
    Vielleicht meinst Du ja sowas...

  • _GetSoftwareVersion(Versionsnr. aus Registry auslesen)

    • Oscar
    • 11. Dezember 2009 um 17:13

    Die Idee mit der Inidatei ist gut. :thumbup:

    Habe ich gleich mal umgesetzt. Neue Version in Post #1.

  • Auf vorhandene Installation überprüfen

    • Oscar
    • 11. Dezember 2009 um 04:52

    Ich habe mal eine erweiterte Version daraus gemacht: _GetSoftwareVersion

  • _GetSoftwareVersion(Versionsnr. aus Registry auslesen)

    • Oscar
    • 11. Dezember 2009 um 04:51

    Mit dieser Funktion kann man von diversen Programmen die installierte Version aus der Registry auslesen.

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    ;~ _GetSoftwareVersion_DisplayIni()

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

    $sVersion = _GetSoftwareVersion('firefox')
    ConsoleWrite('Error: ' & @error & @CR)
    MsgBox(0, 'Version', $sVersion)

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

    Func _GetSoftwareVersion($sSoftware)
    Local $sRegKey, $sVersion, $sInifile, $sTmp, $aSoftware
    $sInifile = @ScriptDir & '\_GetSoftwareVersion.ini'
    If @OSArch = 'X86' Then
    $sRegKey = 'HKEY_LOCAL_MACHINE\SOFTWARE\'
    Else
    $sRegKey = 'HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\'
    EndIf
    $aSoftware = IniReadSectionNames($sInifile)
    If @error Then Return SetError(1, 0, 'no Inifile')
    For $i = 1 To $aSoftware[0]
    If $aSoftware[$i] = $sSoftware Then
    $sRegKey &= IniRead($sInifile, $aSoftware[$i], 'RegKey', '')
    $sTmp = IniRead($sInifile, $aSoftware[$i], 'Version', '')
    If StringLeft($sTmp, 3) = 'Reg' Then $sVersion = Execute($sTmp)
    Return $sVersion
    EndIf
    Next
    Return SetError(2, 0, 'not found')
    EndFunc

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

    Func _GetSoftwareVersion_DisplayIni()
    Local $sInifile, $aSoftware
    $sInifile = @ScriptDir & '\_GetSoftwareVersion.ini'
    $aSoftware = IniReadSectionNames($sInifile)
    If @error Then Return SetError(1, 0, 'no Inifile')
    Local $aRegKey[$aSoftware[0] + 1][3] = [[$aSoftware[0], 0, 0]]
    For $i = 1 To $aSoftware[0]
    $aRegKey[$i][0] = $aSoftware[$i]
    $aRegKey[$i][1] = IniRead($sInifile, $aSoftware[$i], 'RegKey', '')
    $aRegKey[$i][2] = IniRead($sInifile, $aSoftware[$i], 'Version', '')
    Next
    _ArrayDisplay($aRegKey)
    EndFunc

    [/autoit]

    Außerdem wird die folgende Inidatei benötigt:

    Spoiler anzeigen
    Code
    [AdobeReader]
    RegKey="Adobe\Acrobat Reader"
    Version="RegEnumKey($sRegKey, 1)"
    [Avira AntiVir]
    RegKey="Avira\AntiVir Desktop"
    Version="RegRead($sRegKey, 'EngineVersion')"
    [AutoIt]
    RegKey="AutoIt v3\AutoIt"
    Version="RegRead($sRegKey, 'Version')"
    [AutoIt Beta]
    RegKey="AutoIt v3\AutoIt"
    Version="RegRead($sRegKey, 'betaVersion')"
    [Corel DVDCopy]
    RegKey="Corel\DVDCopy6"
    Version="RegRead($sRegKey, 'Version')"
    [DirectX]
    RegKey="Microsoft\DirectX"
    Version="RegRead($sRegKey, 'Version')"
    [DYMO LabelWriter]
    RegKey="DYMO\LabelWriter"
    Version="RegRead($sRegKey, 'SoftwareVersion')"
    [FlashPlayer]
    RegKey="Macromedia\FlashPlayer"
    Version="RegRead($sRegKey, 'CurrentVersion')"
    [JRE]
    RegKey="JavaSoft\Java Runtime Environment"
    Version="RegRead($sRegKey, 'CurrentVersion')"
    [Firefox]
    RegKey="Mozilla\Mozilla Firefox"
    Version="RegRead($sRegKey, 'CurrentVersion')"
    [Thunderbird]
    RegKey="Mozilla\Mozilla Thunderbird"
    Version="RegRead($sRegKey, 'CurrentVersion')"
    [PowerDVD]
    RegKey="CyberLink\PowerDVD"
    Version="RegRead($sRegKey, 'CLVer')"
    [VLC]
    RegKey="VideoLAN\VLC"
    Version="RegRead($sRegKey, 'Version')"
    [WMPlayer]
    RegKey="Microsoft\MediaPlayer\PlayerUpgrade"
    Version="RegRead($sRegKey, 'PlayerVersion')"
    Alles anzeigen


    Die Inidatei muss sich im Scriptverzeichnis befinden!
    Auf diese Weise läßt sich die Funktionalität einfacher erweitern. Man muss nur die Inidatei anpassen. :)

    Die zweite Funktion "_GetSoftwareVersion_DisplayIni()" dient nur dazu, sich den Inhalt der Inidatei anzeigen zu lassen. ;)

    Dateien

    GetSoftwareVersion.zip 1,17 kB – 546 Downloads
  • [Zahlen] Große Zahlen ganz ausschreiben - geht das?

    • Oscar
    • 10. Dezember 2009 um 19:28

    Du kannst auch gleich die BigInteger-UDF von eukalyptus nehmen.

  • [Zahlen] Große Zahlen ganz ausschreiben - geht das?

    • Oscar
    • 10. Dezember 2009 um 19:11

    Bei einem µIT haben wir mal BigInt-Funktionen erstellt: BigInt
    Damit solltest Du das lösen können. :)

  • Auf vorhandene Installation überprüfen

    • Oscar
    • 10. Dezember 2009 um 18:59

    Ich habe mal auf die Schnelle zwei Funktionen erstellt:

    Spoiler anzeigen
    [autoit]


    MsgBox(0,'FlashPlayer-Version',_GetFlashPlayerVersion())
    MsgBox(0,'AdobeReader-Version',_GetAdobeReaderVersion())

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

    Func _GetFlashPlayerVersion()
    Local $sVersion, $sKey
    If @OSArch = 'X86' Then
    $sKey = 'HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer'
    Else
    $sKey = 'HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Macromedia\FlashPlayer'
    EndIf
    $sVersion = RegRead($sKey, 'CurrentVersion')
    Return SetError(@error, 0, $sVersion)
    EndFunc

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

    Func _GetAdobeReaderVersion()
    Local $sVersion, $sKey
    If @OSArch = 'X86' Then
    $sKey = 'HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Acrobat Reader'
    Else
    $sKey = 'HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\Acrobat Reader'
    EndIf
    $sVersion = RegEnumKey($sKey, 1)
    Return SetError(@error, 0, $sVersion)
    EndFunc

    [/autoit]
  • Bitte um Hilfe

    • Oscar
    • 10. Dezember 2009 um 15:25

    Du wirst schon dazuschreiben müssen, um welche Seite es sich handelt, wenn Dir jemand helfen soll.
    Und wenn Du schon am schreiben bist, sag auch gleich mit welchen Browser Du darauf zugreifen willst.

  • µit Light zur WM 2010

    • Oscar
    • 10. Dezember 2009 um 12:49

    Eigentlich bin ich auch nicht so der Fußball-Fan, aber zum tippen auf der Arbeit hatte ich schonmal ein Bundesligatip-Programm ( Saison 07/08 ) gemacht.

    WM-Spiele gucke ich aber meistens, von daher wäre so ein Programm schon ganz interessant. Werde mich wohl daran versuchen. Allerdings erst im neuen Jahr. Momentan muss noch einiges anderes fertig werden. :)

  • Windows Live Messenger anzeigen

    • Oscar
    • 9. Dezember 2009 um 20:20

    Was soll das für ein Schwachsinn werden? Sowas unterstützen wir hier nicht! :cursing:

    [Thread closed]

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™