Автор Тема: Получение версии Flash Player`а зарегистрированного в операционной системе.  (Прочитано 5545 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3902
  • Репутация: 957
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Узнать версию Flash Player`а (зарегистрированного в операционной системе), можно обратившись к глобальному свойству $version.

Пример.
Код: AutoIt [Выделить]
Global $_Object = ObjCreate("ShockwaveFlash.ShockwaveFlash")
$_Object.AllowScriptAccess = "always"
Global $sVersion = $_Object.GetVariable("$version")
#cs
    Теперь переменная $sVersion содержит:
        - OS
        - основной номер
        - дополнительный номер
        - номер сборки
        - внутренний номер сборки
#ce

ConsoleWrite($sVersion & @CR)

« Последнее редактирование: Июнь 05, 2012, 16:40:37 от Garrett »

Скорблю и помню.




Русское сообщество AutoIt


Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7808
  • Репутация: 2280
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Это не совсем полный метод, я использую вот это:

Код: AutoIt [Выделить]
Global $oErr = ObjEvent("AutoIt.Error", "_ComError")

ConsoleWrite(_FlashGetVersion() & @CRLF)

;Return: OS, Flash version and build
Func _FlashGetVersion()
    Local $oSwf, $sVersion
   
    $oSwf = ObjCreate("ShockwaveFlash.ShockwaveFlash")
    If @error Then Return 0 ; No flash at all
   
    $oSwf.AllowScriptAccess = "always" ;;Need for 6.0r47
   
    $sVersion = $oSwf.GetVariable("$version")
   
    If @error Then
        $oSwf = ObjCreate("ShockwaveFlash.ShockwaveFlash.3")
       
        If @error Then
            $oSwf = ObjCreate("ShockwaveFlash.ShockwaveFlash.2")
            If @error Then Return 0
            $sVersion = 2
        EndIf
       
        $sVersion = 3
    EndIf
   
    Return $sVersion
EndFunc

Func _ComError()
    ; Just set @error, the script will handle it...
    Local $iErr = $oErr.number
    If $iErr = 0 Then $iErr = -1
    SetError($iErr)
EndFunc



Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3902

  • Автор темы
  • Репутация: 957
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
CreatoR
Согласен, только по-моему Flash.3 и Flash.2 вряд ли кто использует :)
На счет метода AllowScriptAccess согласен. Поправил.

Оффлайн querubin_new [?]

  • Bolo
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
первый вариант НЕ работает ...

Variable must be of type "Object".:
$_Object.AllowScriptAccess = "always"
$_Object^ ERROR

Второй вариант выдаёт результат = 0

Что не так?
Win_XP SP3 (у меня)
В действительности всё не так как на самом деле ...

Русское сообщество AutoIt


Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3485
  • Репутация: 915
    • Награды
  • Версия AutoIt: 3.3.14.0
querubin_new
Цитировать
Что не так?
Вероятно - не установлен. У меня оба варианта работают и на XP и на 7 и на 10.

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
6168 Просмотров
Последний ответ Февраль 11, 2011, 01:37:14
от `p r o x y
8 Ответов
3520 Просмотров
Последний ответ Февраль 26, 2011, 15:44:45
от Yashied
1 Ответов
2634 Просмотров
Последний ответ Май 09, 2011, 22:23:55
от Yashied
2 Ответов
3687 Просмотров
Последний ответ Февраль 24, 2012, 12:38:04
от Zaramot
0 Ответов
1149 Просмотров
Последний ответ Октябрь 28, 2012, 17:50:36
от ivsatel
9 Ответов
3333 Просмотров
Последний ответ Июль 22, 2013, 15:12:50
от AZJIO
2 Ответов
1169 Просмотров
Последний ответ Ноябрь 22, 2013, 08:27:58
от lavio
2 Ответов
886 Просмотров
Последний ответ Апрель 26, 2015, 12:58:09
от AndreySeVeN
1 Ответов
1195 Просмотров
Последний ответ Июнь 12, 2015, 12:01:21
от InnI
0 Ответов
796 Просмотров
Последний ответ Август 07, 2016, 19:26:59
от SuperSonic