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

Beiträge von loady2

  • Dllcall geht nur teilweise

    • loady2
    • 17. Februar 2016 um 14:20

    Hi,

    auch an anderer Hardware verhält es sich so ... komisch

    ich habe die DefWindowProc-Funktion gestest, leider geht das auch nicht.
    Auch ein MouseMove(1,1) und ein Send("^") lassen den Monitor nicht angehen.
    Nur ein echter Mausstubser lässt den Bildschirm erwachen.... ich bin überfragt

  • Dllcall geht nur teilweise

    • loady2
    • 17. Februar 2016 um 13:03

    Hallo,

    ich habe ein Windows 8 Tablet an der Wand hängen, das permanent läuft. Ein Server wertet einen Bewegungsmelder aus, der bei Zutreffen ein Programm mit Parametern ausführen soll.
    Ich möchte quasi bei Bewegung im Raum eine Diashow anzeigen lassen. Diese ist über den Screensaver gelöst.
    Folgendes: Ich kann den Bildschirmschoner aktivieren, ich kann den Monitor abschalten, all das klappt. Nur anschalten lässt er sich nicht. Könnte jemand mit Erfahrung mal drübersehen?
    Laut MSDN geht das wie folgt: https://msdn.microsoft.com/en-us/library/…0(v=vs.85).aspx

    Spoiler anzeigen
    Code: Einstellungen.ini
    [Netzwerk]
    IP-Adresse=192.168.132.100
    IP-Port=1989


    Spoiler anzeigen
    AutoIt: constants.au3
    Global Const $listen_IP			= IniRead("einstellungen.ini", "Netzwerk", "IP-Adresse", "127.0.0.1")
    Global Const $listen_PORT		= IniRead("einstellungen.ini", "Netzwerk", "IP-Adresse", "1989")
    Global Const $CMD_SCREENSAVER	= "cmd_bildschirmschoner"
    Global Const $CMD_MONITOR_AN	= "cmd_monitor_an"
    Global Const $CMD_MONITOR_AUS	= "cmd_monitor_aus"
    ;~ Global Const $CMD_MOUSE_MOVE	= "cmd_mouse_move"


    Spoiler anzeigen
    AutoIt: miniserver.au3
    #include "constants.au3"
    #include <Constants.au3>
    #NoTrayIcon
    
    
    TCPStartup()
    
    
    Local $ID_socket = TCPConnect($listen_IP, $listen_PORT)
    
    
    If $CmdLine[0] >= 1 Then
       Switch $CmdLine[1]
       Case "-bildschirmschoner"
    	  TCPSend($ID_socket, $CMD_SCREENSAVER)
       Case "-an"
    	  TCPSend($ID_socket, $CMD_MONITOR_AN)
       Case "-aus"
    	  TCPSend($ID_socket, $CMD_MONITOR_AUS)
       Case Else
    	  MsgBox(0,"Fehler", $CmdLine[1] & " ist kein gültiger Paramter")
       EndSwitch
    Else
       MsgBox(0,"Fehler", "Parameter wird zwingend gebraucht" & @CRLF & @CRLF & "Bsp.:" & @CRLF & "miniserver.exe -bildschirmschoner" & @CRLF & "miniserver.exe -an" & @CRLF & "miniserver.exe -aus")
    EndIf
    
    
    TCPCloseSocket($ID_socket)
    Alles anzeigen


    Spoiler anzeigen
    AutoIt: tablet.au3
    #include "constants.au3"
    #NoTrayIcon
    
    
    TCPStartup()
    
    
    Local $ID_socket = TCPListen($listen_IP, $listen_PORT, 100)
    
    
    While True
       Local $socket_established = -1
       Local $socket_received_data = Null
    
    
       Do
    	  $socket_established = TCPAccept($ID_socket)
    	  Sleep(100)
       Until $socket_established <> -1
    
    
       $socket_received_data = TCPRecv($socket_established, 1024)
       TCPCloseSocket($socket_established)
    
    
       _do($socket_received_data)
    WEnd
    
    
    Func _do($TCP_DATA)
       Switch $TCP_DATA
       Case $CMD_SCREENSAVER
    	  Local $result = DllCall("user32.dll", "hwnd", "GetDesktopWindow")
    	  DllCall("user32.dll", "lresult", "SendMessageW", "hwnd", $result[0], "uint", 0x0112, "wparam", 0xF140, "lparam", 0)
       Case $CMD_MONITOR_AN
    	  DllCall('user32.dll', 'int', 'SendMessage', 'hwnd', WinGetHandle('[CLASS:Progman]'), 'int', 0x0112, 'int', 0xF170, 'int', -1)
       Case $CMD_MONITOR_AUS
    	  DllCall('user32.dll', 'int', 'SendMessage', 'hwnd', WinGetHandle('[CLASS:Progman]'), 'int', 0x0112, 'int', 0xF170, 'int', 2)
       EndSwitch
    EndFunc
    
    
    ;~ https://msdn.microsoft.com/en-us/library/windows/desktop/ms646360(v=vs.85).aspx
    Alles anzeigen


    Arbeitet jemand mit DLLs & Autoit?

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™