ロック画面を無効にして Windows のサービスを停止するプログラムがあります。私は 2 つのボタンを有効にする、無効にする、および事前設定された時間を持つコンボ ボックスを持っています。マイ プログラムが実行され、ユーザーが [有効にする] をクリックすると、ユーザーが手動で [無効にする] をクリックするまで、プログラムはロック画面を無効にする必要があります。私が達成しようとしているのは、ユーザーが無効にしない限り、プログラムが一晩中実行されないようにすることです。そのため、コンボ ボックスから事前に設定された時間を選択すると、プログラムはそれを自動的に無効にします。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
DateTime time = DateTime.Today;
for (DateTime _time = time.AddHours(16); _time < time.AddHours(18); _time = _time.AddMinutes(30))
{
comboBox1.Items.Add(_time.ToShortTimeString());
}
}
private static System.Timers.Timer _Timer;
private DateTime _lastRun = DateTime.Now;
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string strTime_Start = DateTime.Today.ToString();
string strTime_End = comboBox1.SelectedItem.ToString();
}
public void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
button2.Enabled = true;
_Timer = new System.Timers.Timer(10 * 60 * 1000);
_Timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
DisableLock();
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (strTime_End < DateTime.Now.Date) //I think this would be where I need to have strTime_End?
{
_Timer.Stop();
_lastRun = DateTime.Now;
}
}
}