C# 如何在windows服务中获取按键/按下事件?
我想开发一个windows服务,它将检测按下的键,或者在按下键时启动。可能吗 我创建了一个在一段时间后运行的服务,并更新了一些数据库表 下面是我为不时更新数据库所做的代码C# 如何在windows服务中获取按键/按下事件?,c#,asp.net,service,C#,Asp.net,Service,我想开发一个windows服务,它将检测按下的键,或者在按下键时启动。可能吗 我创建了一个在一段时间后运行的服务,并更新了一些数据库表 下面是我为不时更新数据库所做的代码 System.Timers.Timer timer1 = new System.Timers.Timer(); private void InitializeComponent() { ((System.ComponentModel.ISupportInitialize)(timer1)).BeginInit();
System.Timers.Timer timer1 = new System.Timers.Timer();
private void InitializeComponent()
{
((System.ComponentModel.ISupportInitialize)(timer1)).BeginInit();
timer1.Enabled = true;
((System.ComponentModel.ISupportInitialize)(timer1)).EndInit();
}
protected override void OnStart(string[] args)
{
try
{
WriteLog("test Services Started at : " + System.DateTime.Now);
// Time Elapsed event
timer1.Elapsed += new ElapsedEventHandler(OnElapsedTime);
int intOnElapsedTime = Convert.ToInt32(
System.Configuration.ConfigurationManager
.AppSettings["intOnElapsedTime"]
.ToString());
timer1.Interval = 1000 * 10 * intOnElapsedTime;
timer1.Enabled = true;
}
catch (Exception ex)
{
WriteErrorLog(ex.Message, ex.StackTrace, "OnStart");
}
}
private void OnElapsedTime(object sender, ElapsedEventArgs e)
{
try{ /* update database table */}
catch (Exception exp){ ...}
}
Windows服务不适用于UI交互。与普通windows(winforms)相比,它们与内核的交互方式不同。i、 e.
MessageBox.Show(“某物”)
在Windows服务中不会产生任何内容
你需要调查一下
在C#中设计一个键盘挂钩。你会在谷歌上找到很多。将其放在Windows服务启动中。并部署您的服务
一些好的C#键盘挂钩: