Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.036 c
14-1100731463
KilkennyCat
2004-11-18 01:44
2004.12.05
И еще немного о форумах. Какими они должны быть?


3-1099227035
Тимохов
2004-10-31 15:50
2004.12.05
Проблемы с ADO и multiple recordsets


9-1091462459
Красный молоток
2004-08-02 20:00
2004.12.05
DDraw VSync


6-1096023735
Wolfram
2004-09-24 15:02
2004.12.05
Работа с vCard


3-1099578758
msguns
2004-11-04 17:32
2004.12.05
Долгоиграющий запрос в Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский