在Windows2008服务器上运行一堆旧的16位应用程序时遇到问题。
应用程序在Windows2003服务器上运行良好,但是当我尝试从
它们都显示打印错误(无法创建打印机驱动程序/术语错误/etc)
-
LPT1端口通过NET USE LPT1\ServerName\shared printer重定向到共享打印机
-
DIR>LPT1(或任何指向打印机的shell重定向)工作正常。
-
我使用的是管理员帐户,所以这不应该是权限问题,对吧?
为了重现这种行为,我用C语言编写了一个小的测试程序(TCC 1.01用于DOS)。它运行良好
在XP/2003服务器上,但是在2008服务器上,它显示句柄打开(5),但是在尝试
若要写入该句柄,将发出错误(写入错误写入设备LPT1,中止,重试,
忽略,失败)
#include <io.h>
#include <fcntl.h>
#include <sys\stat.h>
int main(void)
{
int handle, status;
char* sbuff;
handle = open("LPT1", O_WRONLY, S_IFBLK);
printf("%d\n", handle);
if (!handle)
{
printf("open failed\n");
exit(1);
}
sbuff = "[print test]\n";
write(handle, sbuff, strlen(sbuff));
close(handle);
getch();
return 0;
}
有线索吗?
蒂亚,
巴勃罗