נעילת המחשב כך שיציג רק תוכנה מסוימת
-
@םןץףך
איזה אטרביוטים?
תביא ציטוט.
בכלל לא ראיתי אטרביוטים.במחלקה ליצירת דסקטופ, יש שם הרבה כאלה.. אבל אם הבנתי נכון אז זה אומר למהדר להשתמש בDLL שמובנים במערכת, כעין API לוינדוס.
כמו כן, אם אני משתמש במסך מגע ללא מקלדת, אז אין לי את הבעיה של ctrl+alt+delete, נכון? ואז אני לא צריך להשתמש ביצירת דסקטופ חדש וכו' אלא מספיק לפתוח דפדפן במצב קיוסק?
פורסם במקור בפורום CODE613 ב16/02/2016 08:54 (+02:00)
-
@םןץףך
איזה אטרביוטים?תביא ציטוט.
בכלל לא ראיתי אטרביוטים.במחלקה ליצירת דסקטופ, יש שם הרבה כאלה.. אבל אם הבנתי נכון אז זה אומר למהדר להשתמש בDLL שמובנים במערכת, כעין API לוינדוס.
אה...
זה?[DllImport("kernel32.dll")]
כך כותבים API בC#.
באיזה שפה\ות אתה כותב?פורסם במקור בפורום CODE613 ב16/02/2016 12:04 (+02:00)
-
Cֳ#. אבל לא הכרתי את זה..
עקרונית זה אמור לרוץ על מחשב שמחובר למחשב מגע ללא מקלדת, כך שנראה לי שאין את הבעיה של ctrl alt delete, השאלה האם יש קיצורים אחרים שצריך לבטל? כי במקלדת הוירטואלית בוינדוס 7 אני רואה שהקיצור alt tab שדרכו ניתן לצאת לשולחן העבודה עובד גם דרך המקלדת הוירטואלית.טוב, אני אנסה לבדוק זאת על מסך מגע ואעדכן.
ותודה על העזרה!פורסם במקור בפורום CODE613 ב16/02/2016 14:24 (+02:00)
-
@דוד ל.ט.
ועל הבעיה השניה הוק למקלדת.
דוגמא אני רואה כאן: http://geekswithblogs.net/aghausman/archive/2009/04/26/disable-special-keys-in-win-app-c.aspxניסיתי להעתיק את הקוד שהוא כתב, אבל הבעיה שהוא עובד עם winForm ואני מנסה עם WPF..
אז כמובן שייבאתי את הDLL של System.Windows.Forms כיון שאחרת הוא לא מכיר את הEnum שנקרא Keys..אולם, את המתודה של dispose שהוא דורס, הVS זורק לי חריג כיון שאין לי מתודה כזאת לדרוס בWPF, חיפשתי וראיתי שיש במקום OnClosed ו - OnClosing. השאלה שלי היא איך לממש זאת בWPF?
המתודה שלו היא:protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } if (ptrHook != IntPtr.Zero) { UnhookWindowsHookEx(ptrHook); ptrHook = IntPtr.Zero; } base.Dispose(disposing); }
כמו כן, ראיתי שבWPF יש את האפשרות להשתמש במתודה הזאת כדי לשלוט על צירופי המקשים:
protected override void OnPreviewKeyDown(KeyEventArgs e) { if (Keyboard.Modifiers == ModifierKeys.Alt && e.SystemKey == Key.F4 || Keyboard.Modifiers == ModifierKeys.Control && e.SystemKey == Key.Escape) { e.Handled = true; } else { base.OnPreviewKeyDown(e); } }
אבל לכאו' בשביל זה אני צריך שהדפדפן ירוץ בתוך הWPF כפקד שלו, ולא לפתוח את הדפדפן עצמו בkiosk mode, נכון?
תודה רבה מראש!
פורסם במקור בפורום CODE613 ב17/02/2016 10:33 (+02:00)
-
ניסיתי להשתמש בפונקציה הזאת:
protected override void OnPreviewKeyDown(KeyEventArgs e) { if (Keyboard.Modifiers == ModifierKeys.Alt && e.SystemKey == Key.F4 || Keyboard.Modifiers == ModifierKeys.Control || Keyboard.Modifiers == ModifierKeys.Alt || e.Key == Key.Tab || e.Key ==Key.Escape ) { e.Handled = true; } else { base.OnPreviewKeyDown(e); } }
אבל הדבר היחיד שהיא הצליחה לבטל זה את alt + F4 חוץ מזה -כלום.. alt +tab ו - ctrl + escape עובדים גם עובדים, כנראה שאין מנוס אלא להשתמש בקוד שהבאתי בשאלה הקודמת שרושם את השינויים ישירות למערכת ההפעלה, אז אצטרך להמתין לעזרכתם כיצד לעשות זאת בWPF.. או שאתייאש ואעשה זאת ב winForm.
תודה רבה רבה!!פורסם במקור בפורום CODE613 ב17/02/2016 11:07 (+02:00)
-
@םןץףך
אז כמובן שייבאתי את הDLL של System.Windows.Forms כיון שאחרת הוא לא מכיר את הEnum שנקרא Keys..
למיטב ידיעתי זה לא נקרא DLL. אלא NameSpace. (מרחב שמות).
למיטב ידיעתי
בכדי להשתמש במרחב שמות חייבים לייבא את ה DLL הספיציפי
כמובן שיש כאלה שמיובאים בדיפולט בפתיחת פרויקטפורסם במקור בפורום CODE613 ב21/02/2016 21:26 (+02:00)
-
למיטב ידיעתי
בכדי להשתמש במרחב שמות חייבים לייבא את ה DLL הספיציפי
כמובן שיש כאלה שמיובאים בדיפולט בפתיחת פרויקטכוונתי לחלק:
יש טכנולוגית DLL.
באופן כללי ההסבר: אם אנחנו רוצים לשתף פרצדורות או לכמס מידע, נשתמש בDLL.לגבי .NET, ה-NameSpace נמצא בתוךDLL.
אין זה אומר שDLL הוא NameSpace. וגם לא להיפך.
אלא שייבוא NameSpace הוא באמצעות DLL.אני צודק?
פורסם במקור בפורום CODE613 ב22/02/2016 14:38 (+02:00)