Link to home
Start Free TrialLog in
Avatar of geobul
geobul

asked on

Impersonated user and printing

Hi,

I have an app which is working under the name of a user account different from the currently logged on one, i.e. impersonated user account from a Windows domain. The account which my app is impersonating has been added to the local workstation and a default printer has been assigned to it. The currently logged on user also has the same printer set as a default one. However, when I try to print something I get a message 'There is no default printer'. If both accounts are equal then printing is always successful.

What is the problem and how could it be solved? I know I can revert to self, print and impersonate the user again but that's not I'm after. I hope there is a better solution.

Environment: Delphi 5 Ent, Win 2000/XP.

Thanks in advance.

Regards, Geo
ASKER CERTIFIED SOLUTION
Avatar of delphized
delphized

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of geobul
geobul

ASKER

Thanks delphized. Setting

printer.printerindex:=-1;

before executing PrinterDialog solved it. It is not necessary to do so when printing from the currently logged on user. That's why I haven't added that line.

Regards, Geo