递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 948|回复: 6
打印 上一主题 下一主题

[视窗] 程序_延时_内核

[复制链接]

39

主题

320

帖子

3176

积分

贵宾

火山官方交流群:831858564

Rank: 9Rank: 9Rank: 9

积分
3176
QQ
跳转到指定楼层
楼主
发表于 2024-9-15 21:22:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
程序_延时_内核
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 方法 程序_延时_内核 <公开 静态 类型 = 逻辑型 注释 = "不占用cpu,窗口不卡死,不影响其它代码执行" @禁止流程检查 = 真 @输出名 = "SleepByNt">
  3. 参数 参_延时间隔 <类型 = 整数 注释 = "1000毫秒 = 1秒  留空为不等待" @默认值 = -1>
  4. {
  5.     变量 局_真实时间 <类型 = 长整数 @输出名 = "dwMilliseconds">
  6.     @ typedef INT_P (WINAPI* ZwDelayExecution)(
  7.     @ BOOL  bAlertable,
  8.     @ PLARGE_INTEGER dwMilliseconds
  9.     @ );
  10.     @ HMODULE timeNTDLL = GetModuleHandle(L"ntdll"); //取出NTDLL的句柄
  11.     @ ZwDelayExecution pZwDelayExecution = (ZwDelayExecution)::GetProcAddress(timeNTDLL, "ZwDelayExecution");
  12.     局_真实时间 = -参_延时间隔 * 10000
  13.     @ return pZwDelayExecution(false,(PLARGE_INTEGER)&dwMilliseconds) == 0;

  14. }
复制代码


回复

使用道具 举报

4

主题

187

帖子

1467

积分

核心用户

用户组:菜鸟用户

Rank: 9Rank: 9Rank: 9

积分
1467
沙发
发表于 2024-9-15 22:28:19 | 只看该作者

程序_延时_内核 (5000)
// 界面延时 (5000)
标签1.标题 = "不卡死"

貌似窗口也卡住的, 新手还请谅解。
死活学不会
回复

使用道具 举报

26

主题

1900

帖子

6926

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6926
板凳
发表于 2024-9-15 22:37:57 | 只看该作者
yuangao 发表于 2024-9-15 22:28
程序_延时_内核 (5000)
// 界面延时 (5000)
标签1.标题 = "不卡死"

Sleep (普通延时)函数的实现会调用到 ZwDelayExecution,所以这玩意的作用根本不是界面延时。
回复

使用道具 举报

4

主题

187

帖子

1467

积分

核心用户

用户组:菜鸟用户

Rank: 9Rank: 9Rank: 9

积分
1467
地板
发表于 2024-9-15 23:25:41 | 只看该作者
Xelloss0618 发表于 2024-9-15 22:37
Sleep (普通延时)函数的实现会调用到 ZwDelayExecution,所以这玩意的作用根本不是界面延时。 ...

感谢,大佬的解释。
死活学不会
回复

使用道具 举报

39

主题

320

帖子

3176

积分

贵宾

火山官方交流群:831858564

Rank: 9Rank: 9Rank: 9

积分
3176
QQ
5#
 楼主| 发表于 2024-9-15 23:48:46 | 只看该作者
yuangao 发表于 2024-9-15 22:28
程序_延时_内核 (5000)
// 界面延时 (5000)
标签1.标题 = "不卡死"

这个不卡死的的说法 是从易语言的延时 延伸过来的 主要指的是 不暂停程序运行..:噜阿噜 备注啥的 直接复制的 懒得改了...
回复

使用道具 举报

4

主题

187

帖子

1467

积分

核心用户

用户组:菜鸟用户

Rank: 9Rank: 9Rank: 9

积分
1467
6#
发表于 2024-9-17 08:41:48 | 只看该作者
乐易论坛 发表于 2024-9-15 23:48
这个不卡死的的说法 是从易语言的延时 延伸过来的 主要指的是 不暂停程序运行..:噜阿噜 备注啥的 直接复 ...

好,好,明白
死活学不会
回复

使用道具 举报

4

主题

39

帖子

281

积分

中级会员

Rank: 3Rank: 3

积分
281
7#
发表于 3 天前 | 只看该作者
论坛里的这个复制代码不能用,请后台调配下@飞翔的企鹅
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 18:37 , Processed in 0.100171 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表