Also... Ich habe mir mal die Mühe gemacht, einen anpassungsfähigen Code zu schreiben, der bei Mausbewegung den Wallpaper wieder hidden macht, und sobald eine Zeit lang die Maus nicht bewegt wurde, wieder angezeigt wird. Es arbeitet mit einem Fenster. Hier der Code:
Code: Alles auswählen
Procedure Diff(Z1,Z2)
If Z1 > Z2
ProcedureReturn Z1-Z2
ElseIf Z2 > Z1
ProcedureReturn Z2-Z1
EndIf
EndProcedure
; get filename of current wallpaper
unibuff=AllocateMemory(2*(#MAX_PATH+1))
ansibuff=AllocateMemory(#MAX_PATH)
CoInitialize_(0)
If CoCreateInstance_(?clsid_activedesktop,0,1,?iid_iactivedesktop,@iad.IActiveDesktop)=#S_OK
!PUSH dword 0
!PUSH dword 522; 2*(#max_path+1)
!MOV eax,dword [v_unibuff]
!PUSH eax
!MOV eax,dword [v_iad]
!PUSH eax
!MOV eax, [eax]
!CALL dword [eax+16]; iad\getwallpaper(unibuff,2*(#max_path+1),0)
WideCharToMultiByte_(#CP_ACP,#WC_COMPOSITECHECK,unibuff,-1,ansibuff,#MAX_PATH,0,0)
iad\release()
EndIf
CoUninitialize_()
Wallpaper$ = PeekS(ansibuff)
FreeMemory(unibuff)
FreeMemory(ansibuff)
ME = 10 ; Maus Empfindlichkeit (min. XX Pixel-Verschiebung)
WSZ = 2 ; Zeit bis der Wallpaper kommt (sek)
ExamineDesktops()
If OpenWindow(0,0,0,DesktopWidth(0),DesktopHeight(0),"Wallpaper",#PB_Window_BorderLess)
CreateGadgetList(WindowID(0))
ID = LoadImage(#PB_Any,Wallpaper$)
ResizeImage(ID,WindowWidth(0),WindowHeight(0),#PB_Image_Raw)
ImageGadget(0,0,0,WindowWidth(0),WindowHeight(0),ImageID(ID))
OldX = DesktopMouseX()
OldY = DesktopMouseY()
ShowCursor_(0)
StickyWindow(0,#True)
Repeat
WindowEvent()
If modus = 1
If Diff(OldX,DesktopMouseX()) > ME Or Diff(OldY,DesktopMouseY()) > ME
lasttime = ElapsedMilliseconds()
Else
If ElapsedMilliseconds()-lasttime > WSZ * 1000 ; Nach 5sek Wallpaper anzeigen
modus = 0
HideWindow(0,0)
EndIf
EndIf
OldX = DesktopMouseX()
OldY = DesktopMouseY()
Else
If Diff(OldX,DesktopMouseX()) > ME Or Diff(OldY,DesktopMouseY()) > ME
modus = 1
lasttime = ElapsedMilliseconds()
HideWindow(0,1)
EndIf
OldX = DesktopMouseX()
OldY = DesktopMouseY()
EndIf
ForEver
EndIf
DataSection
clsid_activedesktop:
Data.b $00,$87,$04,$75,$1F,$EF,$D0,$11,$98,$88,$00,$60,$97,$DE,$AC,$F9
iid_iactivedesktop:
Data.b $00,$EB,$90,$F4,$40,$12,$D1,$11,$98,$88,$00,$60,$97,$DE,$AC,$F9
EndDataSection
Ich hoffe, das dir das was nützt. Er hiddet auch die Maus

Im Code hat es 2 Variablen, die beschrieben werden
Gruss
PMTheQuick
