c# - 在clipboard.gettext 不活动x 分钟后退出应用程序
问题描述
如果您在 x 分钟内不复制我的应用程序,这是可能的。该程序然后关闭几分钟?有人可以向我解释我该如何处理吗?
编辑:我希望我的应用程序在没有正文复制时关闭,例如 2 分钟。
我该如何解决我的问题?
这是我的代码。
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
{
const int WM_DRAWCLIPBOARD = 0x308;
if (m.Msg == WM_DRAWCLIPBOARD)
{
// Kopieert en kijkt of het overeen komt met de list
var text = Clipboard.GetText(TextDataFormat.UnicodeText);
// als je gekopieert hebt reset de clipboard
if (!string.IsNullOrEmpty(text))
{
timer1.Interval = 15000;
GetAnswer(Clipboard.GetText(TextDataFormat.UnicodeText));
Clipboard.Clear();
}
}
}
}
private void Timer1_Tick(object sender, EventArgs e)
{
this.Close();
}
}
}
解决方案
第一次在主窗体上放置一个Timer
组件,并将其设置Interval
为所需的分钟数(值以毫秒为单位,因此请确保计算正确)
现在将计时器的启用属性设置为true
如果Tick
您只需要编写退出应用程序的代码即可。
现在,每次发生复制/粘贴操作时,像这样重置计时器
Timer1.Interval = xxx;
其中 xxx 是以毫秒为单位的值
重置计时器可以在这里找到
应该这样做
在你的情况下,它看起来像这样
if (!string.IsNullOrEmpty(text))
{
timer1.Enabled = false; // stop the timer
// do code here that can take some time...
GetAnswer(Clipboard.GetText(TextDataFormat.UnicodeText));
Clipboard.Clear();
timer1.Interval = 15000; // reset the timer
timer1.Enabled = true; // and start it again
}
推荐阅读
- java - 为什么当我的 Spring Boot 应用程序尝试访问 index.jsp 文件时出现 404 错误?
- excel - 使用 Excel 进行曲面优化
- javascript - 如何通过 JavaScript 切换 Bootstrap 5 手风琴组件?
- boolean - 有没有一种简单的方法来检查所有变量是一起为真,还是一起为假?
- c# - 从固定数组转换为字节指针时出错
- python - 如何使用heroku从gmail帐户发送邮件?
- python - Python Regex:美国电话号码解析
- angular - 订阅内部的测试功能
- javascript - 将具有键值对的单个对象的数组转换为具有键值对的每个对象的对象数组
- android - 在 Android 设备中运行应用程序时字符串格式不起作用