נעילת המחשב כך שיציג רק תוכנה מסוימת
-
@דוד ל.ט.
ועל הבעיה השניה הוק למקלדת.
דוגמא אני רואה כאן: 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)