| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:模拟VB中的Timer控件 - 最近在研究TSR程序
取消只看楼主 加入收藏
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
收藏
 问题点数:0 回复次数:0 
模拟VB中的Timer控件 - 最近在研究TSR程序

最近在研究TSR驻留程序的编写,今天稍微有点眉目,写了个事件发生器之类的程序。不过有个问题无法解决,就是如何使程序退出驻留还有就是使程序不会反复的驻留内存,望各位高手指点迷津,谢谢。。 下面是我的程序: #include <dos.h> #include <stdio.h>

#define TIMER 0x1C

#ifdef __cplusplus #define __CPPARGS ... #else #define __CPPARGS #endif

/* 将应用程序弄得小一点,以便在内存中驻留 */ extern unsigned _heaplen = 1024; extern unsigned _stklen = 512;

/* 用于接收旧的时钟中断 */ void interrupt (*int1C)(__CPPARGS); /* 自定义一个新的时钟中断 */ void interrupt timer(__CPPARGS) { static int count=0; /* 每一秒钟产生一次Hello,world事件 (估算 54毫秒*20=1004毫秒=1秒) */ if(count<20) count++; else { puts("Hello,world!"); count=0; } /* 调用旧的时钟中断事件 */ int1C(); }

int main(void) { int1C=getvect(TIMER); /* 获得旧的时钟中断事件 */ disable(); setvect(TIMER,timer); /* 设置新的自定义时钟事件 */ enable(); /* 驻留内存(引用TC3.0帮助手册中Keep函数的范例 */ keep(0, (_SS + (_SP/16) - _psp)); return 0; /* 注意这个return,据我研究好像是用于驻留后再次调用main()函数*/ }

搜索更多相关主题的帖子: 模拟 控件 Timer TSR 
2005-07-15 15:06
快速回复:模拟VB中的Timer控件 - 最近在研究TSR程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025955 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved