|
Тема |
Смяна на принтера по подразбиране |
|
Автор |
Дokтopa (непознат
) |
|
Публикувано | 30.04.05 18:03 |
|
|
Имам проблем, когато сменям принтера по подразбиране, програмно, и то само за мрежовите принтери.
използувам следната процедура:
(параметърът MyPrinterPort е по подразбиране е LPT1:)
procedure ChangeDefaultPrinter(PrinterName: String);
var
strIni: array[0..MAX_PATH] of Char;
arrWindows: array[0..64] of Char;
begin
if (Trim(PrinterName) <> '') and (Trim(MyPrinterPort) <> '') then
begin
GetWindowsDirectory(strIni, SizeOf(strIni));
StrCat(strIni, '\win.ini');
with TIniFile.Create(strIni) do
try
WriteString('windows', 'device', PrinterName+',HPPCL5MS,'+ MyPrinterPort);
finally
Free;
end;
StrCopy(arrWindows, 'windows');
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@arrWindows));
end;
end;
Ако имам два принтера на едно PC (два принтерски порта), не е проблем.
Понякога забива при принтер, инсталиран на USB-порт, или мрежови, и предимно при Win98.
Ако някой има по-добра идея за управление на принтерите да я сподели.
С Уважение: Доктора
|
| |
|
|
|