C# 剪贴板x分钟后退出应用程序。gettext Windows不活动

C# 剪贴板x分钟后退出应用程序。gettext Windows不活动,c#,winforms,clipboard,C#,Winforms,Clipboard,如果您在x分钟内未在me中复制应用程序,则可能会发生这种情况。然后节目结束几分钟?有人能告诉我怎么处理吗 编辑: 我希望在2分钟内没有人复制时关闭应用程序 我怎样才能解决我的问题 这是我的密码 protected override void WndProc(ref Message m) { base.WndProc(ref m); { const int WM_DRAWCLIPBOARD = 0x308;

如果您在x分钟内未在me中复制应用程序,则可能会发生这种情况。然后节目结束几分钟?有人能告诉我怎么处理吗

编辑: 我希望在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();
    }
}

}

首先在主窗体上放置一个
计时器组件,并将其
间隔设置为所需的分钟数(该值以毫秒为单位,因此请确保计算正确)

现在将计时器的Enabled属性设置为
true

勾选
事件中,您只需编写退出应用程序的代码

现在,每次发生复制/粘贴操作时,都要像这样重置计时器

Timer1.Interval = 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
}
其中xxx是以毫秒为单位的值

可以找到重置计时器的方法

那应该可以

在你的情况下,它看起来像这样

Timer1.Interval = 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
}

您可以使用计时器,每次收到消息时都会重置计时器。退出计时器事件中的软件。@Sinatr您能给我举个例子帮助我开始吗?所以我想要一个if-else语句,如果用户在5分钟内没有复制,程序将自动关闭,我如何才能最好地编写它?不是通过
if-else
语句,但是,通过这个回答中的方法,你能给我一个例子来帮助我开始吗?一切都在那里,只要从这里开始,如果你卡住了,那么告诉我们你有什么,然后我们可以帮助你我做了这个代码我做了一个this.close,但是如果我复制了什么,我如何重置计时器呢。因为现在我的程序每次都在10秒后关闭
private void Timer1_Tick(object sender,EventArgs e){this.Close();}