Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Проблема с треем (иконка и менюшка)

Ответить
Настройки темы
[решено] Проблема с треем (иконка и менюшка)

Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


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

Например у меня имеется вот такой скрипт:
(записывает в лог-файл все изменения ip адреса)
Код: Выделить весь код
#include <Inet.au3>
While 1
$1=FileExists("iplog.txt")
If $1 = 0 Then
    FileWrite(@ScriptDir & "\iplog.txt", "  Время        Дата        Ip-адресс")
EndIf
$PublicIP = _GetIP()
$line  = FileReadLine('iplog.txt', -1)
$line2 = StringTrimLeft($line,24)
If $PublicIP <> -1 Then
    If $PublicIP <> $line2 Then
FileWrite(@ScriptDir & "\iplog.txt", @CRLF & @HOUR & ":" & @MIN & ":" & @SEC & "   "&@MDAY&"."&@MON&"."&@YEAR&"   " & $PublicIP)
TrayTip ("IpLog",$PublicIP,"", 1)
EndIf
EndIf
Sleep(1000*20)
WEnd
Я хочу, чтобы при отсутствии интернета (отсутствии ip адресса), в трее иконка процесса была одна, а при наличии интернета другая.
Как мне в мой скрипт встроить вот такой код:
Код: Выделить весь код
#Include <Constants.au3>
#NoTrayIcon

Opt("TrayMenuMode",1)

$exititem       = TrayCreateItem("Exit")

TraySetState()

$start = 0
While 1
    $msg = TrayGetMsg()
    If $msg = $exititem Then ExitLoop
         TraySetIcon("Shell32.dll")
WEnd

Exit

-------
Ну вы ребята даёте...


Отправлено: 11:10, 27-02-2010

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


sashadeg,
Есть интернет - одна иконка, нет - другая:
Код: Выделить весь код
#include <WinAPIEx.au3>

Opt("TrayMenuMode",1)

While 1
    $inet = _WinAPI_IsNetworkAlive()
    If $inet = 0 Then
        TraySetIcon("Shell32.dll", 10)
    Else
        TraySetIcon("Shell32.dll", 20)
    EndIf
    Sleep(1000)
WEnd
WinAPIEx

Последний раз редактировалось madmasles, 27-02-2010 в 11:43.


Отправлено: 11:29, 27-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


madmasles, ты наверно не увидел:

Цитата sashadeg:
Как мне в мой скрипт встроить вот такой код: »

-------
Ну вы ребята даёте...


Отправлено: 12:48, 27-02-2010 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата sashadeg:
Как мне в мой скрипт встроить вот такой код »
Код: Выделить весь код
#NoTrayIcon
#include <Inet.au3>
#Include <Constants.au3>

Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)

$nExitItem = TrayCreateItem("Exit")
TrayItemSetOnEvent($nExitItem, "_Exit_Proc")
TraySetIcon("Shell32.dll", 9)
TraySetState()

While 1
    If Not FileExists("iplog.txt") Then
        FileWrite(@ScriptDir & "\iplog.txt", "  Время        Дата        Ip-адресс")
    EndIf

    $PublicIP = _GetIP()

    If $PublicIP <> -1 Then
        TraySetIcon("Shell32.dll", 9) ;Одна иконка

        $sLine  = StringTrimLeft(FileReadLine('iplog.txt', -1), 24)

        If $PublicIP <> $sLine Then
            FileWrite(@ScriptDir & "\iplog.txt", @CRLF & @HOUR & ":" & @MIN & ":" & @SEC & "   " & @MDAY&"."&@MON&"."&@YEAR & "   " & $PublicIP)
            TrayTip("IpLog", $PublicIP, "", 1)
        EndIf
    Else
        TraySetIcon("Shell32.dll", 10) ;Другая иконка
    EndIf

    Sleep(1000*20)
WEnd

Func _Exit_Proc()
    Exit
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:45, 27-02-2010 | #4


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
If Not FileExists("iplog.txt") Then »
зачем нужно NOT ? Что он делает?

-------
Ну вы ребята даёте...


Отправлено: 14:34, 27-02-2010 | #5


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата sashadeg:
зачем нужно NOT ? Что он делает? »
Если нет файла iplog.txt, то он создается следующей строкой кода.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:58, 27-02-2010 | #6


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Спасибо. В общем то тоже самое что и у меня Чтото не въехал сразу... =\

-------
Ну вы ребята даёте...


Отправлено: 15:01, 27-02-2010 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Проблема с треем (иконка и менюшка)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Иконка подключения naazarko Microsoft Windows 7 3 28-03-2009 15:13
Интерфейс - Интересная ошибка с треем poddex Microsoft Windows 2000/XP 7 04-05-2008 23:17
VC++.NET | Менюшка в трее не исчезает Savant Программирование и базы данных 3 23-01-2005 21:58
Менюшка GHosTiK Вебмастеру 9 19-11-2003 20:18
что  треем случилось MozART Microsoft Windows 2000/XP 6 02-10-2002 21:33




 
Переход