Von 0 bis 1023 sind doch 1024 Pixel, auch von 0 bis 767 sind auch 768 Pixel
Das hättest du dir sparen können ![]()
Beiträge von funkey
-
-
Das hätte auch geholfen:
[autoit]While 1
[/autoit]
$maus = MouseGetPos()
If GUICtrlRead($Label2) <> $maus[0] & "/" & @DesktopWidth Then GUICtrlSetData($Label2,$maus[0] & "/" & @DesktopWidth)
If GUICtrlRead($Label4) <> $maus[1] & "/" & @DesktopHeight Then GUICtrlSetData($Label4,$maus[1] & "/" & @DesktopHeight)
WEndThreads werden hier nicht gelöscht. Einfach ersten Beitrag editieren und auf 'gelöst' stellen.
-
Ich hatte das Problem nicht, da ich ja mit den Einstellungen von Post 2 gearbeitet habe, also einfach Rahmen und Titelleiste wegezählt habe.
Das hat Progandy ja jetzt elegant gelöst.
-
War diese Frage jetzt ernst gemeint
[autoit]
$x = IniRead($ini, "Settings", "x", "0")
[/autoit]
$y = IniRead($ini, "Settings", "y", "0") -
Da wird wohl die Titelleiste irgendwie nicht mitgerechnet, also am besten:
[autoit]IniWrite($ini, "Settings", "w", $WinPos[2]-8)
[/autoit]
IniWrite($ini, "Settings", "h", $WinPos[3]-27) -
Wieso testest du es nicht einfach?
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include '_MouseHover.au3'GUICreate("My GUI")
[/autoit] [autoit][/autoit] [autoit]
$Button = GUICtrlCreateButton("my picture button", 10, 20, 40, 40, $BS_ICON)
GUICtrlSetImage(-1, "shell32.dll", 22)$Pic = GUICtrlCreatePic(@SystemDir & "\oobe\images\backup.jpg", 80, 80,32,32)
[/autoit] [autoit][/autoit] [autoit]_HoverAddCtrl($Button)
[/autoit] [autoit][/autoit] [autoit]
_HoverAddCtrl($Pic)
AdlibEnable("_ProcessHover", 50)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEndFunc _HoverFound($ControlID)
[/autoit] [autoit][/autoit] [autoit]
Switch $ControlID
Case $Button
GUICtrlSetImage($Button, "shell32.dll", 23)
Case $Pic
GUICtrlSetImage($Pic, @SystemDir & "\oobe\images\backover.jpg")
EndSwitch
EndFuncFunc _HoverLost($ControlID)
[/autoit] [autoit][/autoit] [autoit]
Switch $ControlID
Case $Button
GUICtrlSetImage($Button, "shell32.dll", 22)
Case $Pic
GUICtrlSetImage($Pic, @SystemDir & "\oobe\images\backup.jpg")
EndSwitch
EndFuncFunc _ProcessHover()
[/autoit]
$ControlID = _HoverCheck()
If IsArray($ControlID) Then
If $ControlID[0] = "AcquiredHover" Then
_HoverFound($ControlID[1])
Else
_HoverLost($ControlID[1])
EndIf
EndIf
EndFunc -
Die MouseHover-UDF funktioniert ganz gut. Hab mal ein kleines Beispiel zusammengewürfelt. Das sollte die weiterhelfen.
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include '_MouseHover.au3'GUICreate("My GUI")
[/autoit] [autoit][/autoit] [autoit]
$Button = GUICtrlCreateButton("my picture button", 10, 20, 40, 40, $BS_ICON)
GUICtrlSetImage(-1, "shell32.dll", 22)_HoverAddCtrl($Button)
[/autoit] [autoit][/autoit] [autoit]
AdlibEnable("_ProcessHover", 50)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEndFunc _HoverFound($ControlID)
[/autoit] [autoit][/autoit] [autoit]
Switch $ControlID
Case $Button
GUICtrlSetImage(-1, "shell32.dll", 23)
EndSwitch
EndFuncFunc _HoverLost($ControlID)
[/autoit] [autoit][/autoit] [autoit]
Switch $ControlID
Case $Button
GUICtrlSetImage(-1, "shell32.dll", 22)
EndSwitch
EndFuncFunc _ProcessHover()
[/autoit]
$ControlID = _HoverCheck()
If IsArray($ControlID) Then
If $ControlID[0] = "AcquiredHover" Then
_HoverFound($ControlID[1])
Else
_HoverLost($ControlID[1])
EndIf
EndIf
EndFunc -
[autoit]
Send(Random(1000, 9999,1))
[/autoit] -
Willkommen im Club!

