睡眠(挂起)和恢复窗口窗体在工作线程而不是主线程上启动程序

2024-05-13

我正在处理的 Windows 窗体订阅Microsoft.Win32.SystemEvents.PowerModeChanged and on Suspend它运行Close()表格上的方法。在Resume它运行Run()功能就像初始加载时一样。问题是,当计算机从睡眠模式唤醒时,名为“.Net SystemEvents”的工作线程上会触发 PowerModeChanged 事件,并且当Run()被称为它在此工作线程而不是主线程上重新创建表单。

这个表单是我从另一个开发人员继承的项目,我是 Windows 表单编程的新手。我想知道是否有更好的方法来处理睡眠/唤醒过程,而不是关闭表单并在唤醒时重新创建它们,或者强制创建到主线程上。注意:如果我删除代码并让它在计算机睡眠(挂起)时不执行任何操作,并且在计算机唤醒(恢复)时不执行任何操作,则程序将继续正常工作(在主线程上运行)。任何帮助将不胜感激。谢谢大家。


在静态字段中捕获 UI 线程 SynchronizationContext,并且Post()返回到 UI 线程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

睡眠(挂起)和恢复窗口窗体在工作线程而不是主线程上启动程序 的相关文章

  • Nodejs 中工作线程如何工作?

    Nodejs 不能像 java 和 net 那样有内置的线程 API 做 如果添加线程 语言本身的性质就会 改变 无法将线程添加为一组新的可用线程 类或函数 Nodejs 10 x 添加了工作线程作为实验 现在从 12 x 开始稳定 我浏览
  • 如何让机器在执行期间停止睡眠/休眠

    我有一个用 golang 编写的应用程序 部分 作为其操作的一部分 它将生成一个外部进程 用 c 编写 并开始监视 这个外部过程可能需要几个小时才能完成 因此我正在寻找一种方法来防止机器在处理时休眠或休眠 我希望能够放弃这个锁 以便当进程完
  • 我怎样才能保证 Thread.sleep 至少休眠那么多时间?

    As per 这个问题 https stackoverflow com q 45419940 1898563 Thread sleep不一定保证在您指定的时间内睡眠 它可能会更短or longer 如果您阅读了文档Thread sleep
  • MySQL 中的事务暂停是如何工作的?

    在 Spring 框架手册中 他们声明对于 PROPAGATION REQUIRES NEW 当前事务将被挂起 暂停交易 是什么意思 超时计时器停止对当前事务计数 这种暂停的实际影响是什么 谢谢你 Asaf 这并不意味着什么特别的 暂停的交
  • 在线程中“浪费时间”最高效的 CPU 方式是什么?

    我有许多线程 100 个 每个线程一次执行几秒钟 当它们执行时 它们花费大量时间等待另一个系统 串行设备 的响应 我注意到 同时执行 100 个线程可能会占用大量资源 因此我实际上限制了可以同时启动的线程数量 但我想到 在线程内等待外部事件
  • Python time.sleep() 与 event.wait()

    我想在我的多线程 Python 应用程序中定期执行一个操作 我见过两种不同的做法 exit False def thread func while not exit action time sleep DELAY or exit flag
  • java中如何让线程休眠特定时间?

    我有一个场景 我希望线程休眠特定的时间 Code public void run try do something Thread sleep 3000 do something after waking up catch Interrupt
  • Python 杀死线程

    我正在尝试杀死 python 中的一个线程 异常将是执行此操作的首选方法 因为通过 try except 对优雅地退出线程的 run 方法将允许关闭资源 我试过 Python 有没有办法杀死一个线程 https stackoverflow
  • PowerPoint VBA 中的睡眠/等待计时器不是 CPU 密集型的

    我目前正在制作一个 PowerPoint 演示文稿 该演示文稿在计算机上用作某种信息亭或信息屏幕 它从磁盘上的文本文件中读取文本 该文本文件中的文本显示在 PowerPoint 的文本框中 并且每 5 秒刷新一次 这样我们就可以编辑 Pow
  • Windows:自动挂起整个进程? [复制]

    这个问题在这里已经有答案了 使用 Win32 API 只能使用以下命令挂起单个线程SuspendThread 但不是一次调用就能完成完整的过程 迭代进程线程并一次挂起它们并不是一个好的选择 因为它可能会导致死锁和意外行为 这应该是使用 DD
  • C# 中日期时间更改时收到通知

    最近我正在尝试制作一个日历应用程序 它将向用户显示当前的年月日期 问题是 如果用户想让我的应用程序在第二天继续运行 我如何收到通知 我该如何更改显示的日期 我不想轮询当前日期来更新它 这在c 中可能吗 注意 我尝试过系统事件 TimeCha
  • 在c中实现时间延迟

    我不知道如何准确地描述这个搜索 所以我没有运气找到任何东西 S 我需要在 C 中实现时间延迟 例如我想做一些事情 然后等一分钟 然后继续做事情 这有道理吗 谁能帮我吗 在标准 C C99 中 您可以使用time 为此 请执行以下操作 inc
  • Linux:如何杀死睡眠

    更多的是一个概念性问题 如果我写一个 bash 脚本来做类似的事情 control c echo goodbye exit trap control c SIGINT while true do sleep 10 user wants to
  • 在 Node.js 中休眠

    假设没有 本地 方法来实现这一点 我的解决方案是 sleep function time var stop new Date getTime while new Date getTime lt stop time return new Pr
  • 以编程方式让 Mac 进入睡眠状态

    我找不到任何关于如何以编程方式将 Mac 置于睡眠模式 在 Objective C 中 的说明 我确信它应该只有一行 但是你能给我一个提示吗 include
  • tkinter 和 time.sleep

    我试图在等待 5 秒后删除文本框中的文本 但程序不会运行 并且会休眠其他所有内容 还有一种方法可以让我的文本框休眠 这样我就可以在文本冻结时运行其他代码 from time import time sleep from Tkinter im
  • “时钟”是否测量“睡眠”,即挂起的线程?

    我正在尝试理解clock t clock void 功能更好 有以下问题 我理解正确吗clock测量进程的滴答数 因为它是积极奔跑 and sleep挂起调用线程 在这种情况下只有一个线程 即主线程 因此挂起整个进程 意思就是clock不测
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 如何从我的代码播放或恢复另一个音乐播放器的音乐

    在我的 Android 应用程序中 我想在暂停后播放或恢复播放的音乐 我的应用程序通过发送广播暂停音乐 https stackoverflow com questions 5129027 android application to pau
  • Java Thread.sleep 泄漏线程?

    因此 我继承了一些等待来自网络源的通信的代码 当它等待来自网络套接字的更多数据时 Thread sleep 10 叫做 这似乎导致了线程泄漏 正如 jconsole 和我的线程转储所报告的那样 Thread 68 Thread 385 等有

随机推荐