#requireadmin
$File = FileOpenDialog("Choissisez l'image pour l'écran de connection", @DesktopDir, "Images (*.jpg)", 1)
If Not @error Then
If FileGetSize($File) < 250000 Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground", "REG_DWORD", 1)
If Not FileExists(@SystemDir & "\oobe\info") Then
DirCreate(@SystemDir & "\oobe\info")
EndIf
If Not FileExists(@SystemDir & "\oobe\info\backgrounds") Then
DirCreate(@SystemDir & "\oobe\info\backgrounds")
EndIf
FileCopy($File, @SystemDir & "\oobe\info\backgrounds\backgroundDefault.jpg", 1)
MsgBox(64, "Réussi", "L'ecrant de connection a été modifier avec succés.")
ShellExecute("c:\windows\System32\rundll32.exe", "user32.dll,LockWorkStation")
Else
MsgBox(48, "Erreur", "L'image doit être inferieur a 250ko.")
EndIf
EndIf
Edit : Ne fonctionne que sur les 64 bits
Modifié en dernier par silvere le sam. 25 août 2012 13:40, modifié 2 fois.
Ceci dit si les dossiers n'existent pas avant la création du script, ça risque d'être un joyeux bordel ...
L'idée est pas mal, mais pleins de logiciels le font déjà.
[Edit]
J'ai rien dit, j'avais pas vu le FileOpenDialog. Et il y a pas d'erreurs au niveau des droits ? Tu devrais quand même vérifier que les dossiers existent avant de lancer rundll32 ...
Non, mais imagine que tes dossiers source soient inexistants à cause de droits (Parfois, même admin est insuffisant, à cause du contrôle de droits qui empêche aux admins de modifier les fichiers système), et là c'est un joyeux bordel.
Sympa comme petit script. J'aime, cependant, 250Ko ne vaut pas 250000 octets mais 256440 octets. Je te dis ça parce que j'avais une photo de 248Ko et elle n'était pas acceptée. Tu peux donc modifier ta taille max ou ton message d'erreur en mettant 241Ko.
Et, ne fonctionne pas sur un Windows 7 Pro 64 bits