Текущий архив: 2004.12.05;
Скачать: CL | DM;
ВнизAddPrinterDriver Найти похожие ветки
← →
Lingo (2004-10-21 14:19) [0]Всем привет уже второй день парюсь с этой функцией
Народ может кто знает что конкретно делает AddPrinterDriver и почему при ее выполнении возникает ошибка 5 (нет доступа) причем через свойства принтеров Windows я могу менять им драйвера, имена и т.д. (т.е. работаю под правами администратора)
Из MSDN я понял что эта функция добавляет в систему новый драйвер принтера но почему тогда она выполняется только когда значение pName есть имя уже установленного принтера иначе GetlastError = 1801(Имя принтера заданно неверно)
var
pName: string;
pDriver: driver_INFO_2;
pDriver2: ^driver_INFO_2;
begin
pName:="HP LaserJet 4000";
pdriver.cVersion:=3;
pdriver.pName:="HP LaserJet 4000 PS";
pdriver.pEnvironment:="Windows XP";
pdriver.pDriverPath:="c:\driver\pscript.dll";
pdriver.pDataFile:="c:\driver\HP4000_7.PPD";
pdriver.pConfigFile:="c:\driver\Pscrp.dll";
if addPrinterDriver(pName,2,pDriver2)=false
then
showmessage("Error # "+inttostr(GetlastError));
end;
← →
GobliNGuT © (2004-10-21 15:55) [1]Ты хочешь установить локальный принтер? тогда смотри сюда
var
pDriver: driver_INFO_2;
pDriver2: ^driver_INFO_2;
begin
pdriver.cVersion:=3;
pdriver.pName:="HP LaserJet 4000 PS";
pdriver.pEnvironment:="Windows XP";
pdriver.pDriverPath:="c:\driver\pscript.dll";
pdriver.pDataFile:="c:\driver\HP4000_7.PPD";
pdriver.pConfigFile:="c:\driver\Pscrp.dll";
pDriver2:=^pDriver;
if addPrinterDriver(NULL,2,pDriver2)=false
then
showmessage("Error # "+inttostr(GetlastError));
end;
комент:
The AddPrinterDriver function installs a local or remote printer driver and links the configuration, data, and driver files.
BOOL AddPrinterDriver(
LPTSTR pName, // pointer to server name
DWORD Level, // printer info. structure level
LPBYTE pDriverInfo // pointer to printer info. structure
);
Parameters
pName
Pointer to a null-terminated string that specifies the name of the server on which the driver should be installed.
If pName is NULL, the driver will be installed locally.
pDriverInfo
Pointer to either a DRIVER_INFO_2 structure or a DRIVER_INFO_3 structure. If Level is 2, this parameter receives a DRIVER_INFO_2 structure. If Level is 3, this parameter receives a DRIVER_INFO_3 structure.
Да и маленькая рекомендация:
когда работаешь с указателями не называй статические переменные с маленькой бувы p. Намного удобнее искать у себя глюки если статика у тебя называется Name а указатель на нее называется pName (pointer to Name)
← →
Lingo (2004-10-22 07:42) [2]И так тоже не хочет работать не воспринимает строку
Dpriver2:=^pDriver;
Выдает ошибку:
Incopatible types: "Char" and "Pointer"
← →
Lingo (2004-10-22 08:35) [3]Извеняюсь
pDriver2:=^pDriver;
Да конечно так
← →
Lingo (2004-10-22 08:35) [4]Incopatible types: "Char" and "Pointer"
← →
Маг Похмеляйнен (2004-10-22 10:27) [5]А через rundll32 пробовали?
rundll32 printui.dll,PrintUIEntry <параметры>
← →
Lingo (2004-10-22 13:14) [6]
> rundll32 printui.dll,PrintUIEntry <параметры>
Да все заработало жаль конечно что так и не разобрался с addPrinterDriver ну да ладно времени уже нету.
Спасибо друзья.
http://maxz.ru/index.asp?CodeRazdel=25
Страницы: 1 вся ветка
Текущий архив: 2004.12.05;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.063 c