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 
