מדריך · איפה זה עובד

האם Lang Switcher פועל בחלונות של תוכניות שהופעלו כמנהל?

כן. Lang Switcher מותקן ב-C:\Program Files, ותוכנת ההתקנה יוצרת במחשב אישור משלה שמשמש רק לחתימת קוד: היא חותמת בו על Lang Switcher, משמידה מיד את המפתח, ובהסרה מוחקת גם את האישור. לכן Windows מאפשרת ל-Lang Switcher לפעול בחלונות של תוכניות שהופעלו כמנהל. במסכי בקשת ההרשאה של UAC, במסך של Ctrl+Alt+Del ובמסך הכניסה התוכנה לא יכולה ללכוד הקשות: זו מגבלה של Windows.

למה זה עובד

הרשאות מנהל — פעם אחת, בהתקנה: Lang Switcher מותקן ב-C:\Program Files\Lang_Switcher, ותוכנת ההתקנה יוצרת במחשב אישור כדי ש-Lang Switcher יפעל גם בחלונות של תוכניות שהופעלו כמנהל (המניפסט uiAccess). Lang Switcher עצמו פועל בלי הרשאות מנהל.

uiAccess הוא מנגנון של Windows עצמה: משתמשים בו גם המקלדת שעל המסך, זכוכית המגדלת והקריין. התוכנה מקבלת רשות לעבוד בחלונות ברמה גבוהה יותר, אבל לא מקבלת הרשאות מנהל. Windows נותנת את הרשות הזו רק אם קובץ התוכנה חתום בחתימה שהמחשב הזה סומך עליה ונמצא ב-C:\Program Files.

מאותה סיבה גם ההפעלה עם Windows עובדת בלי בקשת UAC: הסימון על «הפעלה עם הכניסה למערכת» לא שואל כלום.

איפה זה לא עובד

במסכי בקשת ההרשאה של UAC, במסך של Ctrl+Alt+Del ובמסך הכניסה התוכנה לא יכולה ללכוד הקשות: זו מגבלה של Windows. לשם לא מגיעה שום תוכנית מלבד המערכת עצמה.

כך גם בחלק מהמשחקים: הם קוראים את המקלדת בלי Windows ולא מקבלים החלפת טקסט. הוסיפו משחקים כאלה לחריגים.

הגרסה החלופית

אם מפעילים את תוכנת ההתקנה עם האפשרות /NOLOCALCERT, היא מתקינה את הגרסה החלופית: אותו קוד, בלי uiAccess. הגרסה החלופית עובדת בכל מקום, חוץ מחלונות של תוכניות שהופעלו כמנהל: שם למקש הקיצור אין השפעה.

אם אי אפשר להתקין את הגרסה המלאה במחשב הזה, תוכנת ההתקנה מתקינה את החלופית בעצמה. אז היא מודיעה בסוף ההתקנה בחלון: «Lang Switcher הותקן, אך הוא לא יפעל בחלונות של תוכניות שהופעלו כמנהל…» אם ראיתם את החלון הזה, כתבו למפתח: תפריט הסמל ← «כתיבה למפתח…».

שאלות ובעיותב-GitHub Issues ↖ או במייל send.me@panda-pishet-kod.dev