PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   Полезные утилиты и Твики iCarDS (http://pccar.ru/showthread.php?t=24392)

duzzy 26.11.2017 17:22

Текст в речь - Text to Speech

Маленькая утилита по преобразованию текста в речь :)
Можно найти ей разное интересное применение)))

Работает так...

например в командной строке
пишем:

путь до утилиты\txt2speech.exe "Привет! Как дела?"

Можно использовать в икаре, js скриптах фубара - проговаривать нужные переменные или какие то команды.

Код(готовая функция) для JS скриптов...
Код:

var WshShell = new ActiveXObject("WScript.Shell");

spk("Плейлист");

function spk(txt2spk){
WshShell.Run(".\\settings\\txt2speech.exe " + '"' + txt2spk + '"', 0);
};

где .\\settings\\ путь до файла txt2speech.exe.

Видос как работает в фубаре))

Скачать
...

seriousstas 26.11.2017 17:44

По поводу запуска адаптера . Какие случаи его отключения ?
У меня сейчас таких нет , поэтому не вижу смысла его включать принудительно . Ну и конечно проверять ..
А ранее возникали в двух случаях :
если ипользовал его рестарт, были иногда глюки и адаптер просто не включался
и если недостаточное питания свистка .
Сейчас это устранил.

net_checker_v2 работает так :
запускается и начинает переподключать сеть раз 5ть наверное (лесенка моргает красным)
далее ждет и тогда все ОК )

И интересно , чего Ты "насочинял" внутри ?)

Цитата:

Ну и добавил болталку)))... можешь тоже проверить sound_messages=true
Тестанул (норм , но при подключении молчит)
"Нет поключения к сЕти" , как и 10-ть лет назад )))
А София жгет ..

duzzy 26.11.2017 18:46

seriousstas

Цитата:

По поводу запуска адаптера . Какие случаи его отключения ?
Смотри, например: запускаем комп, адаптер выключен и грузим скрипт net_checker_v2... если скрипт успел загрузится быстрее включения адаптера, то скрипт будет получать сеть = "" т.е. пустышку...
Проверить просто... выключаешь адаптер и запускаешь net_checker_v2, результатом будет пустой цикл так как переменная $net_name = "" .
Вот как раз для этого скрипт wifi_adapter_check и нужен, тем более что он отрабатывает один раз.
Вот видос отснял по тому как оно работает))

Цитата:

И интересно , чего Ты "насочинял" внутри ?)
Перебрал много вариантов, но остановился на кривом нативвайвай)))
Забрал из него скан сетей и убрал пинг... но из замеченного могу точно сказать что прошлый вариант работает в два раза быстрей.

Цитата:

Тестанул (норм , но при подключении молчит)
Подключение я пока не делал)) так для пробы решил вставить, и голос лучше использовать отдельным скриптом(он работает через цикл и пока не проговорит скрипт стоит).
Цитата:

А София жгет ..
А София да еще та падла)))... умеет играть в камень-ножницы... смотрел недавно как с ведущим одного телешоу играла, да и разговаривала с ним на интересные темы)))

seriousstas 26.11.2017 22:42

Цитата:

остановился на кривом нативвайвай
Да, похоже альтернативы нет ..
Цитата:

Забрал из него скан сетей и убрал пинг... но из замеченного могу точно сказать что прошлый вариант работает в два раза быстрей.
имеешь ввиду без нативвайвай или "монитор" ?
Цитата:

Вот видос отснял по тому как оно работает))
Будет полезным, но мне Ты знаешь , лучше скрипт показать , тогда все устаканивается )
Цитата:

- wifi_adapter_check.exe --- включает адаптер а затем запускает чекер
Вот это не понял, почему не объеденить ? зачем делать отдельно ...

duzzy 26.11.2017 23:45

seriousstas
Цитата:

Да, похоже альтернативы нет ..
Ну почему есть, просто нужно сидеть и ковырять функции разбираясь что к чему. Либо лезть в винапи и делать с нуля))

Цитата:

имеешь ввиду без нативвайвай или "монитор" ?
Имею в виду net_checker первую версию которая работала через пинг сети.

Цитата:

Вот это не понял, почему не объеденить ? зачем делать отдельно ...
Поясню еще раз, смотри если выключен адаптер и мы запускаем net_checker_v2 он уходит в пустой цикл(без проверок) так как не видит нужной сети...

Что делает wifi_adapter_check, при старте скрипта проверяет адаптер включен он или выключен, если выключен то включает адаптер и запускает скрипт net_checker_v2

Т.е. скрипт net_checker_v2 нужно запускать при уже работающем адаптере.

И да ты писал...
Цитата:

поэтому не вижу смысла его включать принудительно
Принудительных включений в скрипте просто нет, сейчас везде стоят проверки...

seriousstas 27.11.2017 00:05

Цитата:

Что делает wifi_adapter_check, при старте скрипта проверяет адаптер включен он или выключен, если выключен то включает адаптер
это ясно , а объединить и проверять не получится , добавив его вначало net_checker ?
Цитата:

скрипт net_checker_v2 нужно запускать при уже работающем адаптере.
Запуск цикла ведь можно задержать до запуска адаптера или $net_name = "" задается сразу ?

duzzy 27.11.2017 19:16

seriousstas
Цитата:

это ясно , а объединить и проверять не получится , добавив его вначало net_checker ?
В том то и дело... я тебе про это и писал: если адаптер выключен и запустить скрипт то подключится уже не выйдет. Нужно сначала включить адаптер а затем уже проверять наличие сети.

Цитата:

Запуск цикла ведь можно задержать до запуска адаптера или $net_name = "" задается сразу ?
Можно конечно, но ты знаешь на сколько???
Хотелось чтоб отрабатывало автоматом без лишнего вмешательства вот в чем дело.

Возьми попробуй сделать как я описывал на выключенном адаптере и ты поймешь о чем я говорю :)

------------------------------------------------------------------------------------------------
Ты пробовал живьем?
Интересно как работает поиск нужной сети когда она исчезает и появляется.

Я разобрался из за чего была проблема с пустой сетью)) , это нативвайвай, нужно просто перенести старт его сессии после проверки адаптера. Скорее всего он открывает библиотеку и использует ее без закрытия и поэтому если адаптер выключен и мы сканим сеть получаем пустышку... вот так вот))

duzzy 27.11.2017 23:32

Net_checker_v2

Работает без пинга и постоянно мониторит нужную сеть.

При первом старте net_checker_v2.exe, сетевое соединение должно быть активным!!!

Т.е. wifi - адаптер должен быть включен, а необходимая сеть подключена.
Это единоразовая настройка.

При необходимости перенастройки параметров адаптера и сети,
в ини файле заменить параметр fist_run=false на fist_run=true,
затем включить адаптер, подключиться к сети и запустить net_checker_v2.exe.
Через несколько секунд после запуска появится таблица с настройками сети и адаптера.
Таблицу нужно закрыть, она для наглядности заполнения параметров
в ини файле.

У утилиты есть настройки в ини файле...
[settings]
interface=Беспроводная сеть --- собственно сам wifi
ssid=DIR-777 --- название сети
profile=DIR-777 --- профиль подключения
check_timeout=5000 --- время цикла проверок
adapter_enable_timeout=5000 --- задержка на старте после вкл.адаптера
net_connect_count=3 --- число попыток подключения к сети
adapter_enable_count=3 --- число попыток включения адаптера(после последней попытки программа завершается)
messages=true --- вкл.\выкл. сообщение о статусе сети
tray_messages=true --- вкл.\выкл. сообщение о статусе сети
sound_messages=False --- вкл.\выкл. голосовых сообщение о статусе сети
fist_run=False --- вкл.\выкл. режима первого старта утилиты

Скрипт работает с иконками в трее, показывая состояние сети и адаптера.
Их можно поменять на свои более информативные, переименовав свои иконки именами образцов в папке icons.
Лежать они должны в папке icons рядом со скриптом.

Скачать
...

seriousstas 28.11.2017 04:08

Цитата:

нужно просто перенести старт его сессии после проверки адаптера
я это и пытался сказать , ну навести на мысь всмысле..))
Первый вариант работал , теперь буду тестить уже последнюю "альфу")

duzzy 29.11.2017 01:59

seriousstas
Цитата:

я это и пытался сказать , ну навести на мысь всмысле..))
Я так и понял)))
Пробуй вроде все должно работать как надо.

duzzy 29.11.2017 03:03

icar_wallpaper_changer

Программка рандомной смены обоев в Икаре.

Работает так видос(в видео работает тестовый скрипт для наглядности)...

Есть настройки...
[settings]
day_time=08:25 --- дневное время
night_time=18:00 --- ночное время
set_wallpaper_on_time=false --- смена режимов, false - рандомная смена обоев, true - смена обоев по дневному и ночному времени.
wallpaper_path=C:\Users\Terro\Desktop\фоны\resize --- путь до папки с обоями
on_time_cycle_interval=5 --- цикл отработки скрипта, для смены обоев по времени(в мин.).
random_cycle_interval=5 --- цикл отработки скрипта, для смены обоев рандомно(в мин.).

Скачать
...

Евген_21 29.11.2017 14:26

Цитата:

Сообщение от duzzy (Сообщение 395577)
icar_wallpaper_changer

Программка рандомной смены обоев в Икаре.

Работает так видос(в видео работает тестовый скрипт для наглядности)...

Есть настройки...
[settings]
day_time=08:25 --- дневное время
night_time=18:00 --- ночное время
set_wallpaper_on_time=false --- смена режимов, false - рандомная смена обоев, true - смена обоев по дневному и ночному времени.
wallpaper_path=C:\Users\Terro\Desktop\фоны\resize --- путь до папки с обоями
on_time_cycle_interval=5 --- цикл отработки скрипта, для смены обоев по времени(в мин.).
random_cycle_interval=5 --- цикл отработки скрипта, для смены обоев рандомно(в мин.).

Скачать
...

Слава,привет. Смотрю у тебя идей как всегда навалом.
Респект!!!

seriousstas 29.11.2017 20:24

Цитата:

Net_checker_v2
Работает отлично ..
Попытаюсь сегодня встроить в iCarMainScript ..)

duzzy 30.11.2017 00:11

seriousstas

Цитата:

Работает отлично ..
Шикарно ! :)

Проверь личку.
...

duzzy 30.11.2017 00:25

Евген_21

Привет ! :)
Да идей не много но есть)))
Время мало для их реализации...))
Сделал себе управление икар\фубар на обычном джойстике без всяких ардиюн, потестирую и если все будет нормуль выложу исходник с программкой.
Можно использовать с любым джойстиком(с осями и без), если руки растут откуда надо можно переделать или сунуть в любой корпус напаять кнопки и т.д.... или так использовать.
Видос как работает в домашних условиях уже выкладывал продублирую)))

seriousstas 01.12.2017 04:33

duzzy
Цитата:

Проверь личку.
Спасибо , а я уже ранее подсмотрел exe-ху ,а там..)))

Но я так и сделал все нужное сложил в MyUDF.au3 ,
почистил - результат iCarMainScript со встроенным Net_checker_v2
+ прозрачные кнопки в полноэкранных режимах ..

- Заменить по пути :
Documents\iCarDS\skins\Chameleon\Scripts\iCarMainScript.exe
- первый раз запустить Икар с подключенной сетью .
Цитата:

У утилиты есть настройки в ини файле...
[settings]

check_timeout=5000 --- время цикла проверок
check_timeout ставлю 2000
Путь
C:\Users\MY_PC\Documents\iCarDS\skins\Chameleon\Sc ripts\net_checker_v2.ini


Качнуть или тут

Евген_21 02.12.2017 15:21

Вложений: 1
Цитата:

Сообщение от duzzy (Сообщение 395650)
Евген_21

Привет ! :)
Да идей не много но есть)))
Время мало для их реализации...))
Сделал себе управление икар\фубар на обычном джойстике без всяких ардиюн, потестирую и если все будет нормуль выложу исходник с программкой.
Можно использовать с любым джойстиком(с осями и без), если руки растут откуда надо можно переделать или сунуть в любой корпус напаять кнопки и т.д.... или так использовать.
Видос как работает в домашних условиях уже выкладывал продублирую)))

Я, себе тоже сделал управление с помощью джойстика. Только связь с iCar через плагин iCarDuino. Задействовал 10 кнопок (кроме крестовины), на одной кнопке 3 режима (нажатие,удержание и двойное нажатие). Так же платку от джойстика установил в руль, благо место позволило. А штатные кнопки руля ,немного переделав подключил к нему. Использовал такой.
Вложение 48727
Исходник скрипта на ahk. С ним ребята с серого форума помогли.
Код:

#UseHook
 
Joy1:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy1_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111111||OnD uinoKeyPress") 
    Return
   
Joy1_1:
  Send, ^{vk57 Down}  ;  Ctrl-W.
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111112||OnD uinoKeyPress") 
    Return
   
Joy1_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111113||OnD uinoKeyPress")
    Return

Joy2:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy2_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111114||OnD uinoKeyPress") 
    Return
   
Joy2_1:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111115||OnD uinoKeyPress")
    Return
   
Joy2_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111116||OnD uinoKeyPress")
    Return

Joy3:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy3_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111117||OnD uinoKeyPress") 
    Return
   
Joy3_1:
  Send, ^{vk51 Down}  ;  Ctrl-Q.
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111118||OnD uinoKeyPress")
    Return
   
Joy3_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111119||OnD uinoKeyPress")
    Return

Joy4:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy4_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111120||OnD uinoKeyPress") и 
    Return
   
Joy4_1:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111121||OnD uinoKeyPress")
    Return
   
Joy4_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111122||OnD uinoKeyPress")
    Return

Joy5:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy5_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111123||OnD uinoKeyPress") 
    Return
   
Joy5_1:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111124||OnD uinoKeyPress")и
    Return
   
Joy5_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111125||OnD uinoKeyPress")
    Return

Joy6:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy6_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111126||OnD uinoKeyPress")
    Return
   
Joy6_1:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111127||OnD uinoKeyPress")
    Return
   
Joy6_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111128||OnD uinoKeyPress")
    Return

Joy7:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy7_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111129||OnD uinoKeyPress") 
    Return
   
Joy7_1:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111130||OnD uinoKeyPress")
    Return
   
Joy7_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111131||OnD uinoKeyPress")
    Return

Joy8:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy8_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111132||OnD uinoKeyPress")
    Return
   
Joy8_1:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111133||OnD uinoKeyPress")
    Return
   
Joy8_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111134||OnD uinoKeyPress")а
    Return

Joy9:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy9_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111135||OnD uinoKeyPress") 
    Return
   
Joy9_1:
 Send, ^{vk43 Down}  ;  Ctrl-C.
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111136||OnD uinoKeyPress")
    Return
   
Joy9_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111137||OnD uinoKeyPress")
    Return

Joy10:: ; 
    HK := RegExReplace(A_ThisHotkey, "S)[\Q+^!#<>~*$\E]"), i := 0
    KeyWait, %HK%, T0.7
    If !ErrorLevel
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel
    Try Gosub % A_ThisHotkey "_" i
    Return

Joy10_0: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111138||OnD uinoKeyPress") 
    Return
   
Joy10_1:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111139||OnD uinoKeyPress")
    Return
   
Joy10_2: 
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111140||OnD uinoKeyPress")
    Return


seriousstas 02.12.2017 17:33

Цитата:

Использовал такой.
))
Евген_21
Отличная идея - главное экономно! таким можно и всем HYUNDAI-ем рулить )
...........
Обновил iCarMainScript
Был один хвост лишний вызывавший падение..
а так работает ,как часы - duzzy - респект - наконец поставили точку . ))

duzzy 02.12.2017 18:29

seriousstas

Пожалуйста;)
Рад что работает нормально.
Цитата:

подсмотрел exe-ху ,а там..)))
Хитрец))) а я тебе исхи посылаю)))

Цитата:

наконец поставили точку . ))
Да и не говори, меня тоже очень напрягала вафля))... иногда полезно сделать паузу чтоб потом посмотреть на проблему под другим углом))

---------------------------------------------------------------------------------------------------
Евген_21
Цитата:

Я, себе тоже сделал управление с помощью джойстика. Только связь с iCar через плагин iCarDuino.
Ахаха у меня джойстик такой же...
зацени...
http://jpegshare.net/thumbs/0a/64/0a...ca7bd77998.jpg
А у меня задействованы все кнопки. Долго думал как их раскидать)))
Сейчас обдумываю расположение на корпусе. Примерные наброски уже есть))

По скрипту, я сделал проще...
Автоит, прямая связь с Икаром через объект...
$rr = ObjCreate("RideRunner.sdk")
и программку joy2key.
Скрипт автоит выступает в роли перехватчика Хоткеев от программки joy2key и перенаправляет действия в необходимую программу. В моем случае это икар, фубар и пот-плеер.
Т.е. работают две программы, скрипт Автоит и программка joy2key.

В твоем случае я не думаю что нужно все время создавать объект...
icar := ComObjCreate("RideRunner.SDK")
при каждом нажатии, достаточно его однажды инициализировать.

Т.е. например:

в начале скрипта прописываешь...
icar := ComObjCreate("RideRunner.SDK")

затем пошло тело скрипта...
Joy1_0:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111111||OnD uinoKeyPress")
Return

Joy1_1:
Send, ^{vk57 Down} ; Ctrl-W.
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111112||OnD uinoKeyPress")
Return

Joy1_2:
icar := ComObjCreate("RideRunner.SDK")
icar.Execute("SetVar;duino_key;duino_11111113||OnD uinoKeyPress")
Return

выделенное красным можно удалить, как то так...
Но я не в курсе как работает Автохоткей, но думаю что разницы нет.

А если по чесноку мне просто не нравится Автохоткей)))
Синтаксис у него ужасный, код читать просто нереально. Самый удобоваримый код в стиле JavaScript типа как в Автоит.
В Автоит все удобно читать легко разобрать код, да и писать удобнее))... Но это только мое личное мнение, так как на вкус и цвет все фломастеры разные))

--------------------------------------------------------

Попозжей обновлю icar_wallpaper_changer...
- Добавил одновременную смену обоев на рабочем столе вместе с Икаром(получается прикольно, сворачиваешь икар а у тебя те же обои на рабочем столе:)).
- Добавил возможность отключения записи в ини при смене обоев в икаре(т.е. обои в икаре будут меняться но прописываться в ини икара не будут, по сути будет работать как временная смена обоев).

Евген_21 02.12.2017 19:00

duzzy
Когда, твой вариант управления можно будет тестануть?

120705 02.12.2017 19:04

Цитата:

Сообщение от seriousstas (Сообщение 395803)
))
[B] респект - наконец поставили точку . ))

duzzy, наверное в шапке темы надо внести изменения, вместо WIFI монитора?

seriousstas 03.12.2017 15:56

Цитата:

меня тоже очень напрягала вафля)).
По поводу раздачи из смарта . В последних андро-ОС Таскер не справляется. Включает точку , но без и-нета . Есть выход, я проверил этот метод - работает!
https://4pda.ru/forum/index.php?show...#entry66552125

duzzy 03.12.2017 17:21

Евген_21
Цитата:

Когда, твой вариант управления можно будет тестануть?
Мне его сначала нужно погонять)) посмотреть косяки.
Я его скину тебе на пробу как только пойму что меня устраивает его работа.
Там есть свои моменты, в сборке фубара а точнее в скриптах нужно вставлять код по обработке клавиатурных нажатий. Плюс прописывать нужные действия для каждого скрипта. У меня просто сделано раздельное управление в каждой панели.
К примеру так:
- плейлист: вниз - вниз по списку; вверх - вверх по списку; влево - пред.трек; вправо - след.трек ; кнопка №5 джоя - выбор/старт трека; кнопка №4 джоя - PgUp; кнопка №2 джоя - PgDn.
- библитека: почти идентична плейлисту
- менеджер-плейлистов: вниз; вверх; кнопка №5 джоя - выбор/старт трека.
- ковер-флоу(CoverFlow): влево, вправо, вверх, вниз - гуляем по обложкам; кнопка №5 джоя - выбор/старт трека.
- обложки: кнопка №1 джоя - удаляет проигрываемый трек; кнопка №3 джоя - ставит тег "mood" т.е. сердечко))
- милк-дроп: вверх, вниз - листает пресеты; влево - пред.трек; вправо - след.трек.
- основной мпс-скрипт: кнопка №7 джоя - циклично переключает панели; кнопка №1 джоя - открывает/закрывает менеджер-плейлистов.

Плюс управление пот-плеера(простое) и самого икара(тоже в простом ваанте: перебор/выбор; громкость)

как то так))...

Еще сделана проверка состояний фубара, пота, икара для использования одних и тех же кнопок и др.функционала. В двух словах сложно описать)) скрипт получился примерно в 700 строк :)
Универсальным его сделать не получится, нужно будет подгонять для себя.
...
----------------------------------------------------------------------------------------------

120705
Цитата:

duzzy, наверное в шапке темы надо внести изменения, вместо WIFI монитора?
Да я бы внес с большим удовольствием, но кто-то поправил правила форума и теперь нельзя редактировать старые сообщения...
Наверно подумали что так будет меньше флуда)))... теперь его будет в два раза больше, потому что людям придется искать все в теме...

----------------------------------------------------------------------------------------------

seriousstas
Цитата:

По поводу раздачи из смарта .
О Спасибо БОЛЬШОЕ :icon_smile::drinks: теперь можно будет нормально настроить точку)).

----------------------------------------------------------------------------------------------

Перезалил архив с icar_wallpaper_changer

- Добавил одновременную смену обоев на рабочем столе вместе с Икаром(получается прикольно, сворачиваешь икар а у тебя те же обои на рабочем столе).
- Добавил возможность отключения записи в ини при смене обоев в икаре(т.е. обои в икаре будут меняться но прописываться в ини икара не будут, по сути будет работать как временная смена обоев).

к настройкам в ини добавились еще эти...
set_desktop_wallpaper=false --- устанавливать вместе с Икаром обои и на рабочий стол(false - не ставить; true - ставить).
write_to_icar_ini=false --- запись в ини икара пути к обоине (false - не писать в ини; true - писать в ини)
...

Евген_21 03.12.2017 18:59

duzzy, да универсальным точно не назовешь.

Цитата:

Там есть свои моменты, в сборке фубара а точнее в скриптах нужно вставлять код по обработке клавиатурных нажатий.
Я когда новый шаблон для сборки фубар от Стаса делал, тоже пользовался кодами .
Правда все методом проб и ошибок. Что смог сделал,а остальное в скриптах фубара Стас допилил.
Цитата:

Я его скину тебе на пробу как только пойму что меня устраивает его работа.
Спасибо, жду.

seriousstas 07.12.2017 13:55

Цитата:

Проверка вкл./выкл. контроль учетных записей UAC
duzzy
для 10-ки не подходит ?

duzzy 07.12.2017 23:42

seriousstas
Цитата:

для 10-ки не подходит ?
Почему.. должна подходить, там ведь ключ один и тот же вроде... или нет???
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Policies\System
EnableLUA = 0
Мне проверить не на чем, 10-ки нет, ставить в виртуалку не охота)))

Можно еще через secpol.msc - Local Security Policy Editor...
http://jpegshare.net/thumbs/13/b2/13...0d489119af.jpg

seriousstas 08.12.2017 01:59

Цитата:

Сообщение от duzzy (Сообщение 396155)
seriousstas

Почему.. должна подходить, там ведь ключ один и тот же вроде... или нет???
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Policies\System
EnableLUA = 0
Мне проверить не на чем, 10-ки нет, ставить в виртуалку не охота)))

Можно еще через secpol.msc - Local Security Policy Editor...
http://jpegshare.net/thumbs/13/b2/13...0d489119af.jpg

Долго не лазил ..Тут китайцы подрезали ОС(выкинули СОН к примеру)) ), мож поэтому , но запустил утиль пару раз - без результатов..
Завтра попробую вручную .

Евген_21 16.12.2017 17:56

Слава, привет. Вот твоя тема, все классно повторюсь. А можешь помочь сделать отправку данных из обд (на пример есть такой лайбел ce_voltage ). Или дай подсказку как сделать.

duzzy 17.12.2017 14:36

Евген_21, привет !
А что нужно сделать не совсем понял))
Ты хочешь флешки сделать для обд так ?

Евген_21 17.12.2017 16:52

Цитата:

Сообщение от duzzy (Сообщение 396681)
Евген_21, привет !
А что нужно сделать не совсем понял))
Ты хочешь флешки сделать для обд так ?

В точку:yes4:

duzzy 17.12.2017 18:38

Евген_21, так там все очень просто...:)
Шаблоны флэш можно взять от speedfan и переделать для обд.

Смотри, берешь экран икара от спидфана system_status.skin
в нем на месте переменных спидфана прописываешь переменные от обд из файла лабелей(label_ru.ini)

Например:

было так...
/---core 0 temp
L01,0,0,0,0,255,255,255,,,"CUSTOMSPEEDFAN_T1",
/---core 1 temp
L01,0,0,0,0,255,255,255,,,"CUSTOMSPEEDFAN_T2",
/---cpu fan
L01,0,0,0,0,255,255,255,,,"CUSTOMSPEEDFAN_F1",

стало так...
/---core 0 temp
L01,0,0,0,0,255,255,255,,,"ce_voltage",
/---core 1 temp
L01,0,0,0,0,255,255,255,,,"ce_speed",
/---cpu fan
L01,0,0,0,0,255,255,255,,,"ce_enginespeed",

Эти лабели пустышки нужны для того чтоб флэшка могла брать эти переменные.
Затем уже во флэш редакторе открываешь шаблон спидфана и меняешь там переменную, выбираешь мышкой "Selection Tool"(как в фотошопе) http://jpegshare.net/images/37/18/37...ef598fbe92.png или хоткей V, затем кликаешь один раз по тексту и в правой части вбиваешь свою переменную например "ce_voltage"...
http://jpegshare.net/thumbs/ec/d5/ec...c4dce604ef.jpg

затем просто делаешь экспорт в *.swf
http://jpegshare.net/thumbs/1e/32/1e...5bda255ef1.jpg
Флэшку можно проверить в пот-плеере работает она или нет, потом копируешь в папку икара Flash. Запускаешь икар и сморишь пошли данные или нет, ну и естественно нужно чтоб обд работал :smile2:.

seriousstas 17.12.2017 18:47

duzzy
:drinks_cheers:
Я снова про чекер)
Заметил давно ,сегодня разгадал (грешил на телефон)
Если использовать Твой последний чекер происходит следующее :
1 Иногда скрипт пытается включить включенный адаптер
и тот зависает (как я писал ранне) - это было раза два
2 . Запусти чекер и посмотри список - там сканит после подключения
каждые 5 сек , зачем ?
Обнаружил , что этот скан влияет на соединение и скорость падает - долго ломал голову ..)

Что я сделал - убрал множественные проверки и счетчики , убрал
проверку на включение - у меня итак включен всегда,
оставил только:
PHP код:

If Not (_wlan_queryinterface() = "Connected"Then
_wlan_scan
()
Sleep(500)
wifi_connect()        
EndIf 

в цикле - усё .
При старте запуск только _wlan_startsession()
Теперь работает как надо .. без скана после подкючения .
Что было-бы логично , после _wlan_scan() - проверять найдено-ли нужная ТД .. не знаю как ,но итак первые тесты - норм!

duzzy 17.12.2017 19:29

seriousstas

Привет !

Там как ни крути будут сложности)))
Очень странный юдф, а других я пока не видел...
Сканить нужно для поиска нужной сети в радиусе действия. У меня интервал стоит 30 сек. поэтому не заметно)))

функции
_wlan_scan() - из udf делает только скан.
_wlan_queryinterface() - из udf, работает с ошибками, их видно в консоли если включить $fDebugWifi = True, плюс ко всему она часто вызывает переподключение сети.
get_wnet() - из примера udf, берет имя сети по профилю подключения без скана.
А дальше просто идут проверки и попытки подключения через виндовую консольную утилиту.

Можно сделать и так как ты предложил, без скана при подключении, но при этом будет постоянно работать _wlan_queryinterface()(который вызывает переподключения сети:))

Я обновлю сейчас v2 твоим дополнением посмотрим что вылезет еще :smile1:

Тут скорее нужно каждому для себя что-то делать, мне кажется идеального общего варианта не будет.
Проблема в том что нет нормальной возможности проверить как подключение так и сам адаптер.

Можно сделать вообще простой вариант, брать параметры при первом старте, а потом просто гонять в цикле на предмет подключено или нет.

seriousstas 17.12.2017 20:08

Цитата:

без скана при подключении
ТОлько не при , а после ..
подключились - скана нет ..

Цитата:

Сканить нужно для поиска нужной сети в радиусе действия. У меня интервал стоит 30 сек. поэтому не заметно)))
а , так я другими и не пользуюсь , а если нужно - можно выключить чекер ..
вот черновик iCarMainScript
PHP код:

#RequireAdmin
#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\MyAutoIt3_Yellow.ico")
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <MyUDF.au3>
#include <WinAPI.au3>
#NoTrayIcon

Global $sinterface$sssid$sprofile$sstate$get_profile$check_timeout
$is_run 
1
$is_ping_run 
1
$ini_file 
= @ScriptDir "\net_checker_v2.ini"
$fist_run IniRead($ini_file"settings""fist_run""true")
If (
$fist_run "true"Then
    check_interface
()
    ;If (
$is_run == 0Then Exit
EndIf
$sinterface IniRead($ini_file"settings""interface"0)
$sssid IniRead($ini_file"settings""ssid"0)
$sprofile IniRead($ini_file"settings""profile"0)
$check_timeout IniRead($ini_file"settings""check_timeout"5000)


_wlan_startsession()
;
_wlan_startnotificationmodule()
Global 
$clear_flag True$try_enable True$count 0$try_enable_adapter True$count_adapter 0
Dim $vol_from_speed
[201]
Global    
$rr ObjCreate("RideRunner.sdk")


_Main()

Func MyErrFunc()
    
$HexNumber Hex($oMyError.number8)
;    
MsgBox(64"iCarDS","iCarDS закрыт")
;    
SetError(1); to check for after this function returns
    
Exit
EndFunc   ;==>MyErrFunc

Func _InitVolArray
()

    
$delta 0
    $vol_from_speed
[0]=$delta

    
For $i 0 to 150 Step 10

        $tmp_vol_from_speed 
$rr.GetInfo("=$vol_from_speed_$i+10 "$") / 10
        
For $j 1 to 10 Step 1
            $delta 
$delta $tmp_vol_from_speed
            $vol_from_speed
[$i+$j] = Round($delta2)
;~             
MsgBox(0"Файл:"$i+$j "-----" $vol_from_speed[$i+$j])
        
Next

    Next

    
For $i=162 to 200 Step 1
        $delta 
$delta $tmp_vol_from_speed
        $vol_from_speed
[$i] = Round($delta2)
;~         
MsgBox(0"Файл:"$i "-----" $vol_from_speed[$i])
    
Next

EndFunc
Func _main
()
    Global 
$iswork 1
    
Global $isrun 0
    
Global $name "[CLASS:TSkinForm]"
    
Global $namecontrol ""
    
Global $foobarwindowtitleprev ""
    
Global $speed_prev Round(Number($rr.getinfo("$IsDriveSpd$")), 0)
    Global 
$speed_prev_round Round($speed_prev, -1)
    Global 
$vol_from_speed_full 0
    
Global $vol_min Number($rr.getinfo("=$vol_from_speed_min$"))
    Global 
$vol_max Number($rr.getinfo("=$vol_from_speed_max$"))
    
_initvolarray()
    
$rr.execute("SetVar;vol_from_speed_full;" Round($vol_from_speed[$speed_prev], 2))
    Global 
$clear_flag True$try_enable True$count 0$try_enable_adapter True$count_adapter 0
    
    
While $iswork
    
    $handle 
WinGetHandle($name)     ; Ищем окно с заданным именем
        
If @error Then
            
If $IsRun Then
                $IsWork 
0
            
EndIf ; если окно не найденоа ключ запуска окна установлен в 1т.еокно закрытото сбросить ключ выхода для завершения скрипта
        
Else
            
$IsRun 1    если окно найдено устанавливаем ключ запуска окна
            
If WinActive($name) Or  WinActive("[CLASS:TOverlayForm]") Or WinActive("[CLASS:TPopupSkinForm]") Or WinActive("[CLASS:TModalSkinForm]") Or WinActive("[CLASS:TMediaForm]"Then
                $rr
.Execute("SETIND;!iCarDS_Active;ON")
            Else
                
$rr.Execute("SETIND;!iCarDS_Active;OFF")
            EndIf
        EndIf

        
$volume StringSplit$rr.getinfo("VOLUME") , "%")
        if @
error 0 then
            $current_volume 
Number($volume[1])
        else
            
$current_volume 0
        
EndIf

        
$speed_current Round(Number($rr.getinfo("$IsDriveSpd$")),0)

        If 
$speed_current $speed_prev Then

            $delta_vol 
Round($vol_from_speed[$speed_current] - $vol_from_speed[$speed_prev],2)
            If 
$current_volume $delta_vol $vol_max Then    $rr.Execute("volperc+;" $delta_vol"||SetVar;vol_from_speed_full;" $vol_from_speed[$speed_current])

        Else
            If 
$speed_current $speed_prev Then
                $delta_vol 
Round($vol_from_speed[$speed_prev] - $vol_from_speed[$speed_current],2)
                If 
$current_volume $delta_vol $vol_min Then    $rr.Execute("volperc-;" $delta_vol "||SetVar;vol_from_speed_full;" $vol_from_speed[$speed_current])
            EndIf
        EndIf

        
$speed_prev $speed_current

        
If Number($rr.getinfo("=$Is_new_vol_from_speed$")) = 1 Then
            _InitVolArray
()
            
$rr.Execute("SetVar;Is_new_vol_from_speed;0")
        EndIf

        
Sleep(50)
    
        Global 
$net_name get_wnet()
            If 
Not (_wlan_queryinterface() = "Connected"Then
            _wlan_scan
()
            
Sleep(500)
                    
wifi_connect()        
                EndIf

    
Sleep($check_timeout)

$overlay_handle WinGetHandle("[CLASS:TOverlayForm]")
$myAlpha 50
        
If ($overlay_handle And WinExists($overlay_handle)) Then
        Local $iTransColor
$iAlpha
        $iInfo 
_WinAPI_GetLayeredWindowAttributes($overlay_handle$iTransColor$iAlpha)
        If (
$iAlpha <= 100Then
        Sleep
(3000)
            
_WinAPI_SetLayeredWindowAttributes($overlay_handle$iTransColor$myAlpha)

        EndIf
    EndIf

WEnd
EndFunc
Func wifi_connect
()
    
RunWait(@ComSpec " /u /c " "netsh wlan connect " '"' $sprofile '"' " " '"' $sssid '"' " " '"' $sinterface '"', @SystemDir, @SW_HIDE)
    ;Return 
EndFunc


Func check_interface
()
    
$ipid Run(@ComSpec " /u /c " "netsh wlan show interfaces", @SystemDir, @SW_HIDE$stderr_child $stdout_child)
    
$sout ""
    
ProcessWaitClose($ipid)
    Do
        
$sout &= StdoutRead($ipid)
    
Until @error
    $aresult 
StringRegExp(_encoding_866to1251($sout), "(Имя|Name) *: *(.+) *"1)
    
$aresult2 StringRegExp(_encoding_866to1251($sout), "(SSID) *: *(.+) *"1)
    
$aresult3 StringRegExp(_encoding_866to1251($sout), "(Профиль) *: *(.+) *"1)
    
$aresult4 StringRegExp(_encoding_866to1251($sout), "(Состояние) *: *(.+) *"1)
    If 
UBound($aresult) >= 2 Then
        $sinterface 
$aresult[1]
    EndIf
    If 
UBound($aresult2) >= 2 Then
        $sssid 
$aresult2[1]
    EndIf
    If 
UBound($aresult3) >= 2 Then
        $sprofile_strip 
string_strip($aresult3[1])
        
$sprofile string_format($sprofile_strip)
    EndIf
    If 
UBound($aresult4) >= 2 Then
        $sstate 
$aresult4[1]
    EndIf
    If (
$sinterface == "" OR $sssid == "" OR $sprofile == ""Then
        $is_run 
1
        
;$is_run 0
        IniWrite
($ini_file"settings""fist_run""true")
    Else
        
IniWrite($ini_file"settings""interface"$sinterface)
        
IniWrite($ini_file"settings""ssid"$sssid)
        
IniWrite($ini_file"settings""profile"$sprofile)
        
IniWrite($ini_file"settings""check_timeout"5000)
        
IniWrite($ini_file"settings""adapter_enable_timeout"5000)
        
IniWrite($ini_file"settings""net_connect_count"3)
        
IniWrite($ini_file"settings""adapter_enable_count"3)
        
IniWrite($ini_file"settings""fist_run"False)
        
$ini_read_sett IniReadSection($ini_file"settings")

    EndIf
    Return 
EndFunc

Func get_wnet
()
    
Local $scurrentprofile
    Local $asnetworks 
_wlan_getnetworks(False00)
    For 
$i 0 To UBound($asnetworks) - 1
        
If StringInStr($asnetworks[$i][9], "P"Then
            $scurrentprofile 
$asnetworks[$i][0]
            
ExitLoop
        
EndIf
    
Next
    
Return $scurrentprofile
EndFunc


Func string_strip
($str_to_stiip)
    
$istr_strip StringStripWS($str_to_stiip$str_stripleading $str_striptrailing $str_stripspaces)
    Return 
$istr_strip
EndFunc

Func string_format
($str_to_format)
    
$istr_format StringFormat("%s"$str_to_format)
    Return 
$istr_format
EndFunc 


duzzy 18.12.2017 03:13

seriousstas

Цитата:

ТОлько не при , а после ..
подключились - скана нет ..
Да да я про это и писю))

Вот новый вариант))) версия 3
из функцонала только...
- первый старт для получения параметров
- включение адаптера на старте если он был выключен
- проверка на подключение и скан
- индикатором работы служит иконка в трее которая будет менять цвет при изменении состояний

Скачать net_checker_v3
Исходник от net_checker_v3.au3, может кто чего лучше придумает.


Ну и поправленная вторая версия net_checker_v2
- скан сети убран в проверку

...

Еще можно попробовать вариант через икар с вафлей играться,
http://jpegshare.net/thumbs/8a/3a/8a...aa27211d9a.jpg
у него же есть плагин для вафли, но я пока не пробовал.
Там полноценная библиотека по работе с сетью...

Евген_21 20.12.2017 16:11

Цитата:

Сообщение от duzzy (Сообщение 396694)
Евген_21, так там все очень просто...:)
Шаблоны флэш можно взять от speedfan и переделать для обд.

Смотри, берешь экран икара от спидфана system_status.skin
в нем на месте переменных спидфана прописываешь переменные от обд из файла лабелей(label_ru.ini)

Привет. Но самое интересное , все что ты описал я это делал. Не помогло.... Не думал что регистр имеет значение. Так не пошло (var ce_speed), а так все заработало (var CE_SPEED).
Все, равно огромное спасибо что откликнулся. А как стрелочный сделать?
Я как понял, код там уже присутствует.

seriousstas 20.12.2017 16:14

Цитата:

у него же есть плагин для вафли, но я пока не пробовал.
Там полноценная библиотека по работе с сетью...
Ну канешь родная и приятнее и удобнее .. найдешь время ковырни -
она показывает счетчик цикла в сек. , но как его уменьшить ?

Евген_21 20.12.2017 20:15

Цитата:

Сообщение от seriousstas (Сообщение 396876)
Ну канешь родная и приятнее и удобнее .. найдешь время ковырни -
она показывает счетчик цикла в сек. , но как его уменьшить ?

А чем DLL реально разобрать.

Евген_21 22.12.2017 19:13

Слава,привет. Сейчас пробую разобраться с Adobe Flash Professional CS5.5. Получилось сделать только часы, но если долго учится.... по любому что то получиться. С iCarDS уже немного что то получается. Так чуть понтанулся

duzzy 22.12.2017 20:04

Евген_21
Цитата:

Не думал что регистр имеет значение. Так не пошло (var ce_speed), а так все заработало (var CE_SPEED).
Интересный момент. Я тоже так думал))) Спасибо за тесты, теперь будем знать :)

