Ermitteln der Aktuellen XP-Theme Sound-Files!
Verfasst: 11.09.2006 23:34
Hier mal einige Funktionen zum ermitteln der Akustischen Signale die
gerade im aktuell benutzten XP-Theme vorhanden sind.
Es werden zwar noch nicht alle unterstützt, aber die wichtigsten können
schonmal abgefragt werden. Später werde ich auch noch die anderen
Integrieren.
gerade im aktuell benutzten XP-Theme vorhanden sind.
Es werden zwar noch nicht alle unterstützt, aber die wichtigsten können
schonmal abgefragt werden. Später werde ich auch noch die anderen
Integrieren.
Code: Alles auswählen
; German forum: http://www.purebasic.fr/german/viewtopic.php?t=9902
; Author: AL90
; Date: 11.09.2006
; OS: Windows XP
; Demo: Nein
;
; Einige Funktionen zum ermitteln des jeweiligen aktuellen XP-Theme SoundFiles.
;
; Usage: WaveFile$ = Get{ThemeName}ThemeSound()
;
Procedure.s ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)
hKey.l=0
keyvalue.s=Space(1024)
DataSize.l=1024
If RegOpenKeyEx_(OpenKey,SubKey,0,#KEY_READ,@hKey)
keyvalue=""
Else
If RegQueryValueEx_(hKey,ValueName,0,0,@keyvalue,@DataSize)
keyvalue=""
Else
keyvalue=Left(keyvalue,DataSize-1)
EndIf
RegCloseKey_(hKey)
EndIf
ProcedureReturn keyvalue
EndProcedure
Procedure.s GetQuestionThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\SystemQuestion\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetExclamationThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\SystemExclamation\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetHandThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\SystemHand\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetMaximizeThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\Maximize\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetMenuThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\MenuCommand\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetMenuPopupThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\MenuPopup\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetMinimizeThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\Minimize\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetMailBeepThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\MailBeep\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetProgramErrorThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\AppGPFault\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetDefaultWarningThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\.Default\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetAsteriskThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\SystemAsterisk\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetRestoreUpThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\RestoreUp\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetRestoreDownThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\RestoreDown\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetSystemExitThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\SystemExit\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetSystemStartThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\.Default\SystemStart\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Procedure.s GetEmptyRecycleThemeSound()
Protected file$,dir$
file$=ReadRegKey(#HKEY_CURRENT_USER,"AppEvents\Schemes\Apps\Explorer\EmptyRecycleBin\.Current","")
If LCase(Left(file$,14))="%programfiles%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,14),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,15,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-14)
ElseIf LCase(Left(file$,8))="%windir%"
dir$=GetEnvironmentVariable(ReplaceString(Left(file$,8),"%",""))
If Right(dir$,1)<>"\" And Mid(file$,9,1)<>"\":dir$+"\":EndIf
dir$+Right(file$,Len(file$)-8)
EndIf
ProcedureReturn dir$
EndProcedure
Debug GetQuestionThemeSound()
Debug GetExclamationThemeSound()
Debug GetHandThemeSound()
Debug GetMaximizeThemeSound()
Debug GetMenuThemeSound()
Debug GetMenuPopupThemeSound()
Debug GetMinimizeThemeSound()
Debug GetMailBeepThemeSound()
Debug GetProgramErrorThemeSound()
Debug GetDefaultWarningThemeSound()
Debug GetAsteriskThemeSound()
Debug GetRestoreUpThemeSound()
Debug GetRestoreDownThemeSound()
Debug GetSystemExitThemeSound()
Debug GetSystemStartThemeSound()
Debug GetEmptyRecycleThemeSound()
;Debug FileSize(GetQuestionThemeSound())
;Debug FileSize(GetExclamationThemeSound())
;Debug FileSize(GetHandThemeSound())
;Debug FileSize(GetMaximizeThemeSound())
;Debug FileSize(GetMenuThemeSound())
;Debug FileSize(GetMenuPopupThemeSound())
;Debug FileSize(GetMinimizeThemeSound())
;Debug FileSize(GetMailBeepThemeSound())
;Debug FileSize(GetProgramErrorThemeSound())
;Debug FileSize(GetDefaultWarningThemeSound())
;Debug FileSize(GetAsteriskThemeSound())
;Debug FileSize(GetRestoreUpThemeSound())
;Debug FileSize(GetRestoreDownThemeSound())
;Debug FileSize(GetSystemExitThemeSound())
;Debug FileSize(GetSystemStartThemeSound())
;Debug FileSize(GetEmptyRecycleThemeSound())