标题: 请问如何用WATCOM C++如果写DOS32的键盘模拟输入程序
[打印本页]
作者: linzhixiao
时间: 2004-1-6 00:00
标题: 请问如何用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);
}
作者: linzhixiao 时间: 2004-1-9 00:00
难道高手还没有出现吗?
作者: szxxbb 时间: 2004-1-10 00:00
用汇编直接驱动扬声器端口
作者: songjian 时间: 2004-2-4 00:00
在Watcom的目录下有个Watcom提供的例子目录,里边有个Sample就是你需要的。为何不自己找了?怪了??
作者: linzhixiao 时间: 2004-2-7 00:00
请问用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);
}