Hi!
Um meine Skripte noch flexibler zu machen hatten mir die normalen Makros nicht mehr genügt. Dafür habe ich zur Ergänzung die Advanced Desktop UDF geschrieben, kurz _Desk UDF.
Man kann damit, für jeden Benutzeraccount indivuell, folgendes Abfragen:
- Die Desktoprahmenbreite
- Die Cursor Blink Rate
- Den Freiraum zwischen den Icons in px
- Die Schriftart der Iconlabels
- Die Schriftgröße der Iconlabels
- Ob der Icon gewrappt ist
- Die User-ID zu "SYSTEM\USERNAME" konvertieren
- Ob der Benutzer einen Bildschirmschoner hat
- Den genauen Pfad zum Bildschirmschoner
- Ob der Bildschirmschoner durch die Windowsanmeldung geschützt ist
- Wie lange es dauert bis der Bildschirmschoner aktiviert wird
- Den genauen Pfad zum Hintergrundbild
- Ob das Hintergrundbild gestretched ist
- Ob das Hintergrundbild gekachelt ist
-----------------------------------------------------------------------------------------------------------------
Jeder User hat eine User-ID:
0 = ;NT SYSTEM
;1 bis x = Benutzeraccounts
;x +1 = .DEFAULT
Also das Beispiel um die Iconschriftart vom 1. Benutzeraccount zu bekommen:
[autoit]_Desk_GetIconFont(1)
[/autoit]
-----------------------------------------------------------------------------------------------------------------
Index
; #INDEX# =======================================================================================================================
; Title .........: Advanced Desktop UDF
; AutoIt Version : 3+
; Description ...: Gets advsnced information about user-individual desktops
; Author(s) .....: minx
; ===============================================================================================================================
Funktionen
; #CURRENT# =====================================================================================================================
; _Desk_WallpaperTiled($Usr) - True if Wallpaper is tiled
; _Desk_WallpaperStretched($Usr) - True if wallpaper is stretched
; _Desk_GetWallpaperPath($Usr) - Returns full path for wallpaper of $Usr
; _Desk_GetScrTimeOut($Usr) - Returns the screensaver TimeOut in s
; _Desk_ScrSecure($Usr) - True is screensaver exit is secured with windows logon
; _Desk_GetScrPath($Usr) - Full path to screensaver executable
; _Desk_Scr($Usr) - True if $Usr uses a screensaver
; _Desk_GetFullUser($Usr) - Converts User-ID "$Usr" to "SYSTEM\USER"
; _Desk_IconWrapped($Usr) - True if Icon labels are wrapped
; _Desk_GetIconFontSize($Usr) - Returns font size of the icon labels in px
; _Desk_GetIconFont($Usr) - Returns the icon font name
; _Desk_GetIconSpacing($Usr) - Returns the spacing between icons in px
; _Desk_FullWindowDrag($Usr) - True if maximized windows can be draged around
; _Desk_GetCursorBlinkRate($Usr) - Returns the Cursor blink rate
; _Desk_GetBorder($Usr) - Returns the Desktop border in px
; ===============================================================================================================================
Remarks
; #REMARKS# =====================================================================================================================
; All the functions with a "Get" will return a value greater than 0.
; All the functions without are booleans and return "True" or "False".
;
; $Usr is the User-ID, in Win7 usallay: 0 = NT SYSTEM Account
; 1 to x = Normal User Accounts
; x + 1 = .DEFAULT Account
; ===============================================================================================================================
Updates gibt es im Laufe der Zeit irgendwann.
Viel Spaß damit!