Seite 1 von 2

DesktopPreferences - Screensaver, Wallpaper, Maus, Tastatur

Verfasst: 15.10.2004 07:26
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 ;) .

Verfasst: 15.10.2004 12:02
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

Verfasst: 22.10.2004 23:39
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

Verfasst: 23.10.2004 10:14
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:

Verfasst: 25.10.2004 15:34
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

Verfasst: 25.10.2004 16:13
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.

Verfasst: 10.11.2004 22:37
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...

Verfasst: 17.11.2004 20:03
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.

Verfasst: 17.11.2004 20:25
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 !

Verfasst: 17.11.2004 20:53
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 ?)