Показать сообщение отдельно
Старый 17.12.2017, 20:08   #194
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

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

Цитата:
Сканить нужно для поиска нужной сети в радиусе действия. У меня интервал стоит 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 
seriousstas вне форума   Ответить с цитированием