Цитата:

А как стрелочный сделать?
Со стрелочным все сложнее...
Но есть варианты))
Самый простой, нарисовать кучу стрелок на все значения и в JS скрипте описать какую стрелку показывать при определенном значении.
Более сложный, рисуем стрелку и задаем ей движение в JS скрипте в редакторе.

Вот пример компаса с плавным движением...
- компас и небольшой мануал по флешкам...

В флэш редакторе есть редактор JS скрипта флэшки...
тут..
http://jpegshare.net/thumbs/7d/f6/7d...245bd558b2.jpg http://jpegshare.net/thumbs/a2/79/a2...9e1dc655aa.jpg

снимаешь комментарий с этого кода...
PHP код:

    //generate a target heading for testing.
    
rval Math.randomInt(100);
    if (
rval 2) {
        
targetHeading Math.randomInt(359) + 1
        
trace("new random heading!!!  " targetHeading);   
    } 

и наблюдаешь как работает компас :)
...

Привет ! еще раз))
Цитата:

Сейчас пробую разобраться с Adobe Flash Professional CS5.5
Забей ты на эту муть, только еще больше голову заморочишь. Используй тот редактор что был со спидфаном "SWiSH Max", там есть все что нужно и пользоваться проще + проверенный вариант и флэшки работают в икаре.


Часовой пояс GMT +4, время: 03:15.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot