Вверх ↑
Этот топик читают: Гость
Ответов: 1528
Рейтинг: 57
#31: 2011-10-28 11:56:56 ЛС | профиль | цитата
hitman249 писал(а):
а по локатору расшаренных в сети принтеров есть что подсказать ?

карма: 0

0
Ответов: 3889
Рейтинг: 362
#32: 2011-10-28 12:13:57 ЛС | профиль | цитата
hitman249 писал(а):
по локатору расшаренных в сети принтеров

Что именно, в параллельной ветке форума только что подсказал, как подправить штатный NetworkLocator что бы вообще запускался, Вы об
этом?
карма: 1

0
Ответов: 1528
Рейтинг: 57
#33: 2011-10-28 13:32:58 ЛС | профиль | цитата
1nd1g0, нет мне нужен список принтеров в сети
print.jpg
------------ Дoбавленo в 13.32:
накопал на делфях кое что
компонент PRINTER_ENUM бы в палитру


#pas
procedure TMainScreen.BtnEnumClick(Sender: TObject);
var
Level : Byte;
Buffer, PrinterInfo : PChar;
i : Integer;
Flags, Count, NumInfos : DWORD;
liPrn : TListItem;
begin
// Flush any previous content of the visula printer list
LvPrinters.Items.Clear;
//
// We need different version of PRINTERINFO
// depending of Windows version
if Win32Platform = VER_PLATFORM_WIN32_NT then begin
// Under NT ENUM_CONNECTIONS will work fast, because
// it does not perfrom real RPC calls, but uses internal NT
// "history" instead.
Flags := PRINTER_ENUM_CONNECTIONS or PRINTER_ENUM_LOCAL;
Level := 4;
end
else begin
// Under Win9x ENUM_LOCAL will return even network devices,
// because, in fact, all information will be retrieved from Registry
Flags := PRINTER_ENUM_LOCAL;
Level := 5;
end;
//
// Determine, how much memory do we need for the printer
// list and allocate necessary buffer.
Count := 0;
EnumPrinters( Flags, nil, Level, nil, 0, Count, NumInfos );
if Count = 0 then Exit;
GetMem( Buffer, Count );
//
try
// Retrieve printer list
if not EnumPrinters( Flags, nil, Level, PByte(Buffer), Count, Count, NumInfos ) then
Exit;
PrinterInfo := Buffer;
//
// Walk through the printer list and put an information
// about each printer to our own ListView
for i := 0 to NumInfos - 1 do begin
liPrn := LvPrinters.Items.Add;
//
if Level = 4 then begin
// Process PRINTER_INFO_4 data
liPrn.Caption := PPrinterInfo4(PrinterInfo)^.pPrinterName;
if (PPrinterInfo4(PrinterInfo)^.Attributes and PRINTER_ATTRIBUTE_NETWORK) <> 0
then liPrn.subItems.Add( 'network' )
else liPrn.SubItems.Add( 'local' );
Inc( PrinterInfo, SizeOf(TPrinterInfo4) );
end
else begin
// Process PRINTER_INFO_5 data
liPrn.Caption := PPrinterInfo5(PrinterInfo)^.pPrinterName;
if (PPrinterInfo5(PrinterInfo)^.Attributes and PRINTER_ATTRIBUTE_SHARED) <> 0
then liPrn.subItems.Add( 'shared' )
else liPrn.SubItems.Add( '' );
Inc( PrinterInfo, SizeOf(TPrinterInfo5) );
end;
end;
finally
FreeMem( Buffer, Count );
end;
end;
[url=http://forum.ixbt.com/topic.cgi?id=40:657]исходная тема+скрины работы[/url]
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#34: 2011-10-28 13:58:09 ЛС | профиль | цитата
И где взять класс -- PrinterInfo4, если его у нас нет
карма: 22

0
Ответов: 1528
Рейтинг: 57
#35: 2011-10-28 14:21:30 ЛС | профиль | цитата
Это случайно не он?
printers.zip
------------ Дoбавленo в 14.21:
есть пару строк на С ссылка
карма: 0

0
файлы: 1printers.zip [7.4KB] [42]
Разработчик
Ответов: 26170
Рейтинг: 2127
#36: 2011-10-28 14:39:55 ЛС | профиль | цитата
Ага, вот этот класс в компонент добавится и еще вот эта муля нужна -- WinSpool. В результате -- нафиг такой компонент нужен, только hitman249-у, кроме тебя, про него больше никто не спрашивал
карма: 22

0
Ответов: 1528
Рейтинг: 57
#37: 2011-10-28 15:19:15 ЛС | профиль | цитата
nesco, понятно.

но задачу мне всёравно прийдётся както решать
не могу определить на каком языке написан скрипт, толи vbs толи vb6
и соответственно следующий вопрос конечно как его запустить
code_25604.txt
карма: 0

0
файлы: 1code_25604.txt [7.3KB] [97]
Ответов: 3889
Рейтинг: 362
#38: 2011-10-28 15:25:10 ЛС | профиль | цитата
[offtop]hitman249, похож на VB6.[/offtop]
карма: 1

0
Ответов: 1528
Рейтинг: 57
#39: 2011-10-28 15:49:47 ЛС | профиль | цитата
[offtop]1nd1g0, HiAsm может запускать VB6 ?[/offtop]
карма: 0

0
Ответов: 3889
Рейтинг: 362
#40: 2011-10-28 16:14:54 ЛС | профиль | цитата
[offtop]
hitman249 писал(а):
HiAsm может запускать VB6 ?

В виде текста - нет, конечно, это хоть и похожий на VBScript, но всё таки компилируемый в псевдоассемблер язык, к которому "приклеивается" собственная машина-транслятор.[/offtop]
карма: 1

0
Ответов: 1528
Рейтинг: 57
#41: 2011-10-31 08:33:21 ЛС | профиль | цитата
Всё перепробовал, даже скрипт с VB6 компилил из поста выше
нет других вариантов кроме пасника
кому не сложно скомпильте в DLL (под Delphi7 все классы есть)

code_25624.txt
карма: 0

0
файлы: 1code_25624.txt [2.3KB] [98]
Ответов: 16884
Рейтинг: 1239
#42: 2011-10-31 09:40:21 ЛС | профиль | цитата
hitman249, а сам ? http://citforum.ru/programming/delphi/dll_delphi/
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1528
Рейтинг: 57
#43: 2011-10-31 09:59:58 ЛС | профиль | цитата
Tad, да яб сам сделал, только там фрагмент
а я дальше цельного проекта dpr ещё не ушёл
карма: 0

0
43
Сообщение
...
Прикрепленные файлы
(файлы не залиты)