-
Der Button2 wird ja nur bedingt erstellt wenn $checkbox1_6 = 1, aber wenn das nicht der Fall ist und trotzdem $Button2 abgefragt wird (Case $Button2), dann kommt es natürlich zu einem Fehler. Am besten ist immer alle Controls erstellen und bei Bedarf sichtbar oder unsichtbar zu machen.
-
Kurze Erklärung:
Die Variablennamen sind etwas unglücklich gewählt (mir viel nichts besseres ein)Ausschaltzyklus = 3 bedeutet, dass falls der Bildschirm reaktiviert wurde (irgendeine Taste oder Maus), dass alle 3 Minuten ein Power_off gesendet wird.
Dauer_aus (entweder 1 oder 0) bestimmt, ob der Bildschirm überhaupt reaktiviert werden kann.Hotkeys: Strg+Alt+q zum Beenden des Programmes
Strg+Alt+m zum sofortigen Abschalten des Monitors bis zur eingestellten Einschaltzeit. -
Ich habe mir das Skript jetzt umgebaut so wie ich es brauche. Bei einem PC soll zu einer bestimmten Zeit der Monitor ausgeschaltet werden und zu einer bestimmten Zeit auch wieder ein. Funktioniert super. Einstellungen können über eine Ini-Datei vorgenommen weden.
Monitor.au3
Spoiler anzeigen
[autoit]#include <SendMessage.au3>
[/autoit] [autoit][/autoit] [autoit]
;~ #NoTrayIcon
Opt("TrayMenuMode", 1)
Opt("WinTitleMatchMode", 4)Global $Off = 2, $On = -1
[/autoit] [autoit][/autoit] [autoit]
Global $Ausschaltzyklus = IniRead("Monitor.ini","Allgemein","Ausschaltzyklus", "2")
Global $Dauer_aus = IniRead("Monitor.ini","Allgemein","Dauer_aus", "0")HotKeySet("^!q","Ende")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("^!m","Test")$hwnd = WinGetHandle('classname=Progman')
[/autoit] [autoit][/autoit] [autoit]$Hour_off = IniRead("Monitor.ini","aus","Stunde", "23")
[/autoit] [autoit][/autoit] [autoit]
$Min_off = IniRead("Monitor.ini","aus","Minute", "30")
$Sec_off = IniRead("Monitor.ini","aus","Sekunde", "00")$Hour_on = IniRead("Monitor.ini","ein","Stunde", "05")
[/autoit] [autoit][/autoit] [autoit]
$Min_on = IniRead("Monitor.ini","ein","Minute" , "00")
$Sec_on = IniRead("Monitor.ini","ein","Sekunde", "00")While 1
[/autoit] [autoit][/autoit] [autoit]
If $Hour_off = @HOUR And $Min_off = @MIN And $Sec_off = @SEC Then
$Status = "aus"
_Monitor_off($Hour_on, $Min_on, $Sec_on)
EndIf
Sleep(500)
WEndFunc _Monitor_off($Hour, $Min, $Sec)
[/autoit] [autoit][/autoit] [autoit]
$i = 0
Do
If $i < 20 Then ;nur 10 Sekunden lang ausschalten, danach sind die Monitore sowieso aus
_ToggleMonitor($hWnd, $Off)
If $Dauer_aus = 0 Then $i +=1
EndIf
Sleep(500)
If Mod(@MIN, $Ausschaltzyklus) = 0 And @SEC = "00" Then $i = 0
Until $Hour = @HOUR And $Min = @MIN And $Sec = @SEC
$Status = "ein"
_ToggleMonitor($hWnd, $On)
EndFuncFunc _ToggleMonitor($hwnd, $OnOff)
[/autoit] [autoit][/autoit] [autoit]
Local Const $WM_SYSCOMMAND = 274
Local Const $SC_MONITORPOWER = 61808
_SendMessage ($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, $OnOff)
If @error Then
MsgBox(0,"_ToggleMonitor", "_SendMessage Error: " & @error)
Exit
EndIf
EndFuncFunc Test()
[/autoit] [autoit][/autoit] [autoit]
$Status = "aus"
_Monitor_off($Hour_on, $Min_on, $Sec_on)
EndFuncFunc Ende()
[/autoit]
_ToggleMonitor($hWnd, $On)
Exit
EndFuncMonitor.ini
Spoiler anzeigen
Unter Tags darf der Bildschirm nicht dunkel werden und nachts muss er dunkel werden.
-
-
Hallo und willkommen Born_chilla
[autoit]#Include <Misc.au3>
[/autoit][autoit][/autoit][autoit]
$dll = DllOpen("user32.dll")While 1
[/autoit]
If _IsPressed("01", $dll) And (_IsPressed("A2", $dll) Or _IsPressed("A3", $dll)) Then
MsgBox(64,"Super","Es wurde Strg+Klick dedrückt! :)")
ExitLoop
EndIf
Sleep(100)
WEnd -
Mit _GUICtrlListView_GetItemText könntest du dir was basteln.
-
Einfach
[autoit]IniWrite($inifile,$section,"SR_PRJ", "C:/")
[/autoit] -
Das denke ich nicht. SEIN Programm holt die Seriennummer beim Keygen ab und soll es bei einer Installation direkt ins Setup-Programm eintragen. Sowas wird hier nicht unterstützt!
-
Du könntest bei der Funktion _printpdf RunWait anstelle von Run verwenden. Ich hoffe, dass das hilft.
-
Das 2., 3. und 4. If sollte auch ElseIf heißen.
-
Hallo Bugfix. Ich hatte gerade was ähnliches vor. Mit diesem Beispiel sieht man, dass die linke und die rechte Shifttaste vom Send-Befehl nicht so interpretiert werden, wie sie sollten.
[autoit]
Es verhält sich sehr eigenartig, wenn man einen der Send-Befehle aktiviert, aber auch ohne sie zu aktivieren nur durch Tasten drücken wird auch manchmal der Ascii-Code 10 interpretiert.?#Include <Misc.au3>
[/autoit]
While 1
;~ Send("{LSHIFT}")
;~ Send("{RSHIFT}")
If _IsPressed("10") Then ToolTip("Allgemeine Shift-Taste wurde gesendet")
If _IsPressed("A0") Then ToolTip("Linke Shift-Taste wurde gedrückt")
If _IsPressed("A1") Then ToolTip("Rechte Shift-Taste wurde gedrückt")
If _IsPressed("1B") Then ExitLoop
WEnd