Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.09;
Скачать: CL | DM;

Вниз

Как определить что сетевой принтер включен?   Найти похожие ветки 

 
Agrh   (2008-09-30 10:09) [0]

Подскажите, pls, как определить что сетевой принтер включен, зная его наименование?


 
Vlad Oshin ©   (2008-09-30 10:14) [1]

пропинговать, мб?


 
Сергей М. ©   (2008-09-30 10:26) [2]


> Agrh   (30.09.08 10:09)  


Осуществить с ним любой информационный обмен.


 
Сергей М. ©   (2008-09-30 10:44) [3]


> Vlad Oshin ©   (30.09.08 10:14) [1]


1. Сетевой контроллер в общем случае не обязан быть непосредственно на борту принтера.

2. Сетевая подсистема в общем случае не обязана отвечать на ICMP-запросы.

3. Сетевое инф.взаимодействие в общем случае не обязано быть организовано на базе IP.


 
Поросенок Винни-Пух ©   (2008-09-30 11:12) [4]

как определить что сетевой принтер включен

и что даст это знание?


 
Vlad Oshin ©   (2008-09-30 11:13) [5]


> что сетевой принтер включен


 
Правильный$Вася   (2008-09-30 11:16) [6]


> Vlad Oshin ©   (30.09.08 11:13) [5]

тогда следующий вопрос может возникнуть
как определить его готовность?


 
Vlad Oshin ©   (2008-09-30 11:22) [7]


> Правильный$Вася   (30.09.08 11:16) [6]

где то я уже это читал..

:)


 
Agrh   (2008-09-30 11:25) [8]

Собственно проблема в том, что пользователи забывают включать то комп к которому подключен принтер, то сам принтер. В рез-те лезут ошибки.
Хотелось бы заранее знать о готовности принтера и сообщать пользователю об этом, скажем, в строке статуса.
Если можно киньте примерчик.


 
Сергей М. ©   (2008-09-30 11:29) [9]


> В рез-те лезут ошибки


Эти "лезущие ошибки" и есть факты недоступности принтера.

А что, в вашей сети админов истребили как класс ?)


 
Anatoly Podgoretsky ©   (2008-09-30 11:30) [10]


> Если можно киньте примерчик.

Ремень лучшее средство.


 
Anatoly Podgoretsky ©   (2008-09-30 11:31) [11]

А ты зачем в пользовательские функции то лезешь, или ты этот самый забывчатый или ты только объявление разместил?


 
Поросенок Винни-Пух ©   (2008-09-30 11:32) [12]

Собственно проблема в том, что пользователи забывают включать то комп к которому подключен принтер,

Бывает что включить не забывают, но забывают зарядить его бумагой/чернилами/порошком.

Дальше что?

Бывает что и это не забывают.
Все есть, все печатается.
Но в очереди уже есть 100 документов и когда дойдет дело до твоего документа (который тоже уже в очереди) то чего-то может не хватить.

Твои действия?


 
Anatoly Podgoretsky ©   (2008-09-30 11:42) [13]


> то чего-то может не хватить.

Например задания
Ну не понимают люди как это устроено и что Виндоус об этом не знает, а драйверов от производителей куча и все озабоченые.


 
Правильный$Вася   (2008-09-30 11:48) [14]

а у нас регулярно принтер "засыпает", например
т.е. он включен, у него всего хватает, но печатать он не желает, пока рубильником на нем не щелкнешь
но он не "висит", он просто спит, а просыпаться почему-то не желает


 
Agrh   (2008-09-30 11:48) [15]

