小编jim*_*imc的帖子

带前缀的有效十进制或十六进制的正则表达式

我使用以下 RegEx 来验证十六进制/十进制数:

(0x)?[0-9A-Fa-f][0-9A-Fa-f]*
Run Code Online (Sandbox Code Playgroud)

这正确匹配:

1234   (decimal)
0x12CD (hex)
0x12cd (hex lowercase)
Run Code Online (Sandbox Code Playgroud)

然而,它也允许

12CD   (hex without the 0x prefix)
Run Code Online (Sandbox Code Playgroud)

在允许十六进制 [A-Fa-f] 字符之前,RegEx 有没有办法要求 0x 前缀?

regex

2
推荐指数
1
解决办法
2096
查看次数

检测“暂停”的 Windows 8/10 进程

Windows 8/10 中的 UWP(或“Metro”)应用程序不在前台时可以暂停。此状态下的应用程序继续存在,但不再消耗 CPU 时间。似乎引入此更改是为了提高平板电脑和手机等低功耗/存储设备的性能。

在这种状态下检测进程的最优雅和最简单的方法是什么?

目前我可以看到两种可能的解决方案:

  1. 调用 NtQuerySystemInformation() 并枚举每个进程和每个线程。如果所有线程都处于挂起状态,则进程被“挂起”。这种方法需要大量代码,关键是 NtQuerySystemInformation() 只是半文档化的,可以在未来的操作系统中删除。NtQueryInformationProcess() 也可以针对同样的问题提供类似的解决方案。

  2. 调用 GetProcessTimes() 并记录每个进程的计数器。等待较长时间(分钟)并再次检查。如果进程计数器没有改变,则假定进程已挂起。我承认这是一个黑客,但如果时间段足够长,也许可以工作。

有没有更优雅的方式?

windows api winapi power-management uwp

1
推荐指数
1
解决办法
1754
查看次数

标签 统计

api ×1

power-management ×1

regex ×1

uwp ×1

winapi ×1

windows ×1