C++ Can';t访问打印机Borland C++;5.

C++ Can';t访问打印机Borland C++;5.,c++,delphi,delphi-5,c++builder-5,C++,Delphi,Delphi 5,C++builder 5,我最近从WindowsXP32位移动到Windows7 64位。我不能访问Borland C++ 5 IDE中的任何打印机。这似乎是某种特权问题,因为如果我以管理员身份登录,问题就会消失。我有一个简单的单行程序来显示这个问题 PrintDialog1->Execute() 对话框打开,但是如果我按下属性按钮,什么也不会发生。如果我试图更改任何打印机属性,如页面方向等,我会收到一条消息,说“所选打印机上不支持操作”,然后会出现一些访问冲突 这里有点奇怪。如果我使用任何程序打印某些内容并打开打印机属

我最近从WindowsXP32位移动到Windows7 64位。我不能访问Borland C++ 5 IDE中的任何打印机。这似乎是某种特权问题,因为如果我以管理员身份登录,问题就会消失。我有一个简单的单行程序来显示这个问题

PrintDialog1->Execute()

对话框打开,但是如果我按下属性按钮,什么也不会发生。如果我试图更改任何打印机属性,如页面方向等,我会收到一条消息,说“所选打印机上不支持操作”,然后会出现一些访问冲突

这里有点奇怪。如果我使用任何程序打印某些内容并打开打印机属性,则问题会在IDE中消失,直到我重新启动IDE后才会返回。我已授予自己对所有打印机的完全访问权限,并对Borland安装到的目录c:\Borland具有完全访问权限


提前感谢您的帮助

这通常发生在没有指定默认打印机或没有安装打印机的情况下。正如您所指出的,如果您先从另一个应用程序打印(这意味着已设置了当前打印机),它工作正常,我们知道您已安装打印机。这似乎表明问题与未分配默认打印机有关


转到设备和打印机,查看其中一台打印机是否有绿色复选标记。如果不是,右键单击其中一个,然后选择
设置为默认打印机

我们是Delphi用户,也有同样的问题

我们通过如下设置默认打印机来解决此问题:

Printer.PrinterIndex := -1;
这是单位打印机文档

unit Printers;
...
{  
  PrinterIndex - Specifies which printer in the TPrinters list that is
  currently selected for printing.  Setting this property to -1 will cause
  the default printer to be selected.  If this value is changed EndDoc is
  called automatically.
}

希望对你有用。对于我来说,Borland C++ 5 IDE将不能正常运行,除非我“运行管理员”。(赢得64位)。@TerentyRezman如果您将其安装到您的用户具有写入权限的文件夹中,那么您将很好。谢谢您提供的信息。我确实定义了默认打印机。还有其他建议吗?升级到不到十年的C++Builder版本?:-)很抱歉您可以使用调试器跟踪代码并尝试找出发生了什么,但我没有那么旧的Delphi或Builder版本。不幸的是,我不是决定何时升级CBuilder的人。无论如何,谢谢你。