Mauscursor systemweit verstecken
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Es macht den Desktop zum Screensaver
da muss ich mal meinen senf dazugeben:
ein ScreenSaver heißt so, weil er eine Überbeanspruchung des Monitors durch ein statisches Bild verhindert.
ein statisches Bild selber kann also kein ScreenSaver sein.
ein ScreenSaver wäre es, wenn du das bild permanent bewegst, also z.b. waagerecht durchscrollen läßt.
da muss ich mal meinen senf dazugeben:
ein ScreenSaver heißt so, weil er eine Überbeanspruchung des Monitors durch ein statisches Bild verhindert.
ein statisches Bild selber kann also kein ScreenSaver sein.
ein ScreenSaver wäre es, wenn du das bild permanent bewegst, also z.b. waagerecht durchscrollen läßt.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- blbltheworm
- Beiträge: 217
- Registriert: 22.09.2004 19:36
- Wohnort: Auf der schönen Schwäbischen Alb
Ich möchte noch kurz eines einwerfen, bevor hier die Diskutiererei los geht:
Es geht hier nicht um Sinn, oder Unsinn des von mir geschrieben Programmes, fakt ist, es hat keinen Sinn, aber es macht Spaß es zu schreiben.
Und bevor hier jetzt eine Debatte über Screensaver losgeht.
Ich weiß was Sinn & Zweck eines Screensavers ist und die aussage aus dem Desktop einen Screensaver zu machen war genau so sinnvoll wie das Programm das ich schreibe.
Es geht hier nicht um Sinn, oder Unsinn des von mir geschrieben Programmes, fakt ist, es hat keinen Sinn, aber es macht Spaß es zu schreiben.
Und bevor hier jetzt eine Debatte über Screensaver losgeht.
Ich weiß was Sinn & Zweck eines Screensavers ist und die aussage aus dem Desktop einen Screensaver zu machen war genau so sinnvoll wie das Programm das ich schreibe.
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
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:
Ich hoffe, das dir das was nützt. Er hiddet auch die Maus
Im Code hat es 2 Variablen, die beschrieben werden 
Gruss
PMTheQuick
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


Gruss
PMTheQuick

- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Was ich machen würde: Einen Screensaver selber schreiben (ist idR nur eine umbenannte .exe in .scr), der einfach sich das Hintergrundbild ausließt, und es mit "OpenScreen" einfach läd. Keine Maus - keine Störungen. UND man kann zusätzlich noch eine Screensaver-Funktion einbauen, die das Bild einfach manchmal ein bisschen verzerrt.
So bist du viel variabler
So bist du viel variabler

OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Tafkadasom2k5 hat geschrieben:Was ich machen würde: Einen Screensaver selber schreiben (ist idR nur eine umbenannte .exe in .scr), der einfach sich das Hintergrundbild ausließt, und es mit "OpenScreen" einfach läd.
AND51 hat bereits [i]vorher[/i] hat geschrieben:Das ist aber umständlich! Ich hätte es anders gelöst: Ich hätte den Pfad zum Wallpaper ermittelt und dieses dann in einem OpenScreen() oder in einem Fenster (borderless, sticky (immer im Vordergrund), genauso breit und hoch wie der Desktop) anzeigen lassen. [...]
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
A)


B) Es ging hier auch um die Umbenennung, um die Verwandschaft von exen zu SCRs.
Nennen wirs Teamwork, okay?



B) Es ging hier auch um die Umbenennung, um die Verwandschaft von exen zu SCRs.
Nennen wirs Teamwork, okay?

OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
> Nennen wirs Teamwork, okay?
Ja natürlich, Marc... Zusammenarbeiten ist immer besser als gegeneinander.
Es war ja auch nicht bös gemeint meinersets. Sorry, sollte es so interpretiert worden sein.
Ja natürlich, Marc... Zusammenarbeiten ist immer besser als gegeneinander.

Es war ja auch nicht bös gemeint meinersets. Sorry, sollte es so interpretiert worden sein.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Da hat jemand aber ein gutes Gedächtnis was Vornamen angeht 
Ansonsten: Alles klar


Ansonsten: Alles klar


OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
> Da hat jemand aber ein gutes Gedächtnis was Vornamen angeht
Och, das war ganz einfach...
Och, das war ganz einfach...

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- blbltheworm
- Beiträge: 217
- Registriert: 22.09.2004 19:36
- Wohnort: Auf der schönen Schwäbischen Alb