中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 04:41
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 请问如何用WATCOM C++如果写DOS32的键盘模拟输入程序 查看 960 回复 4
楼 主 请问如何用WATCOM C++如果写DOS32的键盘模拟输入程序 发表于 2004-01-06 00:00 ·  中国 浙江 温州 电信
初级用户
积分 160
发帖 15
注册 2004-01-06 00:00
22年会员
UID 15000
性别 男
状态 离线
以下为:DOS16位的键盘模拟输入,但是因为DOS32 不支持pokeb,peek内存函数.本.我现在需要在DOS32也有此功能的函数,但我不能转换到WATCOM DOS32能支持的函数.(注意不是WATCOM DOS16位)
请懂WATCOM c/c++的高手,帮我一下,非常感谢.

void keyboard(int choice,char key)
{
int offset,i;
offset=peek(0x40,0x1c);
for(i=0;key!='\x0';i++)
{
if(choice==0)
{
pokeb(0x40,offset,0x00);
pokeb(0x40,offset,key);
}
if(choice!=0)

{
pokeb(0x40,offset,key);
pokeb(0x40,offset+1,0x00);
}
offset=offset+2;
if(offset==0x3e)offset=0x1e;
}
pokeb(0x40,0x1c,offset);
}
2 发表于 2004-01-09 00:00 ·  中国 浙江 温州 电信
初级用户
积分 160
发帖 15
注册 2004-01-06 00:00
22年会员
UID 15000
性别 男
状态 离线
难道高手还没有出现吗?
3 发表于 2004-01-10 00:00 ·  中国 广东 深圳 罗湖区 电信
初级用户
积分 133
发帖 8
注册 2003-02-04 00:00
23年会员
UID 844
性别 男
状态 离线
用汇编直接驱动扬声器端口
4 发表于 2004-02-04 00:00 ·  中国 江苏 南京 联通
初级用户
积分 140
发帖 18
注册 2004-02-03 00:00
22年会员
UID 16630
性别 男
状态 离线
在Watcom的目录下有个Watcom提供的例子目录,里边有个Sample就是你需要的。为何不自己找了?怪了??
5 发表于 2004-02-07 00:00 ·  中国 浙江 温州 电信
初级用户
积分 160
发帖 15
注册 2004-01-06 00:00
22年会员
UID 15000
性别 男
状态 离线
请问用WATCOM C++如何写DOS32的键盘模拟输入程序
以下为:DOS16位的键盘模拟输入,但是因为DOS32 不支持pokeb,peek内存函数.本.我现在需要在DOS32也有此功能的函数,但我不能转换到WATCOM DOS32能支持的函数.(注意不是WATCOM DOS16位)
请懂WATCOM c/c++的高手,帮我一下,非常感谢.

void keyboard(int choice,char key)
{
int offset,i;
offset=peek(0x40,0x1c);
for(i=0;key!='\x0';i++)
{
if(choice==0)
{
pokeb(0x40,offset,0x00);
pokeb(0x40,offset,key);
}
if(choice!=0)

{
pokeb(0x40,offset,key);
pokeb(0x40,offset+1,0x00);
}
offset=offset+2;
if(offset==0x3e)offset=0x1e;
}
pokeb(0x40,0x1c,offset);
}
论坛跳转: