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

Beiträge von bernd670

  • Prüfen ob ein Windows Dienst gestartet ist.

    • bernd670
    • 11. Mai 2008 um 16:39

    Hallo und willkommen,

    Informationen über Dienste kann man über WMI abfragen:


    Spoiler anzeigen
    [autoit]

    ; Erstellt von AutoIt Scriptomatic
    $wbemFlagReturnImmediately=0x10
    $wbemFlagForwardOnly=0x20
    $colItems=""
    $strComputer="localhost"
    $Output=""
    $Output&="Computer: " &$strComputer & @CRLF
    $Output&="==========================================" & @CRLF
    $objWMIService=ObjGet("winmgmts:\\" &$strComputer &"\root\CIMV2")
    $colItems=$objWMIService.ExecQuery("SELECT * FROM Win32_Service", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Output&="AcceptPause: " &$objItem.AcceptPause & @CRLF
    $Output&="AcceptStop: " &$objItem.AcceptStop & @CRLF
    $Output&="Caption: " &$objItem.Caption & @CRLF
    $Output&="CheckPoint: " &$objItem.CheckPoint & @CRLF
    $Output&="CreationClassName: " &$objItem.CreationClassName & @CRLF
    $Output&="Description: " &$objItem.Description & @CRLF
    $Output&="DesktopInteract: " &$objItem.DesktopInteract & @CRLF
    $Output&="DisplayName: " &$objItem.DisplayName & @CRLF
    $Output&="ErrorControl: " &$objItem.ErrorControl & @CRLF
    $Output&="ExitCode: " &$objItem.ExitCode & @CRLF
    $Output&="InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
    $Output&="Name: " &$objItem.Name & @CRLF
    $Output&="PathName: " &$objItem.PathName & @CRLF
    $Output&="ProcessId: " &$objItem.ProcessId & @CRLF
    $Output&="ServiceSpecificExitCode: " &$objItem.ServiceSpecificExitCode & @CRLF
    $Output&="ServiceType: " &$objItem.ServiceType & @CRLF
    $Output&="Started: " &$objItem.Started & @CRLF
    $Output&="StartMode: " &$objItem.StartMode & @CRLF
    $Output&="StartName: " &$objItem.StartName & @CRLF
    $Output&="State: " &$objItem.State & @CRLF
    $Output&="Status: " &$objItem.Status & @CRLF
    $Output&="SystemCreationClassName: " &$objItem.SystemCreationClassName & @CRLF
    $Output&="SystemName: " &$objItem.SystemName & @CRLF
    $Output&="TagId: " &$objItem.TagId & @CRLF
    $Output&="WaitHint: " &$objItem.WaitHint & @CRLF
    If Msgbox(1, "WMI-Ausgabe", $Output)=2 then ExitLoop
    $Output=""
    Next
    Else
    Msgbox(0, "WMI-Ausgabe","Keine WMI-Objekte gefunden für Klasse: " & "Win32_Service")
    Endif

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

    Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) &"/" &StringMid($dtmDate, 7, 2) &"/" &StringLeft($dtmDate, 4) & " " &StringMid($dtmDate, 9, 2) &":" &StringMid($dtmDate, 11, 2) &":" &StringMid($dtmDate,13, 2))
    EndFunc

    [/autoit]
  • Buchstabenkombinationen automatisch erzeugen und in eine Datei schreiben

    • bernd670
    • 10. Mai 2008 um 09:13

    Aus der Hilfe!

    Zitat

    You can use up to 64 dimensions in an Array. The total number of entries cannot be greater than 2^24 (16 777 216).

  • Speicherbedarf bei Dateien mit Attribut A

    • bernd670
    • 9. Mai 2008 um 21:54

    Hallo,

    willst Du nur wissen wieviel Platz die Datein belegen und/oder willst Du auch die Dateinamen?

  • Problem mit DLL- Call

    • bernd670
    • 9. Mai 2008 um 21:18

    Hallo,

    ich kann mir nicht vorstellen das die Funktion schon mal funktioniert hat, die PostMessage benötigt nämlich 4 Parameter und Du übergibst nur 3!

    BOOL PostMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)

  • WinSetState('','',@sw_maximize) geht nicht wirklich

    • bernd670
    • 9. Mai 2008 um 21:08

    Hallo,

    bevor man ein maximiertes Fenster mit WinMove ändert sollt man ein @SW_RESTORE machen!


    Spoiler anzeigen
    [autoit]

    #include <array.au3>

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

    HotKeySet("!{UP}", "_MoveWindowUP")
    HotKeySet("!{DOWN}", "_MoveWindowDOWN")
    HotKeySet("!{LEFT}", "_MoveWindowLEFT")
    HotKeySet("!{RIGHT}", "_MoveWindowRIGHT")
    HotKeySet("!^{F9}", "_MoveWindowMax")

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

    While True
    Sleep(500)
    WEnd

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

    Func _MoveWindowUP()
    _MoveWindow("UP")
    EndFunc ;==>_MoveWindowUP
    Func _MoveWindowDOWN()
    _MoveWindow("DOWN")
    EndFunc ;==>_MoveWindowDOWN
    Func _MoveWindowLEFT()
    _MoveWindow("LEFT")
    EndFunc ;==>_MoveWindowLEFT
    Func _MoveWindowRIGHT()
    _MoveWindow("RIGHT")
    EndFunc ;==>_MoveWindowRIGHT
    Func _MoveWindowMax()
    _MoveWindow("Max")
    EndFunc ;==>_MoveWindowMax

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

    Func _MoveWindow($dummy)
    Local $aSize[3][5] ; [0]=Handle, [1]=Breite, [2]=Höhe, [3]=x, [4]=y
    Local $a = Opt("WinTitleMatchMode", 4)
    Local $b = Opt("WinSearchChildren", 1)
    $aSize[0][1] = @DesktopWidth
    $aSize[0][2] = @DesktopHeight

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

    Switch $dummy

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

    Case "UP"
    $aSize[1][1] = @DesktopWidth
    $aSize[2][1] = @DesktopWidth
    $aSize[1][2] = @DesktopHeight / 2
    $aSize[2][2] = @DesktopHeight / 2
    $aSize[1][3] = 0
    $aSize[2][3] = 0
    $aSize[1][4] = 0
    $aSize[2][4] = @DesktopHeight / 2
    If WinGetTitle('active', '') <> "WinSetOnTop - Set active Window with F9 on Top" Then
    If BitAND(WinGetState('active', ''), 32) = 32 Then WinSetState('active', '', @SW_RESTORE)
    WinMove('active', '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    EndIf

    Case "DOWN"
    $aSize[1][1] = @DesktopWidth
    $aSize[2][1] = @DesktopWidth
    $aSize[1][2] = @DesktopHeight / 2
    $aSize[2][2] = @DesktopHeight / 2
    $aSize[1][3] = 0
    $aSize[2][3] = 0
    $aSize[1][4] = $aSize[1][2]
    $aSize[2][4] = @DesktopHeight / 2
    If WinGetTitle('active', '') <> "WinSetOnTop - Set active Window with F9 on Top" Then
    If BitAND(WinGetState('active', ''), 32) = 32 Then WinSetState('active', '', @SW_RESTORE)
    WinMove('active', '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    EndIf

    Case "LEFT"
    $aSize[1][1] = @DesktopWidth / 2
    $aSize[2][1] = @DesktopWidth / 2
    $aSize[1][2] = @DesktopHeight
    $aSize[2][2] = @DesktopHeight
    $aSize[1][3] = 0
    $aSize[2][3] = @DesktopWidth / 2
    $aSize[1][4] = 0
    $aSize[2][4] = 0
    If WinGetTitle('active', '') <> "WinSetOnTop - Set active Window with F9 on Top" Then
    If BitAND(WinGetState('active', ''), 32) = 32 Then WinSetState('active', '', @SW_RESTORE)
    WinMove('active', '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    EndIf

    Case "RIGHT"
    $aSize[1][1] = @DesktopWidth / 2
    $aSize[2][1] = @DesktopWidth / 2
    $aSize[1][2] = @DesktopHeight
    $aSize[2][2] = @DesktopHeight
    $aSize[1][3] = $aSize[1][1]
    $aSize[2][3] = @DesktopWidth / 2
    $aSize[1][4] = 0
    $aSize[2][4] = 0
    If WinGetTitle('active', '') <> "WinSetOnTop - Set active Window with F9 on Top" Then
    If BitAND(WinGetState('active', ''), 32) = 32 Then WinSetState('active', '', @SW_RESTORE)
    WinMove('active', '', $aSize[1][3], $aSize[1][4], $aSize[1][1], $aSize[1][2] - 25)
    EndIf

    Case "Max"
    If WinGetTitle('active', '') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinSetState('active', '', @SW_MAXIMIZE);If WinGetTitle('','') <> "WinSetOnTop - Set active Window with F9 on Top" Then WinSetState('','',@sw_maximize)

    EndSwitch

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

    Opt("WinTitleMatchMode", $a)
    Opt("WinSearchChildren", $b)
    EndFunc ;==>_MoveWindow

    [/autoit]
  • Deinstallation über die Registry

    • bernd670
    • 9. Mai 2008 um 19:36

    Hallo,

    wenn ein Schlüssel entfernt wurde (uninstall) dar $a nicht erhöht werden, weil dann der nächste Schlüssel an die Position des gelöschten Schlüssels rückt!

    So sollte es gehen:

    [autoit]

    $Key = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall"
    Dim $a = 1
    While 1

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

    $var = RegEnumKey($Key, $a)

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

    If @error Then ExitLoop

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

    $regread = RegRead($Key & "\" & $var, "DisplayName")

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

    If $regread = "ScrewDrivers Client v3" Or $regread = "MetaFrame Presentation Server Client" Then
    $uninstallstring = RegRead($Key & "\" & $var, "UninstallString")

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

    $uninstallstring = StringReplace($uninstallstring, "/I", "/uninstall ")
    ;~ _RunDOS("start " & $uninstallstring & " /passive")
    RunWait($uninstallstring & " /passive")
    MsgBox(64, "Software", $regread & " wurde deinstalliert", 5)
    Else
    $a += 1
    EndIf
    WEnd

    [/autoit]
  • Getcolour in 0xFDFDFD

    • bernd670
    • 9. Mai 2008 um 19:22

    Ja!


    [autoit]

    $x = 300
    $Y = 300
    $colour = PixelGetColor($x, $y)
    MsgBox(0,"","0x" & Hex($colour,6))

    [/autoit]
  • Autoit vs. Solaris

    • bernd670
    • 9. Mai 2008 um 18:48

    Hallo,

    kannst Du nicht einfach das Datum vom lokalen Rechner mitgeben!


    [autoit]

    Send("obx SY901M " & @YEAR & @MON & @MDAY & " Y#", 1)
    Send("{Enter}")

    [/autoit]
  • Array und StringTrimLeft Probleme

    • bernd670
    • 6. Mai 2008 um 06:16

    Hallo,

    Du kannst auch statt

    [autoit]

    $ASCII_Werte[$E] = StringLeft($String, 1)
    StringTrimLeft($String, 1)

    [/autoit]


    auch

    [autoit]

    $ASCII_Werte[$E] = StringMid($String, $E, 1)

    [/autoit]


    schreiben

  • DllStructCreate & $WM_CAP_SET_VIDEOFORMAT

    • bernd670
    • 5. Mai 2008 um 21:38

    Hallo,

    Greenhorn, in deinem Code sind leider noch ein paar Fehler! ;)

    So sollte es gehen:

    Spoiler anzeigen
    [autoit]

    $tagBITMAPINFOHEADER = 'dword biSize;' & _
    'long biWidth;' & _
    'long biHeight;' & _
    'ushort biPlanes;' & _
    'ushort biBitCount;' & _
    'dword biCompression;' & _
    'dword biSizeImage;' & _
    'long biXPelsPerMeter;' & _
    'long biYPelsPerMeter;' & _
    'dword biClrUsed;' & _
    'dword biClrImportant'

    $tagRGBQUAD = 'byte rgbBlue;' & _
    'byte rgbGreen;' & _
    'byte rgbRed;' & _
    'byte rgbReserved'

    $tagBITMAPINFO = $tagBITMAPINFOHEADER & ";" & $tagRGBQUAD

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

    $tBMI = DllStructCreate($tagBITMAPINFO)

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

    DllStructSetData($tBMI, 'biSize', DllStructGetSize($tBMI) - 4) ; Anzahl der Bytes des BitmapInfoHeader = BitmapInfo - 4 Bytes von RGBQuad
    DllStructSetData($tBMI, 'biWidth', 640)
    DllStructSetData($tBMI, 'biHeight', 480)
    DllStructSetData($tBMI, 'biPlanes', 1)
    DllStructSetData($tBMI, 'biBitCount', 8)
    DllStructSetData($tBMI, 'biCompression', 0)
    DllStructSetData($tBMI, 'biSizeImage', 0)
    DllStructSetData($tBMI, 'biXPelsPerMeter', 0)
    DllStructSetData($tBMI, 'biYPelsPerMeter', 0)
    DllStructSetData($tBMI, 'biClrUsed', 0)
    DllStructSetData($tBMI, 'biClrImportant', 0)

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

    DllStructSetData($tBMI, 'rgbBlue', 0)
    DllStructSetData($tBMI, 'rgbGreen', 0)
    DllStructSetData($tBMI, 'rgbRed', 0)
    DllStructSetData($tBMI, 'rgbReserved', 0)

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

    DllCall($user, 'int', 'SendMessage', _
    'hWnd', $cap[0], _
    'int', $WM_CAP_SET_VIDEOFORMAT, _
    'wparam', DllStructGetSize($tBMI), _
    'lparam', DllStructGetPtr($tBMI))

    [/autoit]
  • GuiCtrlInput Frage -

    • bernd670
    • 5. Mai 2008 um 00:19

    Entweder so:

    [autoit]

    Send(GUICtrlRead($Schreiben))

    [/autoit]

    oder man kann es auch so machen:

    [autoit]

    $szText = GUICtrlRead($Schreiben)
    Send($szText)

    [/autoit]
  • GuiCtrlInput Frage -

    • bernd670
    • 5. Mai 2008 um 00:10

    Controls liest man mit GuiCtrlRead aus!

  • GuiCtrlInput Frage -

    • bernd670
    • 4. Mai 2008 um 23:51

    Hallo,

    Du willst wahrscheinlich den Inhalt der Inputbox ins Notepad schreiben!


    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Kevin\Eigene Dateien\Kram und so weiter\koda_2008-02-10\Forms\Form1.kxf
    $Form1 = GUICreate("Form1", 626, 328, 193, 125)
    $Notepad = GUICtrlCreateButton("Notepad", 24, 72, 81, 33, 0)
    $Schreibezeilen = GUICtrlCreateButton("Schreibezeilen", 112, 72, 81, 33, 0)
    $Schreiben = GUICtrlCreateInput("Was soll ich schreiben", 32, 136, 185, 21)
    $Pic1 = GUICtrlCreatePic("", 280, 0, 337, 321, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Notepad
    Run("notepad.exe")
    Case $Schreiben

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

    Case $Schreibezeilen
    ControlSend("[Class:Notepad]", "", "Edit1", GUICtrlRead($Schreiben))

    EndSwitch
    WEnd

    [/autoit]
  • GUI - frage zum editfeld!

    • bernd670
    • 4. Mai 2008 um 20:14

    Das ist doch eine einfache Rechenformel, auch hier gilt wie im wahren Leben Punkt- vor Strichrechnung!

    (Bildschirmbreite - Fensterbreite) / 2 + 100

    wobei "(Bildschirmbreite - Fensterbreite) / 2" Fenstermitte auf Seitenmitte setzt Plus die 100 pixel nach rechts!

    $GUI_ONTOP holt nur ein Fenster in den Vordergrund wenn andere Fenster darüberliegen!

  • GUI - frage zum editfeld!

    • bernd670
    • 4. Mai 2008 um 20:01
    [autoit]

    GUICreate("mygui",640,200,(@DesktopWidth - 640) / 2 + 100,50,$WS_POPUP,BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))

    [/autoit]
  • ftp.exe

    • bernd670
    • 4. Mai 2008 um 19:30

    Hallo,

    mit ControlSend wird es wohl nicht funktionieren!

    Über den Input-Stream der DOS-Box könnte es gehen:


    [autoit]

    #include <Constants.au3>

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

    $FTPCMD = Run("FTP", "", @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)

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

    StdinWrite($FTPCMD, "?" & @CRLF) ; help-Command an FTP senden
    StdinWrite($FTPCMD, "open localhost" & @CRLF) ; open-Command an FTP senden
    StdinWrite($FTPCMD) ; Input-Stream schliessen

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

    $data = ""
    While True
    $data &= StdoutRead($FTPCMD)
    If @error Then ExitLoop
    Sleep(25)
    WEnd
    MsgBox(0, "Debug", $data)

    [/autoit]

    oder über die FTP.au3 (da war @Pee mal wieder schneller!)

  • Rebar

    • bernd670
    • 4. Mai 2008 um 17:25

    Ein Smilie sagt mehr als tausend Worte!
    [Blockierte Grafik: http://smilie-land.de/t/e-h/hexe/hexe0008.gif]

  • GUI - frage zum editfeld!

    • bernd670
    • 4. Mai 2008 um 16:25

    ResHacker gehört in das Verzeichnis AutoIt3Wrapper unter SciTE!

  • Rebar

    • bernd670
    • 4. Mai 2008 um 14:09

    Nicht so viel Informationen auf einmal!

    Was funktioniert nicht (Quellcode wäre hilfreich)?

  • Rebar

    • bernd670
    • 4. Mai 2008 um 11:26

    Oder den Programmierern melden das es mit

    [autoit]

    Opt("ColorMode", 0) ;0=RRGGBB color, 1=BBGGRR color

    [/autoit]

    verknüpft wird!

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™