Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   Утилиты для определения возможностей CD-привода (IfRW, IfDVD) (http://forum.oszone.net/showthread.php?t=53790)

Petya V4sechkin 13-09-2005 14:18 355158

Утилиты для определения возможностей CD-привода (IfRW, IfDVD)
 
Вложений: 4
Первая утилита (IfRW) определяет, есть ли в системе RW-привод, и, если есть, запускает программу, заданную параметрами командной строки.

Синтаксис:
IfRW.exe [/h] <имя_программы> [<параметры_программы>]
Необязательный параметр /h скрывает окно запускаемой программы (имеет смысл, если <имя_программы> cmd-файл).

Примеры:
IfRW.exe Nero6.exe
(при наличии в системе RW-привода будет запущен файл Nero6.exe)
IfRW.exe /h Nero6.cmd

Нормально работает на T-12 или из RunOnceEx.
Ось Win 2000 и старше.

Так что вот так..
Разумеется, если вы пользуетесь средствами типа WPI, то эти программки (IfRW, IfDVD) вам не нужны.
Но может, кому-нибудь пригодится..

igorechichek 13-09-2005 20:29 355236

Petya V4sechkin
За утилиту спасибо
хотелось бы еще ссылку на IfВDVD :search:
Плотно пользуюсь WPI но с твоей програмулиной можно будет вообще убрать из WPI установку Nero и того же WinDVD

igorechichek 13-09-2005 20:30 355237

Есть привод RW- есть Nero
нет привода - нет неро

D@nil 13-09-2005 20:41 355241

Прога рулит!

Petya V4sechkin 14-09-2005 10:05 355374

А вы ее тестировали? Если да, отпишитесь.

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

D@nil 14-09-2005 12:05 355406

Petya V4sechkin
Пробовал под системой Vista :beta: Build5112, Работает!

igorechichek 14-09-2005 13:34 355427

Petya V4sechkin
Пробовал под WinXP Ent SP2 и под Win 2003 Server SP1 Ent
все работает!
Сегодня попробую еще на Win 2003 Server SP1 Standart но думаю проблем не будет

Solitude 14-09-2005 14:50 355448

Petya V4sechkin
А эта утилитка работает с приводами CD-RW+DVD, DVD и пищущими DVD ?

Petya V4sechkin 14-09-2005 16:05 355474

Solitude
А ты проверял? Прежде, чем спрашивать?

Solitude 14-09-2005 17:10 355487

Petya V4sechkin
В том то и дело что мне не на чем проверить, вот я и спрашиваю, может кто то проверял и знает ответ!

Petya V4sechkin 14-09-2005 17:16 355488

Solitude
Теоретически оно должно работать с любыми RW-девайсами, которые может распознать IMAPI.

Petya V4sechkin 19-09-2005 16:14 356605

IfDVD (определяет наличие в системе DVD-девайса).

Вызов такой же, как IfRW:
IfDVD [/h] <имя_программы> [<параметры_программы>]

Нормально запускается на T-12 или из RunOnceEx.
Ось начиная с Win 2000 (не проверял) и старше.

Теперь что касается IfRW, я тут нарыл еще один хитрый способ (спасибо микрософту за KB305184). Этот способ никак не зависит от IMAPI (это плюс). Но может не работать со старыми резаками, которые не поддерживают спецификации SCSI-3 MMC (это минус). Скорее всего, сделаю комбинированный вариант (для надежности). Когда будет свободное время..

igorechichek 20-09-2005 20:25 356980

Solitude
у меня LG CD-RW (по моему 5226 или что то такое )
и соня DVD-RW
пробовал и обеими сразу и с каждым по отдельности и подкидывал одну читалку - все работает корректно

Petya V4sechkin 26-09-2005 16:10 358742

Ну вот, подправил IfRW, теперь нормально запускается на T-12, ось Win 2000 и старше.
Файлы прикреплены к первому посту темы.

Solitude 27-09-2005 11:11 358949

igorechichek
Спасибо. Это хорошо.
Petya V4sechkin
Цитата:

Ну вот, подправил IfRW, теперь нормально запускается на T-12, ось Win 2000 и старше.
Файлы прикреплены к первому посту темы.
Спасибо. Теперь можно юзать.

dodther 28-12-2005 08:33 387413

А уподобной утилиты для определения видиокарты нет случайно??


P.S а для определения rw рульная прога

Nikola Soft 28-12-2005 23:35 387659

А нельзя-ли собрать утилиту для определения типа процессора с возможностью копирования соответствующего логотипа (oemlogo.bmp и oeminfo.ini) в папку System32?

D@nil 30-12-2005 07:39 388045

Nikola Soft
можно, только толка мало.
Попробуй поюзать CPU-Z с AutoIt3. поможет 100%

Nikola Soft 31-12-2005 16:19 388397

D@nil
Я так думаю что ты не понял что я хочу. Узнать какой камень стоит в машине не проблема,
я хочу чтобы при установке Windows на какую-либо машину с разными процами (AMD или Intel)
кликнув по "Мой компьютер">"Свойства" я мог там увидеть правильный логотип процессора.

dodther 01-01-2006 18:02 388552

Nikola Soft
так те и сказали как ето сделать

вот мой недоделаный скрипт для AutoIt3


Код:

run("cpuz.exe")
WinWaitActive("CPU-Z","Name")
 
Dim $text
$text = ControlGetText ( "CPU-Z", "", "Static6")
if $Text = "AMD Athlon XP" then
 
MsgBox(0, "Text read was:", $text)
endif
 
if $Text = "Intel Pentium 4" then
 
run("P4.exe")
endif
 
if $Text = "Intel Celeron" then
 
MsgBox(0, "Text read was:", $text)
endif
 
if $Text = "AMD Athlon" then
 
MsgBox(0, "Text read was:", $text)
endif
 
if $Text = "AMD Athlon MP" then
 
MsgBox(0, "Text read was:", $text)
endif
 
ProcessClose("cpuz.exe")

тоесть с помощью cpu-z определяет какой проц и запускае соответствующий архив
так что можеш доделать и юзать

мне просто пака некогда

З.Ыа вот насчет определения видео никто не поможет??

Petya V4sechkin 01-01-2006 18:21 388554

Nikola Soft
кажись, это даже из батника можно узнать, есть переменная %PROCESSOR_IDENTIFIER%

dodther
насчет видео - скажи зачем? может, альтернативный вариант посоветуем?

Petya V4sechkin 01-01-2006 21:36 388582

Nikola Soft, dodther
пипл! надыбал тулзу рулезную!

родная микрософтская, KB311272.
использовать в cmd-файлах, например:
Код:

DevCon.exe listclass Processor
DevCon.exe listclass Display

Блин, так же можно и сканеры определять!
Код:

DevCon.exe listclass Image

Petya V4sechkin 01-01-2006 22:24 388594

еще примерчики:
Код:

@Echo Off
SetLocal EnableExtensions
 
Echo Процессоры:
For /F "UseBackQ Tokens=2 Delims=:" %%I In (`DevCon.exe listclass Processor`) Do Echo %%I
Echo.
 
Echo Видеокарты:
For /F "UseBackQ Tokens=2 Delims=:" %%I In (`DevCon.exe listclass Display`) Do Echo %%I
Echo.
 
Pause
Exit

Код:

@Echo Off
SetLocal EnableExtensions
 
Set ScannerFound=
For /F "UseBackQ Tokens=2 Delims=:" %%I In (`DevCon.exe listclass Image`) Do Set ScannerFound=%%I
 
If Not "%ScannerFound%"=="" (
  Echo Найден сканер!
) Else (
  Echo Сканер не найден.
)
Echo.
 
Pause
Exit

А еще есть такая штука, wmi (можно использовать в wsh-скриптах), тогда и DevCon не нужен.

Примерчик на vbs:
Код:

Dim WMI, objItems
Const objGUID = "{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}"
 
Set WMI = GetObject("winmgmts:\\.\root\cimv2")
Set objItems = WMI.ExecQuery( _
  "Select * from Win32_PnPEntity" & _
  " where ClassGUID = '" & objGUID & "'")
 
If objItems.Count > 0 Then
  MsgBox "Есть сканер!"
Else
  MsgBox "Нет сканера."
End If

кроме Win32_PnPEntity есть куча других, более конкретных классов, например Win32_Processor, Win32_VideoController (см. документацию в MSDN).

dodther 02-01-2006 05:25 388653

Petya V4sechkin
да все не надо уже :)
нашол способ

MKN 01-02-2006 11:57 399605

Можно, как пример, определение модема ?

Petya V4sechkin 01-02-2006 12:26 399619

MKN
Для модема можно сделать по аналогии, имя класса: Modem, его GUID:
{4D36E96D-E325-11CE-BFC1-08002BE10318}

Работает, только если дрова уже установлены.

hobbit25 13-09-2006 16:16 484447

извините может глупый вопрос задам но можно конкретный примерчик как запстить из RunOnceEx Заранее спасибо!!!!


Время: 07:21.

Время: 07:21.
© OSzone.net 2001-