找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
楼主: 0xAA55

【VB】VB6写的很精确的计时器(微秒级)

[复制链接]
 楼主| 发表于 2020-6-30 15:12:35 | 显示全部楼层
系统消息 发表于 2020-6-29 21:14
是的,我反汇编过,并自己重写过Beep函数,并且发现k32的Beep函数阻塞的原理是内部调用了Sleep,所以我们 ...

原来如此。虽说我知道以前的(XP的)Beep是真的控制主板蜂鸣器,而现在则是用扬声器输出了。只是你提到它用的是Sleep,这一点我不知道。
回复 赞! 靠!

使用道具 举报

发表于 2020-6-30 22:41:44 | 显示全部楼层
本帖最后由 系统消息 于 2020-6-30 22:54 编辑
0xAA55 发表于 2020-6-30 15:12
原来如此。虽说我知道以前的(XP的)Beep是真的控制主板蜂鸣器,而现在则是用扬声器输出了。只是你提到它 ...


NT内核系统的k32层Beep函数实现都是基本上一样的,差别在Beep.sys上,XP的Beep.sys走真蜂鸣器,Vista之后用波形设备模拟。
k32层的Beep函数是先用DeviceIoControl给Beep.sys发送消息,然后用Sleep等待Beep.sys播放完成(Sleep的时间设置成播放的持续时间)。
我写过一个VB6版的自己调Beep驱动实现异步蜂鸣器的类(不Sleep就是异步了,运行可以发现完全不会卡VB6的界面),放到附件里了。

异步版Beep(不卡界面).cls

3.61 KB, 阅读权限: 10, 下载次数: 4

NtBeep

回复 赞! 靠!

使用道具 举报

发表于 2020-7-2 09:52:53 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2021-9-1 14:09:50 | 显示全部楼层
学习下计时器,看看好用不
回复 赞! 靠!

使用道具 举报

发表于 2021-11-15 23:56:34 | 显示全部楼层
用中文写代码。面向对象的思想。
回复 赞! 靠!

使用道具 举报

发表于 2021-12-6 13:36:58 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2022-5-10 14:43:57 | 显示全部楼层

如此好贴,必须支持~~~
回复 赞! 靠!

使用道具 举报

发表于 2022-7-2 23:10:17 | 显示全部楼层
欢迎访问技术宅的结界
回复 赞! 靠!

使用道具 举报

发表于 2022-11-23 21:07:30 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2023-5-19 08:42:25 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2024-6-1 11:37:09 | 显示全部楼层
是不是真的呀
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2025-9-4 18:34 , Processed in 0.025214 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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