DCSIMG
הגדרות שפות מקלדת למשתמשים - Gadi's Blog

Gadi's Blog

SBC, Application Delivery, Scripting ושאר ירקות

הגדרות שפות מקלדת למשתמשים

לא מכבר התעסקתי עם סקריפט אשר אמור לשייך למשתמש אשר נכנס לשרת את שפות המקלדת וההגדרות המקומיות הרלוונטיות לו (למשל יוזר גרמני אשר יתחבר לשרת, יקבל סביבה עם מקלדת גרמנית ואנגלית ו Regional Setting גרמנים).

המקלדות שהמשתמש יקבל מוגדרות ב HKCU\Keyboard Layout\Preload וכדי לקבוע את שפת ברירת המחדל ישנו כלי בשם Setlocale.exe, כדי לרפרש את כל ההגדרות צריך שהמשתמש ייצא ויכנס בחזרה.
עד כאן הכל טוב ויפה ובידיעה שכל התהליך עובד ללא בעיה ב windows 2000 הסתבר לי לאחר נסיונות שונים שזה לא בדיוק עובד ב windows 2003, למעשה המשתמש יקבל את המקלדות שהוגדרו, אבל מסיבה לא ברורה ה word לא מקבל את ההגדרות ומסרב לשתף פעולה...

ופה בא לעזרתי סקריפט נחמד מאוד שמצאתי אשר עושה refresh להגדרות העכבר והמקלדת (עניין העכבר לא רלוונטי לנו, ככה שאפשר להתעלם בגדול מהחלק הזה) ובנוסף לזה, הוא גם מבטל את הצורך ב logoff בכדי שהמשתמש יקבל את ההגדרות.

הסקריפט:

Option Explicit

On Error Resume Next

Dim Shell, Run, Preload, Substitute

Set Shell = WScript.CreateObject("WScript.Shell")

If Shell.RegRead("HKCU\Control Panel\Mouse\SwapMouseButtons") = 1 then

Run = Shell.run("rundll32 user32.dll,SwapMouseButton", 1, True)

End If

Preload = Shell.RegRead("HKCU\Keyboard Layout\Preload\1")

Substitute = Shell.RegRead("HKCU\Keyboard Layout\Substitutes\" & Preload)

If Substitute = "" then

Run = Shell.run("Setlocale.exe " & "0000" & right(Preload,4) & " " & "0000" & right(Preload,4), 1, True)

else

Run = Shell.run("Setlocale.exe " & "0000" & right(Preload,4) & " " & Substitute, 1, True)

End IF

שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 7 and 1 and type the answer here:


Enter the numbers above: