Что нового

Сбор информации о ПО

Talany

Знающий
Сообщения
136
Репутация
11
Приветсвую всех любителей AutoIt!
Подскажите пожалуйста можно ли реализовать скрипт который соберет всю информацию о установленом программном обеспечении!
(Можно конечно написать чтобы проверял существование папки определенной программы НО это не вариан)
Заранее благодарен! :IL_AutoIt_1:
 

Waik

Знающий
Сообщения
60
Репутация
16
Подскажите пожалуйста можно ли реализовать скрипт который соберет всю информацию о установленом программном обеспечении!
Думаю можно.

(Можно конечно написать чтобы проверял существование папки определенной программы НО это не вариан)
Если это не нужно то зачем упоминать об этом как о возможном варианте?

Если тебе надо что-бы за тебя написали то скажи какая ОС и.т.д
И если надо что-бы за тебя сделали то мне кажется эта не та ветка.
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 575
Репутация
335
Какая информация хоть интересует то?!
 

ynbIpb

Скриптер
Сообщения
399
Репутация
109
Помню писал функцию для ICQ бота
Код:
Func _ALLprogs()
Local $otvet = ""
; заносим в переменную ключ, где хранится информация о всех установленных программах
Local $uninstall_key = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
For $i= 1 to 999 ; крутим цикл до 999, где 999 это предположительно максимальное клличество программ)
    $subkey = RegEnumKey($uninstall_key , $i); по порядку читаем имя подключа
    If @error <> 0 then ExitLoop ; если ошибка, значит ключи кончились, выход из цикла
	$DisplayName = RegRead ( $uninstall_key&"\"&$subkey, "DisplayName" ); отображаемое имя 
	If Not $DisplayName = "" Then $otvet &= $DisplayName & @CRLF; если имя не пустое, то в список его
Next
; если ответ пустой, то формируем ответ что всё плохо...
If $otvet = "" Then $otvet = "Can not get list of installed progs!"
Return $otvet ; возвращаем сформированный ответ из функции
EndFunc
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Интересует весь софт который установлен на машине... (Кроме Windows =))
Я понял что всю инфу можно взять из реестра(Но в каком именно ключе понятия не имею)
Waik
Мне не надо чтобы вы мне написали, только маленькая помощь (как говорится навели на нужный путь)
OS Windows XP или 2000;
Конечный результат: чтобы вся инфа находилась в одной переменной, чтобы я ее мог передать мотодом $_GET
 

saavaage

Знающий
Сообщения
171
Репутация
17
посмотри в сторону функции CompInfo.au3

Сам я для себя делал такой вот скрипт:

Код:
#include <GUIButton.au3>
#include <GUIConstantsEx.au3>
#include <CompInfo.au3>

Opt("GUIOnEventMode", 1)


Global $Name

$hMain_GUI = GUICreate("Диагностика и Настройка", 619, 442, 189, 122)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

$Tab1 = GUICtrlCreateTab(8, 16, 601, 377)

;;;; Software ;;;;
$Software = GUICtrlCreateTabItem("Software")

_ComputerGetSoftware($Software)
$Name = GUICtrlCreateLabel("Net Framework", 47, 86, 91, 17)
$Edit1 = GUICtrlCreateInput("", 200, 86, 361, 17)

GUICtrlCreateTabItem("")
GUISetState()

$Sample = GUICtrlRead($Name)

For $i = 1 To $Software[0][0] Step 1

GUICtrlSetData($Edit1, StringRegExpReplace($Software[$i][0] & " Version: " & $Software[$i][1] & @LF, '(.*'& $Sample &'.*)|.*[\n]', '\1'), 0)
Next


While 1
    Sleep(100)
WEnd



Func CLOSEClicked()
  Exit
EndFunc
Но мне надо было просто проверку сделать на наличие . К этой функции у Автора толковые примеры, там есть вывод, практически всего софта. На корректность не претендую - пока только начал осваивать.
 

DK4

Дневной_Котяра
Сообщения
18
Репутация
2
Ну что ж мы? СКИСЛИ? :sleep: :sleeping: :sleep:Вопрос - то хороший! Возможно Talany и не прийдёт, однако ответ может помочь многим. В том числе и мне. Так что, "неужели перевелись гуру в AutoIt"? :blum:oke:
 

DK4

Дневной_Котяра
Сообщения
18
Репутация
2
Или мы бедм считать что ответ получен? Нет, конечно дельные ответы здесь есть, но видимо они немного не подошли, раз не одно из них не отмечено как полезное. Однако за неимением лучшего я возьму скрипт ynbIpb'а!
 
Верх