我在 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)点击应用