ich hatte eben die witzige Idee, mal den zurückgelegten Weg meiner Maus(-cursor) (im Laufe des Tages/Woche/Monat...) zu messen.
Mit diesem Code hier (den ihr auch zu einer EXE machen könnt) wird der Weg gemessen. Ihr könnt die Exe dann auch in den Autostart verknüpfen, dann startet die Mauswegmesser automatisch. Der letzte Weg wird beim beenden und alle 10s gespeichert.
Code: Alles auswählen
Enumeration
#Window
#SysTrayIcon
#Menu
#MenuItem_Quit
#MenuItem_Factor
#Timer
EndEnumeration
Global Length.d, Factor.d, Time.d
Procedure SaveConfiguration()
OpenPreferences(GetEnvironmentVariable("APPDATA")+"\Mauswegmesser.ini")
WritePreferenceDouble("Factor", Factor)
WritePreferenceDouble("Length", Length)
ClosePreferences()
EndProcedure
Define OldX.i, OldY.i, X.i, Y.i, ToolTip.s, Zoll.d
UsePNGImageDecoder()
ExamineDesktops()
OpenWindow(#Window, 0, 0, 0, 0, "", #PB_Window_Invisible)
AddSysTrayIcon(#SysTrayIcon, WindowID(#Window), ImageID(CatchImage(#PB_Any, ?icon)))
CreatePopupMenu(#Menu)
MenuItem(#MenuItem_Quit, "Beenden")
MenuItem(#MenuItem_Factor, "Breite des Hauptbildschirms")
AddWindowTimer(#Window, #Timer, 10000)
If OpenPreferences(GetEnvironmentVariable("APPDATA")+"\Mauswegmesser.ini")
Factor = ReadPreferenceDouble("Factor", 0.0)
Length = ReadPreferenceDouble("Length", 0.0)
Else
Zoll = ValD(InputRequester("Einstellungen", "Bildschirmdiagonale in Zoll:", "20.0"))
Factor = Zoll * 0.0254 / Sqr(DesktopWidth(0)*DesktopWidth(0)+DesktopHeight(0)*DesktopHeight(0))
WritePreferenceDouble("Factor", Factor)
WritePreferenceDouble("Length", 0.0)
EndIf
ClosePreferences()
OldX = DesktopMouseX()
OldY = DesktopMouseY()
Repeat
Select WaitWindowEvent(50)
Case #PB_Event_CloseWindow
SaveConfiguration()
End
Case #PB_Event_SysTray
DisplayPopupMenu(#Menu, WindowID(#Window))
Case #PB_Event_Menu
Select EventMenu()
Case #MenuItem_Factor
Zoll = Factor * Sqr(DesktopWidth(0)*DesktopWidth(0)+DesktopHeight(0)*DesktopHeight(0)) / 0.0254
Zoll = ValD(InputRequester("Einstellungen", "Bildschirmdiagonale in Zoll:", StrD(Zoll)))
Factor = Zoll * 0.0254 / Sqr(DesktopWidth(0)*DesktopWidth(0)+DesktopHeight(0)*DesktopHeight(0))
SaveConfiguration()
Case #MenuItem_Quit
SaveConfiguration()
End
EndSelect
Case #PB_Event_Timer
Select EventTimer()
Case #Timer
SaveConfiguration()
EndSelect
EndSelect
X = DesktopMouseX()
Y = DesktopMouseY()
Length + Sqr((X-OldX)*(X-OldX)+(Y-OldY)*(Y-OldY)) * Factor
OldX = X
OldY = Y
ToolTip = "Zurückgelegter Weg der Maus: "
If Length < 1000
ToolTip + StrD(Length, 1)+"m"
Else
ToolTip + StrD(Length/1000, 2)+"km"
EndIf
SysTrayIconToolTip(#SysTrayIcon, ToolTip)
ForEver
DataSection
icon:
Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$4752730100000061
Data.q $0000E91CCEAE0042,$FF0044474B620600,$93A7BDA0FF00FF00,$7359487009000000,$130B0000130B0000
Data.q $000000189C9A0001,$0BDC07454D497407,$2993D6D90325170A,$5441444953020000,$4154485D939DCB38
Data.q $1229AE3FB39F8618,$12912617526614A8,$15AD145D17916B82,$758191112620A51A,$DD64991524A60419
Data.q $5EB9BB222596FE15,$56199652D4681269,$4D9D96BA9A3F460A,$A667BB8F7574C509,$9BE6E7228309558B
Data.q $00FDE19DE67978F9,$0065CAB3F4686FA8,$B79768D0D4DD75D0,$FBF7E00AAEC5EEEB,$58C4444441999439
Data.q $020407FFDC9DCD55,$A27481E0E1AD8584,$958EB5D5951CA3A3,$6D22755EB46BF4C2,$6F81742003FF19D7
Data.q $5EDB74947BB71E7E,$1AA8AADEE7C7C4B6,$D7662B4ECCC8C15B,$9A6A5DE9CAD9D666,$B33302DA68948400
Data.q $A44A4A488706065E,$04291CADAC62E475,$9C97D9420B141908,$BDA38E52B27B4607,$D05B40A40026A390
Data.q $0F1E3C4A419884B0,$B4C3505BB93B269F,$C18022E80D2910F6,$2729FD9DB8FF4910,$0730370D73EB9830
Data.q $42425869A681081D,$7C3F094828A28090,$90837E596EE579EF,$864F513FD0CC500F,$0026D9758FAE9F35
Data.q $99434258FCD34129,$02830A3232249A9A,$D1264B2D6587793F,$1D7F5B423462D317,$021081FF2C9E5981
Data.q $59391F5F6DE09D55,$31E1ACA76E37AC59,$123BC814502F0452,$AE1D2769E0C7BBDC,$9B9DE0B45818CE52
Data.q $9D537CF09F6F4DE3,$824951DA9CA3A323,$11476B1E7EDBD67A,$F17855B838730056,$136181A729570192
Data.q $7AEEE9AF3D3DE904,$8B8B8F6A6CECD05E,$0BE69F0F2C7E39CB,$E73C2A284D89898F,$BBBB0BF86CF2F058
Data.q $646061C2547C99BA,$D2DAAAA82A520739,$1E1A1D7C0FBA6CEC,$54D4CECCFC181DAA,$7F90AEB803B75D74
Data.q $0F807B31476B0D21,$BCEDFA6C0296832B,$936D696CB54566E1,$71B28B7F5C9725C5,$5B33FADFE9807AB1
Data.q $2E9F1F7F8C2625B7,$A4CD5A98127CBD2B,$FD05FA25FFE2046E,$00021AB9B59204D8,$AE444E4549000000
Data.q $0000000000826042
EndDataSection
Ich hab das Ding inzwischen Laufen, und alleine um diesen Beitrag zu schreiben und den Code zu testen, hab ich schon 50m zurückgelegt ^^