我正在尝试创建一个在不同线程中运行多个进程的程序。程序应该有两种终止方法:在指定的时间后程序终止,或者预定义的键组合将终止它。我让主线程中的设置睡眠了一段时间然后中止线程,但我似乎无法设置另一个线程来检查用户是否在任何时候按下一个组合键
这是我为终止而开始的:
killKeyThread = new Thread(new ThreadStart(KeyCombo));
[names of various threads].Start();
DateTime future = DateTime.Now.addSeconds(_totalDurationSeconds);
while (future > DateTime.Now)
{
Thread.Sleep(1000);
}
[names of various threads].Abort();
我几乎可以肯定该程序需要在线程中使用Windows Hooks,但我似乎无法正确设置它。
如果有人有更好的方法来实现这一目标,我们将非常感激