DesktopPreferences - Screensaver, Wallpaper, Maus, Tastatur

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

DesktopPreferences - Screensaver, Wallpaper, Maus, Tastatur

Beitrag von DarkDragon »

Hallo,

hier hab ich euch mal ein paar kleine Funktionen gebastelt:

Code: Alles auswählen

Procedure InitDesktopPreferences()
  Shared DesktopPreferences_Lib
  DesktopPreferences_Lib = OpenLibrary(#PB_Any, "SHLWAPI.DLL")
  If DesktopPreferences_Lib = 0
    MessageRequester("ERROR", "Couldn't open SHLWAPI.DLL")
  EndIf
EndProcedure

Procedure SetScreensaver(Val.s)
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Desktop", "SCRNSAVE.EXE", #REG_SZ, Val, Len(Val)+1)
EndProcedure

Procedure SetScreensaverActive(Val.l)
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaveActive", #REG_SZ, Str(Val), Len(Str(Val))+1)
EndProcedure

Procedure SetScreensaverTimeout(Val.l)
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Desktop", "ScreenSaveTimeOut", #REG_SZ, Str(Val), Len(Str(Val))+1)
EndProcedure

Procedure SetWallpaper(Val.s)
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Desktop", "Wallpaper", #REG_SZ, Val, Len(Val)+1)
EndProcedure

Procedure SetMouseSpeed(Val.l) ;Standard here: 2
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Mouse", "MouseSpeed", #REG_SZ, Str(Val), Len(Str(Val))+1)
EndProcedure

Procedure SetDoubleClickSpeed(Val.l) ;Standard here: 458
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Mouse", "DoubleClickSpeed", #REG_SZ, Str(Val), Len(Str(Val))+1)
EndProcedure

Procedure SwapMouseButtons(Val.l)
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Mouse", "SwapMouseButtons", #REG_SZ, Str(Val), Len(Str(Val))+1)
EndProcedure

Procedure SetKeyboardSpeed(Val.l) ;Standard here: 31
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Keyboard", "KeyboardSpeed", #REG_SZ, Str(Val), Len(Str(Val))+1)
EndProcedure

Procedure SetKeyboardDelay(Val.l) ;Standard here: 1
  Shared DesktopPreferences_Lib
  ProcedureReturn CallFunction(DesktopPreferences_Lib, "SHSetValueA", #HKEY_CURRENT_USER, "Control Panel\Keyboard", "KeyboardDelay", #REG_SZ, Str(Val), Len(Str(Val))+1)
EndProcedure

Procedure DeInitDesktopPreferences()
  Shared DesktopPreferences_Lib
  CloseLibrary(DesktopPreferences_Lib)
  DesktopPreferences_Lib = 0
EndProcedure

InitDesktopPreferences()

;Your Functions

DeInitDesktopPreferences()
Damit kann man ziemlich viel ändern. Ich glaube die Funktionsnamen und die Titelzeile dieses Topics sagen alles ;) .
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
sbehrens
Beiträge: 274
Registriert: 08.09.2004 18:41
Kontaktdaten:

Beitrag von sbehrens »

DeInit
:lol: das ist cool, gibt's das Wort wirklich? Sonst würde ich einfach
Free
benutzen, ist aber auch egal. :allright:

mfG
Basti
enjoy life... while you can!
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Beitrag von SoS »

ptI hat geschrieben:
DeInit
:lol: das ist cool, gibt's das Wort wirklich? Sonst würde ich einfach
Free
benutzen, ist aber auch egal. :allright:

mfG
Basti
Soetwas nennt man auch "Künstlerische Freiheit",das gibt dem Programm eine persönliche Note.
Mich stört sowas nicht solange es das tut was es soll 8)

Ich sage mal Danke dafür
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Hi,
Zitat:
DeInit
Laughing das ist cool, gibt's das Wort wirklich? Sonst würde ich einfach
Zitat:
Free
benutzen, ist aber auch egal. Allright

mfG
Basti
kannste ja selbst ändern :allright:
Ich sage mal Danke dafür
Bitte :)

Noch ein kleiner Tipp: stöbert selbst mal ein wenig in "HKEY_CURRENT_USER\Control Panel\Desktop" in der Registry rum. Da findet man so einiges, was man gut gebrauchen kann. :wink:
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Ich hab inzwischen Angst vor allem wo Screensaver draufsteht
http://robsite.de/php/pureboard/viewtopic.php?t=444 :twisted:
(Nimms nicht ernst DarkDragon :wink: )

KeyKon
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Ich hab inzwischen Angst vor allem wo Screensaver draufsteht
http://robsite.de/php/pureboard/viewtopic.php?t=444 Twisted Evil
(Nimms nicht ernst DarkDragon Wink )

KeyKon

Diesmal kannst du sicher gehen, denn du hast selbst den Code, und so unübersichtlich ist er auch nicht. Außerdem kannst du da den ScreenSaver ein und ausstellen. Das war auch der letzte Teil, den ich dir geschrieben hab. Da stand der selbe Code zum ausschalten drin.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@DarkDragon

also nochma langsam für die älteren semester...

mit SetScreensaver("FileName") kann ich eine eigene .exe als screensaver einsetzten ? :freak: ...oder wie...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:@DarkDragon

also nochma langsam für die älteren semester...

mit SetScreensaver("FileName") kann ich eine eigene .exe als screensaver einsetzten ? :freak: ...oder wie...
Ja, die muss alerdings speziell gecoded sein und sie muss von .exe in .scr umbenannt werden.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Robert Wünsche
Beiträge: 243
Registriert: 29.08.2004 12:46
Wohnort: Irgendwo im nirgendwo
Kontaktdaten:

Beitrag von Robert Wünsche »

:)
Ja, die muss alerdings speziell gecoded sein und sie muss von .exe in .scr umbenannt werden.
Ach ja ... exe to *.scr, wie easy, wusste ich ehrlichgesagt schon früher
.Hatte ich mit meiner alten demo gecodet --> (wer sich überzeugen möchte muss mal auf meiner homepage nachstöbern :wink: )

Tolles beispiel !
Ist zwar nur ein springender ball, aber seis drum !
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

...speziell gecodet...

....gibts da beispiele ?
....oder ne liste, welche befehle nicht verwendet werden dürfen ?
(keine window-geschichten ist schon klar...aber was geht ?)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten