נעילת מחשב כעבור זמן ומעבר למסך הנעילה
-
@chv אמר בנעילת מחשב כעבור זמן ומעבר למסך הנעילה:
@מתחיל-מומחה מה אתה רוצה להוסיף אולי אכתוב על זה קצת
רק אם יש לך כוח ועצבים.
נשמח אם תיידע אותנו כיצד מוסיפים שתוקפץ הודעה נגיד 10 שניות לפני הכיבוי?
כיצד גורמים שלא יראו שהסקריפט רץ ברקע?
כיצד מוסיפים כפתור אישור וביטולנ.ב. אולי כדאי שתפתח נושא חדש - כי זה קצת סוטה מנושא.
-
@מתחיל-מומחה יפה.. העלית הרבה דברים
אולי אכתוב על זה בהמשך הלילה, כמו שאתה כותב - נושא חדש.
בלי נדר -
@chv אמר בנעילת מחשב כעבור זמן ומעבר למסך הנעילה:
@מתחיל-מומחה יפה.. העלית הרבה דברים
כבר כתבת
כל המרבה הרי זה משובח
לא?
-
@מתחיל-מומחה אמר בנעילת מחשב כעבור זמן ומעבר למסך הנעילה:
@chv אמר בנעילת מחשב כעבור זמן ומעבר למסך הנעילה:
@מתחיל-מומחה מה אתה רוצה להוסיף אולי אכתוב על זה קצת
רק אם יש לך כוח ועצבים.
נשמח אם תיידע אותנו כיצד מוסיפים שתוקפץ הודעה נגיד 10 שניות לפני הכיבוי?
כיצד גורמים שלא יראו שהסקריפט רץ ברקע?
כיצד מוסיפים כפתור אישור וביטולנ.ב. אולי כדאי שתפתח נושא חדש - כי זה קצת סוטה מנושא.
החלטתי כן להגיב כאן ולא נושא חדש, כי יש מה ללבן בזה.
לעשות שירוץ ברקע בלי שרואים - זה ממש קל לעשות מהbat יישום (EXE) ואז הוא לא רץ בCMD ולא רואים כלום (אם אין שום פקודות וידואליות בסקריפט).
כפתור אישור וביטול, והודעת אזהרה לפני שקורה הנעילה - זה עוד נושא.סתם לפתח את הסקריפט הנוכחי - אם אתה רוצה נגיד לעשות שלא יהיה זמן קבוע אלא כל פעם להזין לו זמן - זה יהיה משהו כזה:
@echo off set /p choice= "write seconds:" timeout /t %choice% >nul %windir%\System32\rundll32.exe user32.dll, LockWorkStation
הסבר - כמו שאתה רואה - יש פקודה choice שזה יוצר איזה סוג של בקשה למשתנה, והטקסט write seconds כתבתי ככה כי אני לא רוצה להסתבך עם עברית (אני באמת לא יודע איך עושים את זה נורמלי בCMD).
לאחמ"כ פקודת הטיימר משתמשת במשתנה של הchoice, והוספתי גם >nul שזה גורם לטיימאאוט לרוץ בלי לכתוב press any key.תכתוב קצת הגדרה לכפתורים ואזהרות כי קשה לי לחשוב על הכל ביחד.
המשך לילה נעים -
@chv אמר בנעילת מחשב כעבור זמן ומעבר למסך הנעילה:
לעשות שירוץ ברקע בלי שרואים - זה ממש קל לעשות מהbat יישום (EXE) ואז הוא לא רץ בCMD ולא רואים כלום (אם אין שום פקודות וידואליות בסקריפט).
קודם כל - תודה!
במחילה מכבודכם - פשוט לא הבנתי, אתה מתכוון להגדרות בישום CMD?כפתור אישור וביטול, והודעת אזהרה לפני שקורה הנעילה - זה עוד נושא.
סתם לפתח את הסקריפט הנוכחי - אם אתה רוצה נגיד לעשות שלא יהיה זמן קבוע אלא כל פעם להזין לו זמן - זה יהיה משהו כזה:
@echo off set /p choice= "write seconds:" timeout /t %choice% >nul %windir%\System32\rundll32.exe user32.dll, LockWorkStation
לא עובד...(כותב זמן לוחץ אנטר- לא קורה כלום, שוב אנטר והמחשב נכבה)
תכתוב קצת הגדרה לכפתורים ואזהרות כי קשה לי לחשוב על הכל ביחד.
אזהרה - פקודה שתגרום לתמונה שהכנתי מראש לקפוץ, אולי אפשר לשלב את זה
כפתורים - אישור שההודעה נקראה או משהו דומההמשך לילה נעים
יותר נכון, לילה פורה ומבורך. גם לך.
-
@מתחיל-מומחה אמר בנעילת מחשב כעבור זמן ומעבר למסך הנעילה:
במחילה מכבודכם - פשוט לא הבנתי, אתה מתכוון להגדרות בישום CMD?
לא, אני מתכוין לעשות מסקריפט bat - יישום EXE. יש אלף ואחד תוכנות קטנות שעושות את זה (תכתוב bat to exe בגוגל) ואז זה רץ ברקע כי ככה זה exe שאין לו פלט ויזואלי.
לא עובד...(כותב זמן לוחץ אנטר- לא קורה כלום, שוב אנטר והמחשב נכבה)
לא עובד לך? ממש מוזר. זה אמור לעבוד מעולה, פשוט מזינים לו זמן (מספר) ואנטר, לאחר הזמן הזה הוא יינעל.
תנסה את הקובץ המוכן הזה: נעילה מתמחים.batאזהרה - פקודה שתגרום לתמונה שהכנתי מראש לקפוץ, אולי אפשר לשלב את זה
זה אמור להיות פשוט קל לעשות execute לקובץ הזה. הבעיה שאנחנו רוצים שהכל יהיה בקובץ אחד וכאן מתחיל הצרות.. נראה.
כפתורים - אישור שההודעה נקראה או משהו דומה
אפשר לעשות פשוט echo אם זה מספק אותך. אחרי השורה של הפקודה set /p אתה יכול לשים את השורה הבאה:
echo המחשב יתכבה בעוד %choice% שניות
(שוב הסתבכנו עם העברית)
-
היי @מתחיל-מומחה שכחתי לגמרי מהסקריפט הזה ועכשיו לפני שאני הולך לישון התחלתי לסגור קצת כרטיסיות וראיתי את זה..
תסתכל עשיתי בלילה כמה שינויים קטנים, זה הקוד החדש בקובץ נעילה מתמחים.bat והנה הקוד עצמו:@echo off set /p lockchoice= "write seconds:" powershell -windowstyle hidden -command " msg * /time:20 will lock in %lockchoice% seconds timeout /t %lockchoice% msg * /time:10 computer will locked in 10 seconds! timeout /t 10 %windir%\System32\rundll32.exe user32.dll, LockWorkStation exit "
שים לב מה קורה פה: (אני כותב את זה למי שרוצה אולי ללמוד טיפה batch על הדרך)
- התחלה של סקריפט batch עם פלט
- יצירת המשתנה "lockchoice", שהערך שלו יועלה על ידי המשתמש.
- כאן נכנסת פקודה שבעצם מורידה את הסקריפט (דרך PS) למצב מוסתר, כי אנחנו כבר לא צריכים לראות אותו. שים לב - כן רואים אותו במנהל המשימות ואפשר לבטל אותו דרך שם וזה ייעצר.
הפקודה הנ"ל של PS תחומה בגרשיים, כל מה שבתוך הגרשיים ירוץ בhidden - מוסתר. תכלס אצלנו זה אומר כל הקוד עד הסוף. - הודעה (הודעה פשוטה כמו זו ששולחים בין משתמשים) שמראה לך שהתהליך התחיל, וכמה זמן (אתה רואה שם את המשתנה שלנו lockchoice). הכוכבית אומרת שישלח לכל המשתמשים, והפרמטר time שמוגדר אצלנו על 20 הוא כמה שניות יראו את ההודעה עד שתיעלם מעצמה.
- טיימר, עם הערך שהוגדר במשתנה הנ"ל.
- כשנגמר הטיימאוט, כלומר שבעצם צריך להינעל המחשב, יוצאת הודעת אזהרה אחרונה, שהמחשב יינעל עוד 10 שניות. זה נטו הודעת אזהרה, אתה לא יכול לבטל דרכה את התהליך או משהו כזה.
- טיימאוט קטן כדי שההודעה הנ"ל יהיה לה תוקף..
- הפקודה המיוחלת של הנעילה,
- פקודת סיום exit, סוף סוגריים ושלום על ישראל.
תגיד לי מעניין אותי מה אפשר להוסיף על זה.. אני אישית חושב שזה סתם לא יעיל כי כבר יש את השומר מסך אבל זה בא לי בטוב אאז עשיתי את זה. תהנה
-
@chv קודם כל תודה!
הסקריפט שהכנת - מדהים!
מסביר באורך ובסבלנות, כתמיד!טוב, אז ככה. הסקריפט באמת לא רץ ברקע, אבל הודעת האזהרה איה היא?
ואם שאלת מה יש להוסיף לזה, אז ככה:
כיצד מגדירים כיבוי (לא נעילה).
וכיצד עושים שהודעת האזהרה תופיע כחצי דקה/דקה לפני הכיבוי.אגב, לא קשור. שמתי לב שאתה נוהג לתקשר עם המחשב בסקריפטים... (מי שמכיר את @chv יודע על מה אני מדבר...) רק מעניין אותי כשאתה רוצה למחוק קובץ או להפעיל וידאו אתה גם משתמש בסקריפט או שאתה משתמש באפשרות המובנית של ווינדוס....