Недавние сообщения

Страницы: 1 ... 8 9 [10]
91
Расскажите как можно удалить установленные программы?
Вот таким скриптом я нахожу нужную мне программу в списке установленных, например 1с.
Код: AutoIt [Выделить]
; Перебор программ по списку установленных
$uninstall_path1 = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall"
searchUninstallStrings($uninstall_path1)
$uninstall_path2 = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
searchUninstallStrings($uninstall_path2)

Func searchUninstallStrings($uninstall_path)
   Local $a1cPlatforms[0]
    $i = 0
    While True
     $i += 1
     Local $entry = RegEnumKey($uninstall_path, $i)
     If @error <> 0 Then ExitLoop
     $regPath = $uninstall_path & "\" & $entry
     $DisplayName = RegRead($regPath, "DisplayName")
     If $DisplayName <> "" Then
      $message = $DisplayName & @CR
      $UninstallString = RegRead($regPath, "UninstallString")
      If $UninstallString <> "" Then
       $message &= "Uninstall: '" & $UninstallString & "'"
         if StringInStr($DisplayName, "1C:Предприятие") <> 0 then
         ; добавляем установленные платформы в массив
         _ArrayAdd($a1cPlatforms, $message)
      ; MsgBox(4096, "SubKey #" & $i & ": " & $entry, $message)
      _ArrayDisplay($a1cPlatforms)
         EndIf
      EndIf
     EndIf
  WEnd
 EndFunc
 


Вопрос как теперь зная ее имя и строку удаления, собственно это удаление выполнить автоматом?
Т.е. если я просто запущу в командной строке полученную строку 'MsiExec.exe /I{671EB630-BBC6-4E84-B40D-5044CFA9F5AC}' тогда у меня запускается удаление программы и открываются диалоговые окна,а мне надо чтобы программа удалилась не задавая вопросов.

Сейчас я могу удалить программу просто запустив в командной строке команду MsiExec.exe /X{671EB630-BBC6-4E84-B40D-5044CFA9F5AC} /passive выполняется без запросов, но правильно ли это?
92
Общие вопросы по AutoIt / Re: Поиск цвета, как сделать чтоб не срабатывал на моргание
« Последний ответ от dwm18 Отправлен Январь 11, 2019, 04:27:13 »
InnI, я оставлял функцию "PixelSearch" намеренно , так , как она допускает некоторую степень изменения цвета  и не так жестко контролирует область нахождения пикселя, предполагая , что так и нужно автору, хотя с учётом Ваших замечаний скрипт может выглядеть так :
Код: AutoIt [Выделить]
PixelExist = False
While 1
    $coord = PixelSearch(2211, 111, 2211, 603, 0x008000, 50, 3) ; координаты области, цвет, допущение оттенка, шаг поиска
    If Not @error Then
        $Color = PixelGetColor($coord[0], $coord[1])
        $PixelExist = True
        For $i = 0 To 19 ;Количество циклов, за которое точка не должна потухнуть
            $hTimer = TimerInit() ; Запускает таймер и хранит дескриптор в переменной
            If $Color <> PixelGetColor($coord[0], $coord[1]) Then
                $PixelExist = False
                ExitLoop
            EndIf
            Sleep(100) ;Небольшая пауза
            $iDiff = TimerDiff($hTimer) ; Возвращает разницу во времени, от предыдущего запуска TimerInit, дескриптор которого указан в переменной
            ConsoleWrite($iDiff & @CR) ;Покажет время выполнения одного прохода цикла в консоли
        Next
        If $PixelExist Then
            SoundPlay("C:\0\zvuk.mp3", 0)
            $PixelExist = False
            Sleep(300000)
        EndIf
    EndIf
Sleep(100); Пауза между попытками поиска пикселя нужного цвета
WEnd


Ошибку выдает, файл прикрепил

93
Общие вопросы по AutoIt / Re: геолокация по IP парсинг с сайта
« Последний ответ от CreatoR Отправлен Январь 11, 2019, 01:30:12 »
Код: AutoIt [Выделить]
Global $sWebsite = 'https://2ip.ru/'
Global $sLocation = 0
Global $sProvider = 0

$bRead = InetRead($sWebsite, 1)

If $bRead = '' Then
    MsgBox(48, 'Error', $sWebsite & ' does not responding')
Else
    $sHtml = BinaryToString($bRead, 4)
   
    $sLocation = StringRegExpReplace($sHtml, '(?si).*?geoip/"/>(.*?)</a>.*', '\1')
    $sProvider = StringRegExpReplace($sHtml, '(?si).*?<a href="/isp/.*?">\s*(.*?)\s*</a>.*', '\1')
EndIf

MsgBox(64, 'Results', StringFormat('Откуда вы: %s\nВаш провайдер: %s', $sLocation, $sProvider))

94
Дни рождения / С днём рождения bahtan!
« Последний ответ от Представитель Сообщества Отправлен Январь 11, 2019, 01:04:34 »
От имени всего Русского сообщества AutoIt поздравляем Вас bahtan с днём рождения!



Цитировать
Пусть все мечты исполнятся,
Пусть все желанья сбудутся,
Пусть радости запомнятся,
А горести забудутся.

Здоровье будет крепкое,
В делах всегда согласие,
Любовь навеки верная —
Без ссор и разногласия.

Зарплата только вовремя,
Стабильная, высокая.
Работа будет лёгкая
И не совсем далёкая.

Пусть жизнь Вам дарит самые
Прекрасные мгновения.
Желаем только радости
И счастья, с днем рождения!
95
Общие вопросы по AutoIt / Re: геолокация по IP парсинг с сайта
« Последний ответ от cdjsend Отправлен Январь 10, 2019, 21:57:44 »
подскажите а если сложится такая ситуация что нету доступа к сайту 2ip.ru, можно как то сделать чтобы переменные заполнились цифрой 0, или знаком каким то? именно заполнились, а не завершение скрипта...
96
Общие вопросы по AutoIt / Re: Поиск цвета, как сделать чтоб не срабатывал на моргание
« Последний ответ от ra4o Отправлен Январь 10, 2019, 21:47:07 »
InnI, я оставлял функцию "PixelSearch" намеренно , так , как она допускает некоторую степень изменения цвета  и не так жестко контролирует область нахождения пикселя, предполагая , что так и нужно автору, хотя с учётом Ваших замечаний скрипт может выглядеть так :
Код: AutoIt [Выделить]
PixelExist = False
While 1
    $coord = PixelSearch(2211, 111, 2211, 603, 0x008000, 50, 3) ; координаты области, цвет, допущение оттенка, шаг поиска
    If Not @error Then
        $Color = PixelGetColor($coord[0], $coord[1])
        $PixelExist = True
        For $i = 0 To 19 ;Количество циклов, за которое точка не должна потухнуть
            $hTimer = TimerInit() ; Запускает таймер и хранит дескриптор в переменной
            If $Color <> PixelGetColor($coord[0], $coord[1]) Then
                $PixelExist = False
                ExitLoop
            EndIf
            Sleep(100) ;Небольшая пауза
            $iDiff = TimerDiff($hTimer) ; Возвращает разницу во времени, от предыдущего запуска TimerInit, дескриптор которого указан в переменной
            ConsoleWrite($iDiff & @CR) ;Покажет время выполнения одного прохода цикла в консоли
        Next
        If $PixelExist Then
            SoundPlay("C:\0\zvuk.mp3", 0)
            $PixelExist = False
            Sleep(300000)
        EndIf
    EndIf
Sleep(100); Пауза между попытками поиска пикселя нужного цвета
WEnd

97
Общие вопросы по AutoIt / Re: Ошибка фантомных дисков
« Последний ответ от Vanguger Отправлен Январь 10, 2019, 20:00:10 »
Решение нашёл такое: можно отфильтровать фантомные носители с помощью определения типа файловой системы:

Код: AutoIt [Выделить]
98
Общие вопросы по AutoIt / Ошибка фантомных дисков
« Последний ответ от Vanguger Отправлен Январь 10, 2019, 18:32:42 »
Привет! Получаю носители с помощью DriveGetDrive ('ALL'), но при выполнении следующей строки, возникает ошибка, если диск фантомный:

Код: AutoIt [Выделить]
$sPath = $sDrive & $sPathStart
If FileExists($sPath) Then ConsoleWrite('Ok!')
 


Нужно либо как-то получить реально подключенные носители без фантомных, либо обработать ошибку.
99
Стол заказов / Re: Скачивание и запуск Dr.Web CureIt
« Последний ответ от InnI Отправлен Январь 10, 2019, 15:58:37 »
Код: AutoIt [Выделить]
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#RequireAdmin

$sPath = FileSelectFolder("", "")
If @error Then Exit
If StringRight($sPath, 1) <> "\" Then $sPath &= "\"

$sName = Generate(10) & ".exe"

InetGet('http://download.geo.drweb.com/pub/drweb/cureit/cureit.exe', $sPath & $sName)
If @error Then Exit MsgBox(0x40000, "Error", "Ошибка закачки")

Run($sPath & $sName)

Func Generate($iLenght, $sParam = 'Upper;Lower;Digit')
    Local $aRet, $aBase, $aInit, $sUpper, $sLower, $sDigit, $sBase
    $Upper = 'A;B;C;D;E;F;G;H;I;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;'
    $Lower = 'a;b;c;d;e;f;g;h;i;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;'
    $Digit = '1;2;3;4;5;6;7;8;9;0;'
    $aInit = StringSplit($sParam, ';')
    For $i = 1 To $aInit[0]
        $aBase &= Eval($aInit[$i])
    Next
    $sBase = StringSplit($aBase, ';')
    For $i = 1 To $iLenght
        $aRet &= $sBase[Random(1, $sBase[0], 1)]
    Next
    Return $aRet
EndFunc

100
Стол заказов / Скачивание и запуск Dr.Web CureIt
« Последний ответ от Xabib2302 Отправлен Январь 10, 2019, 15:14:41 »
Версия AutoIt: 3.3.14.2

Описание:  Доброе время суток. Имеется готовый скрипт по скачиванию Dr.Web CureIt с рандомным переименованием файла. Требуется организовать запуск скаченного файла с рандомным именем и окно с выбором папки куда скачивать Dr.Web CureIt

Примечания:

(нажмите для показа/скрытия)
Страницы: 1 ... 8 9 [10]