У меня нету очереди в 100 документов!! Физически не может быть :)
максимум 2 документа, да и то маловероятно.
Я вроде про принтер, а мне то про ремни, а то про админов.((
А по существу кто-нить может подсказать?


 
Сергей М. ©   (2008-09-30 11:49) [16]

Мне это определенно нравится - вместо того чтобы искать решение по автоматизации включения и подготовки дивайса к штатной работе автор ищет решение по автоматизации вывода сообщения  "Сколько раз можно повторять - сначала включи принтер, бестолочь, а потом гони ему задания !"
)


 
Сергей М. ©   (2008-09-30 11:52) [17]


> по существу кто-нить может подсказать?


А прло админов и есть "по существу" : это и[ задача - приводить сет.устройства в штатное рабочеее состояние, хоть ручками, если не "влом" это делать каждое утро, хоть с пом. имеющихся или вновь разрабатываемых программно-аппаратных средств автоматизации.


 
Правильный$Вася   (2008-09-30 11:54) [18]


> А по существу кто-нить может подсказать?

существо должно дышать
если же оно не дышет, то пхать ему задания бессмысленно


 
oldman ©   (2008-09-30 11:55) [19]


> Сергей М. ©   (30.09.08 11:49) [16]
> автор ищет решение по автоматизации вывода сообщения  


Мне бы тоже неплохо-бы...
А то каждый день звонок из бухгалтерии "У нас принтер не печатает, хотя включен".
Ответ: "Компьютер, к которому он подключен, тоже включите!!!"

:)


 
oldman ©   (2008-09-30 11:58) [20]


> Agrh   (30.09.08 11:48) [15]
> А по существу кто-нить может подсказать?


По существу - проблема твоя бессмыслена.
Например, послал ты задание на принтер, определив предварительно, что он включен.
Во время выполнения задания принтер выключили. И т.д. и т.п.

Самое верное решение как раз админы и ремни.


 
Anatoly Podgoretsky ©   (2008-09-30 11:58) [21]

> oldman  (30.09.2008 11:55:19)  [19]

Если бы тебе точно нужно именно это решение, то безвозмеждно делюсь.
На принтер приклеиваешь бумажку включите компьютер, а на компьютер - включите принтер. Бухгалтерам на их мониторах - включите компьютер и принтер. Это научное решение. А ламерское купить самый дешевый принт-сервер, если принтер не имеет его.


 
Сергей М. ©   (2008-09-30 12:00) [22]


> oldman ©   (30.09.08 11:55) [19]


> Ответ: "Компьютер, к которому он подключен, тоже включите!
> !!"


Автоматизировать включение сетевого компа в большинстве случаем неизмеримо проще чем проделать тоже самое с принтером)


 
oldman ©   (2008-09-30 12:02) [23]


> Anatoly Podgoretsky ©   (30.09.08 11:58) [21]
> ...приклеиваешь бумажку...
> Это научное решение.


Обожаю программистов!!!


 
Правильный$Вася   (2008-09-30 12:07) [24]


> > Это научное решение.

нифига
научное - это лишение % зарплаты за каждый отрыв админа не по существу


 
Agrh   (2008-09-30 12:11) [25]

Блин, я тут и админ и программист и еще бог знает кто.. ))
И мне проще вывести сообщение чем бежать в другую комнату, где мне тычут в экран и говорят про ошибки! И включать за всех всё мне что-то лень.
Про бумажки с "включи это" - это не бухгалтерия, это производство.
Здесь один принтер. Порой за комп с принтером никто не садиться работать ни разу за весь день. Работают с других мест. И включать принтер забывают.
Вместе с печатью идет запись в БД. В рез-те запись в БД есть, а на печати пусто. Приходится лезть в базу и править.
Именно  по этим причинам мне хочется сначала проверять принтер, а уж потом разрешать людям жать на кнопки.


 
Сергей М. ©   (2008-09-30 12:16) [26]


> я тут и админ и программист и еще бог знает кто


ну так бы сразу и сказал, что ты в той конторе работаешь эникейщиком)


> Здесь один принтер


Если принтер приличный,  его можно вообще не выключать - в стэндбай-режиме он непожароопасен и практически не потребляет эл.энергию.


> за комп с принтером никто не садиться работать ни разу за
> весь день


Что мешает автоматизировать операцию включения/выключения компа в нужное время ?


 
Правильный$Вася   (2008-09-30 12:18) [27]


> Вместе с печатью идет запись в БД. В рез-те запись в БД
> есть, а на печати пусто. Приходится лезть в базу и править.

а слабо сделать запись в БД ПОСЛЕ УДАЧНОЙ печати?

> Порой за комп с принтером никто не садиться работать ни
> разу за весь день

перецепить на другой комп, или купить автономный принтер


 
Vlad Oshin ©   (2008-09-30 12:19) [28]


> В рез-те запись в БД есть, а на печати пусто.

печатай в try excepte, в последнем делай откат изменений в БД


 
Сергей М. ©   (2008-09-30 12:22) [29]


> за комп с принтером


А вообще это, конечно же, безобразие - использовать рабочую станцию в качестве принтсервера. Неужто в конторе такая нищета, что она не может себе позволить пару-тройку штук деревянных денег на автономный принтсервер ?


 
brother ©   (2008-09-30 12:23) [30]

имхо принт сервер как раз оно)


 
Agrh   (2008-09-30 13:11) [31]


> печатай в try excepte, в последнем делай откат изменений
> в БД
и с этим проблемы.. =(
Перещелкивается триггер. На нем висят некоторые номера, которые обязательно должны идти по порядку. По этому поводу я уже замучался спорить с начальством.  Им не объяснишь механизмов БД.
Покупать же новый принтсервер даже по-моему не разумно, а уж начальника я ни в жизнь не уломаю.


 
Сергей М. ©   (2008-09-30 13:19) [32]


> Agrh   (30.09.08 13:11) [31]


Структуру и логику БД тоже ты разрабатывал ?


> Покупать же новый принтсервер даже по-моему не разумно,
> а уж начальника я ни в жизнь не уломаю


Смотри, кума, - тебе жить)

Все же повторюсь - что мешает сосредоточиться не автоматизации включения/выключения компа, выполняющего ныне ф-ции принт-сервера ?


 
Anatoly Podgoretsky ©   (2008-09-30 13:58) [33]

> Правильный$Вася  (30.09.2008 12:07:24)  [24]

В корпорациях, где все поставлено на научную основу, ничего подобного делать не требуется, это отчисляется автоматически при любом обращение к админу. Расходы ложатся на того, кто заказывает услугу, а доходы на службу, которой идут отчисление. И не возникает никаких проблем, кому зря деньги платят.


 
Anatoly Podgoretsky ©   (2008-09-30 14:00) [34]

> Agrh  (30.09.2008 12:11:25)  [25]

Ты не админ и программист - ты дурак, вместо того что бы наладить раз и навсегда, кто чем заниматься, тебе выгоднее бегать по другим комнатам, но в условиях капиталистического общества вроде даже как понятно, защищаешь свое место.
Проблема не техническая, а административная, то есть ты занимаешься не своим делом.


 
Anatoly Podgoretsky ©   (2008-09-30 14:03) [35]

> Agrh  (30.09.2008 13:11:31)  [31]

Так у вас еще и с БД бардак, да как же вы живете.
А по вопросу, твоя задача не имеет абсолютного решения, слишком мало ты видел принтеров и озабочен защитой своего места.


 
Правильный$Вася   (2008-09-30 14:03) [36]


> Anatoly Podgoretsky ©   (30.09.08 13:58) [33]

дык, и я о том
а ты - "бумажки, надписи"...


 
Anatoly Podgoretsky ©   (2008-09-30 14:08) [37]


> Все же повторюсь - что мешает сосредоточиться не автоматизации
> включения/выключения компа, выполняющего ныне ф-ции принт-
> сервера ?

Нафиг, это тоже не научно, включение просто вносится в обязаности одного из соотрудников и его замещающего.
Осталось только с базой разобраться, почему у них там так.


 
Сергей М. ©   (2008-09-30 14:16) [38]


> Anatoly Podgoretsky ©   (30.09.08 14:08) [37]
>
>


> это тоже не научно


Зато довольно легко реализуемо, даже для эникейщика


 
Vlad Oshin ©   (2008-09-30 14:29) [39]


> Anatoly Podgoretsky ©

навалился с высоты опыта :)

Знаю я этих бухов, предложение такое: Завязать им включение компа и принтера на включение чайника. Все равно пока не попьют чаю работать не начинают.


 
Agrh   (2008-09-30 14:52) [40]


> Anatoly Podgoretsky

Есть некоторые отличия знаешь ли между корпорацией и небольшой организацией. Тут как то просто нет работы для одного админа, к примеру.
Тут нет отделов, нет служб ...
А с БД работает всего 7 компов и за 5-ю из них сидят фактически обычные рабочие после ПТУ, которые спрашивают как комп выключать, не кнопочкой ли ресет.

> Сергей М. ©   (30.09.08 13:19) [32]
> Структуру и логику БД тоже ты разрабатывал ?

К сожалению, ТЗ на БД не давалось сразу и полностью...На тот момент идея с триггерами казалась вполне хорошей.

PS: из 40 постов всего 3-4 полезных. Интересно, о чем это говорит?


 
Сергей М. ©   (2008-09-30 14:59) [41]


> о чем это говорит?


Это говорит о том, что проблема не решаема - "дыры" в секвенции "номеров" все равно будут.


 
Anatoly Podgoretsky ©   (2008-09-30 15:25) [42]

> Vlad Oshin  (30.09.2008 14:29:39)  [39]

Многие компьютеры имеют в БИОС функцию включения компьютера по появлению питания, ну дальше вывод сам сделаешь.
Насчет принтера конечно сложнее, но такой вопрос, а нафига выключать принтер, ведь все равно он не выключается, а только делает вид.
Ну и как назначить одну главной по общежитию.
У меня бухгалтера не только принтер включают, но и сами заправляют бумагу и меняют картридж с тонером, я их подальше посылаю, вежливо, но им понятно куда.


 
Vlad Oshin ©   (2008-09-30 15:45) [43]


> Anatoly Podgoretsky ©   (30.09.08 15:25) [42]

да это понятно, сам настраиваю на 8-55 включаться с пн-пт.
Пришел - все включено, почта скачана, делфя запущена, работай.
Ранеше делал по звонку(модем подключал), типа к работе подходишь, позвонил себе, пока доходишь - все включается


> нафига выключать принтер, ведь все равно он не выключается,
>  а только делает вид

вот это не у всех, думаю.. Хотя тебе(это римское ты :)) виднее.


> У меня бухгалтера не только принтер включают, но и сами
> заправляют бумагу

ну тут слов нет, построил.. :)
А то ругаться: программист-админ-дурак. В нужное русло надо энергию тратить. Пусть бухи еще кофе программерам-админам таскают :)


 
Сергей М. ©   (2008-09-30 15:56) [44]


> Многие компьютеры имеют в БИОС функцию включения компьютера
> по появлению питания


А даже если такой ф-ции нет, то наверняка есть Wake-On-LAN, со всеми втекающими и вытекающими.
А дальше полный простор для совсем несложного творчества)
Но автор упорно не хочет это видеть, ему оч хочется ткнуть бухов носом в факт невключенности принт-сервера)


 
Городской Шаман   (2008-09-30 16:00) [45]

А она работает безропотно,
Огоньки на пульте обтекаемом,
Ну а нам-то, нам-то среди роботов,
Нам что делать, людям неприкаянным?!
А. Галич


 
Городской Шаман   (2008-09-30 16:10) [46]

EnumPrinters
PRINTER_INFO_2
Status
Specifies the printer status. This member can be any reasonable combination of the following values.

PRINTER_STATUS_OFFLINE


 
Anatoly Podgoretsky ©   (2008-09-30 16:18) [47]

> Agrh  (30.09.2008 14:52:40)  [40]

Если нет работы для админа, то о чем речь, тут вообще сам бог велел решать проблемы самостоятельно, особенно административные, а не технические.
У меня ни одна старушка этого не спрашивает, они вполне адекватные пользователи.
Да все посты полезные, это ты не можешь понять, что в общем это не возможно, а частные способы решаются для частных драйверов и определенных моделей принтеров.


 
Anatoly Podgoretsky ©   (2008-09-30 16:19) [48]

> Vlad Oshin  (30.09.2008 15:45:43)  [43]

Вот именно, что включение это не проблема.


 
Anatoly Podgoretsky ©   (2008-09-30 16:20) [49]

> Vlad Oshin  (30.09.2008 15:45:43)  [43]

Ну сегодня мне принесли 4 шоколадки, а кофе предлагают, если я захожу в гости, не важно по делу или так.
Важно правильно процесс настроить.


 
Anatoly Podgoretsky ©   (2008-09-30 16:24) [50]

> Городской Шаман  (30.09.2008 16:10:46)  [46]

Ты принтера с СОМ интерфейсом видел, при том задействованы только одна линия передачи и земля?
Это просто как самый наглядный пример.
Вот другой крайний случай. Принт-сервер, есть информация о доступности, есть рам диск на множество заданий, будет даже получен ответ, что документ распечатан, но лежит он на диске и отключение питания теряет все документы в нем.
Третий вариант, не думаю, что с принтером работают напрямую, задание помещается в очередь и ответ, что все ОК, дальше не печатая обнуляют очередь заданий.
И таких вариантов много больше, чем я в состоянии себе представить, хотя за свою жизнь, каких только принтеров не видел.


 
Vlad Oshin ©   (2008-09-30 16:25) [51]

нашел. даавноо писал, если нужно, вообщем

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, winspool, ExtCtrls;

type
 TForm1 = class(TForm)

   Timer1: TTimer;

   procedure Timer1Timer(Sender: TObject);
   procedure FormCreate(Sender: TObject);

 private
   { Private declarations }
 public
  CZad:Double;
{ Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

function GetEnumeratedPrinterPorts: String;
label 1;
var
Buffer, PrinterInfo: PChar;
Flags, Count, NumInfo: DWORD;
I,j: Integer;

PrinterHandle:tHandle;
ZadachiPrintera : array [0..20] of TJobInfo2;
ByteRez,StructCount : DWORD;
Stroka : String;

procedure PriemZadanie;
var
 f:textfile;
begin
 form1.CZad:=SystemTimeToDateTime(ZadachiPrintera[j].Submitted);
 stroka:="";
 Stroka:=Stroka+" Mashine: "+ZadachiPrintera[j].pMachineName;
 Stroka:=Stroka+" User: " +ZadachiPrintera[j].pUserName;
 Stroka:=Stroka+" Driver: " +ZadachiPrintera[j].pDriverName;
 Stroka:=Stroka+" Total pages: " +IntToStr(ZadachiPrintera[j].TotalPages+ZadachiPrintera[j].PagesPrinted);
 Stroka:=Stroka+" Document: " +ZadachiPrintera[j].pDocument;
 Stroka:=Stroka+" God: " +IntToStr(ZadachiPrintera[j].Submitted.wYear);
 Stroka:=Stroka+" Mesyac: " +IntToStr(ZadachiPrintera[j].Submitted.wMonth);
 Stroka:=Stroka+" Day: " +IntToStr(ZadachiPrintera[j].Submitted.wDay);
 Stroka:=Stroka+" Hour: " +IntToStr(ZadachiPrintera[j].Submitted.wHour);
 Stroka:=Stroka+" Minute: " +IntToStr(ZadachiPrintera[j].Submitted.wMinute);
 Stroka:=Stroka+" Second: " +IntToStr(ZadachiPrintera[j].Submitted.wSecond);
 Stroka:=Stroka+" Milliseconds: " +IntToStr(ZadachiPrintera[j].Submitted.wMilliseconds);
 assignfile(f,"prnlog.txt");
 //reset(f);
 append(f);
 writeln(f,stroka);
 closefile(f);
end;

begin
Result := "";
Flags := PRINTER_ENUM_LOCAL;
Count := 0;
EnumPrinters(Flags, nil, 2, nil, 0, Count, NumInfo);
if Count = 0 then Exit;
GetMem(Buffer, Count);
try
  if not EnumPrinters(Flags, nil, 2, PByte(Buffer), Count, Count, NumInfo) then
      Exit;
  PrinterInfo := Buffer;
  stroka:="";
  try
    for I := 0 to NumInfo - 1 do
      with PPrinterInfo2(PrinterInfo)^ do
      begin
        OpenPrinter(pPrinterName,PrinterHandle,nil);
        if EnumJobs(PrinterHandle,
                    0,
                    cJobs,
                    2,
                    @ZadachiPrintera,
                    SizeOf(ZadachiPrintera),
                    ByteRez,
                    StructCount)
         then if StructCount>0
               then for j := 0 to StructCount-1 do  begin
       //???????????????????

         if (SystemTimeToDateTime(ZadachiPrintera[j].Submitted)>form1.CZad)
            then PriemZadanie;
                                                     end;

        Inc(PrinterInfo, sizeof(TPrinterInfo2));
      end;
    Result := Stroka;
  finally
      //!!!!!!!!
  end;
finally
  FreeMem(Buffer, Count);
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
timer1.Enabled:=false;
Application.PROCESSMessages;
GetEnumeratedPrinterPorts;
timer1.Enabled:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  CZad:=0;
end;

end.


 
Vlad Oshin ©   (2008-09-30 16:27) [52]

с учетом

> Anatoly Podgoretsky ©   (30.09.08 16:24) [50]
> > Городской Шаман  (30.09.2008 16:10:46)  [46]


и особенно Flags:= PRINTER_ENUM_LOCAL; переправить



Страницы: 1 2 вся ветка

Текущий архив: 2008.11.09;
Скачать: CL | DM;

Наверх




Память: 0.62 MB
Время: 0.014 c
3-1208944407
TADOCommand
2008-04-23 13:53
2008.11.09
Зарезервировать ключ перед вставкой


15-1221142340
Оксана
2008-09-11 18:12
2008.11.09
Опера


15-1221225864
Scritniy
2008-09-12 17:24
2008.11.09
Версии Delphi


2-1222750004
Gerbert
2008-09-30 08:46
2008.11.09
Вопрос по свойству "HomeName" у компонента "OraSession"


2-1222844654
FoxNew
2008-10-01 11:04
2008.11.09
Строка соединения ADOConnection для работы с SQL-Server-ом