弟碰上这么一个的问题:在2000和xp下,如果有一个打印机驱动程序指定到了某个端口上,那使用api函数来操作这个端口时就会不成功,具体现象如下:1 占用了lpt1,则使用createfile创建句柄可以成功,但是writefile后并不能马上执行写入数据到操作,直到closehandle,数据才被发送出去.这还要拜托打印机不要设置为脱机工作.
2 占用了com1,则使用createfile函数创建句柄可以成功,但下一步获取系统的端口信息,就不能处理,通过getlasterror()可以看到是拒绝访问,当然也就不能进行后面的操作了.
为了解决这问题,我准备在写端口之前,在程序中通过驱动程序的设置函数将端口都转移到别的端口上去,当然,这不困难,我办到了,在2000下,更换的速度还可以,可气的是在那个死xp下,更改一个打印机的设置有时都要十几秒,是人都无法接受.我实在没有办法了,各位高手,快帮帮忙吧!