在 Windows 2008 Server 中从 16 位应用程序打印时出错

在 Windows 2008 Server 中从 16 位应用程序打印时出错

我在 Windows 2008 Server 中尝试运行一堆旧的 16 位应用程序时遇到了问题。这些应用程序在 Windows 2003 Server 之前运行良好,但当我尝试从其中任何一个应用程序进行打印时,所有应用程序都显示打印错误(无法创建打印机驱动程序/TERM 错误/等等)

  • LPT1 端口通过 NET USE LPT1 \ServerName\SharedPrinter 重定向到共享打印机
  • DIR > LPT1(或任何到打印机的 shell 重定向)工作正常。
  • 我使用的是管理员帐户,所以这应该不是权限问题,对吗?

为了重现此行为,我用 C(TCC 1.01 for DOS)编写了一个小型测试程序。它在 XP / 2003 Server 中运行良好,但在 2008 Server 上显示句柄打开(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;
}

有什么线索吗?

蒂娅,巴勃罗

答案1

我认为此主题解决了您的问题。关键步骤是使用打印机池而不是网络使用。

2)打开打印机属性(在 Vista 中,以管理员身份打开)

3)打开“打印机池”(在“端口”选项卡下)

4)除了已经选择的内容(例如 USB)之外,还要选择“LPT1:”

5)点击应用

相关内容