@חוקר
האפשרות הטובה היא שומר מסך מיוחד.
אני בעבר חיפשתי פתרון בשביל זה ומצאתי פרוייקט בגיט
https://github.com/wmhilton/lock-screen
התחלתי לבנות לזה משהו ב C# ולא המשכתי.
הרעיון היה קובץ של שומר מסך ללא אפשרות יציאה,
טבלה באקסל לפי ימים ושעות.
וקובץ הרצה שיבדוק בקסל ולפי זה יריץ את השומר מסך או יסגור אותו.
Invisble.Lock.Screen.scr
xxx.xlsx
וזה הקוד שהתחלתי איתו
using System;
using Microsoft.Office.Interop.Excel;
namespace ScreenSaverTrigger
{
class Program
{
static void Main(string[] args)
{
int day = (int)DateTime.Now.DayOfWeek + 1;
int hour = DateTime.Now.Hour;
Console.WriteLine($"Now is day: {day} hour: {hour}");
var xlApp = new Application();
Workbook excelWorkbook = xlApp.Workbooks.Open(@"C:\xxx\xxx.xlsx", 0, true, 5, "", "", true, XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Sheets excelSheets = excelWorkbook.Worksheets;
Worksheet excelWorksheet = (Worksheet)excelSheets.Item[1];// to change name
var cell = (Range)excelWorksheet.Cells[hour+2, day+1];
var isTurnOn = (string)cell.Value;
string mode = isTurnOn.ToLower() == "x" ? "on" : "off";
Console.WriteLine($"The ScreenSaver should be turnned {mode}");
Console.ReadLine();
}
}
}