Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
4-1098298181
Cheburek
2004-10-20 22:49
2004.12.05
Drag&amp;Drop элементов из проводника в моё приложение


1-1101120518
#Master#
2004-11-22 13:48
2004.12.05
Чтение из текстового файла


4-1098216214
DS
2004-10-20 00:03
2004.12.05
выключить компьютор Win2000


1-1101314348
Jolik
2004-11-24 19:39
2004.12.05
Не подскажите быстрый алгоритм сравнения символьных...


1-1101208770
denis24
2004-11-23 14:19
2004.12.05
удаление контрола





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский