Ru-Board.club
← Вернуться в раздел «Программы»

» AutoIT

Автор: ViSiToR
Дата сообщения: 19.09.2007 00:38
Обновил Desktop Icons Restorator 1.01

Цитата:
Программа предназначена для сохранения и восстановления позиции иконок рабочего стола.


Добавлено много функции и примочек:

Авто-сохранение сеансов каждые N секунд (приблизительно до 24-ёх часов максимум).
Полная регистрация *.DSI типов файлов (Desktop Session Info) - Включая контекстное меню "Создать".
Программа обладает возможностью работать из системного трея (область уведомлении).
Восстановление сеансов из трея одним кликом по сеансу.
Авто-Добавление даты и времени к имени сохраняемого сеанса.
Удаление не существующих сеансов из главного списка.
Удаление дубликатов из списка.
Удаление выбранных сеансов из списка.
Удаление всех сеансов из списка.
Удаления выбранного сеанса-файла.
Удаление всех сеансов-файлов.
Опция для показа рабочего стола
Восстановление сеанса по двойному клику на элементе в списке.
Полная поддержка клавиатурных сокращении.
Полная поддержка Drag & Drop.
Имеется возможность указывать мелодию проигрывания для процесса сохранения/восстановления сеансов.
Гибкие возможности изменения позиции и статуса главного окна.

ScreenShots:

Main Window
Preferences Window - Session Prefs
Preferences Window - Sound Prefs
Preferences Window - Tray and Transparency

[more=Список Изменении...]
-------
v 1.01
[Sep 18 2007]
-------------


General Improvments in program work.
Added Readme File.
Added Unicode Support (when writing to Session File).
Added Convenient Preferences Dialog.
Added Full Hotkeys Support.
Added Status Bar.
Added Context Menu.
Added Full Drag & Drop Support - You Can Add *.DSI Files to the list by dropping them in, or you can drag the items From the list outside the main window, and they will be Copied to the dropped Folder (if this is a folder, if not, then string of the item is send).
Added one more Option to Registration Dialog - Adds Item to "Create" context menu of Explorer.
Added Transparency Option (from Preferences Dialog).
Added Option to select sound for playing after Saving/Restoring (for each action can be different sound).
Added Option To Stop Auto-Saving Using Button from Main Window (also by Hotkeys <Ctrl + Shift + S> and from Tray menu).
Added "Rename Session File" Option.
Added "Copy Session File To Clipboard" Option.
Added Option To save Session to selected Item.
Added Missing Library Files in Resources Dir.

Resizing Methods are Very Improved - When resizing the List View, if the list is not empty, Columns Resized as well (Optional).
Modified "About program" Dialog Window.
Now it possible to select an Action for Clicks on the tray icon (Right M.Button Click Shows Menu by default, and Left Activates the main window - Can be switched to "Restore Last Session").
Now Remember All Main Window Positions and states.
Now Main Window can be Maximized.

Removed "To Do" Dialog - You can dind it in Readme File.

-------
v 1.0
[Sep 12 2007]
-------------

Released first version.
[/more]
Автор: ViSiToR
Дата сообщения: 19.09.2007 12:01
kefirko
С пингами и подобными ещё не работал, но вот вроде самопальный Ping


Код:
$ping = _Ping("europe.battle.net", 250)
If $ping Then
Msgbox(0, "Northrend (Europe)", "Задержка до сервера: " & $ping & "ms")
Else
Msgbox(0, "Northrend (Europe)", "Не удалось определить задержку")
EndIf

Func _Ping($HostName, $TimeOut=4000)
HttpSetProxy(1)
Local $Timer = TimerInit()
INetGet("http://" & $HostName, @TempDir & "\Ping_Temp.tmp", 1, 1)
While @InetGetBytesRead = 0
If TimerDiff($Timer) >= $TimeOut Then ExitLoop
Sleep(10)
WEnd
Local $Ping = Round(TimerDiff($Timer))
If $Ping >= $TimeOut Then $Ping = 0
InetGet("abort", "", 0, 1)
FileDelete(@TempDir & "\Ping_Temp.tmp")
Return $Ping
EndFunc
Автор: euheny
Дата сообщения: 21.09.2007 06:43
ViSiToR

Цитата:
Можно через Rasdial... но есть и API-метод...

У меня чего-то не работает
Сначала - "Подключение разорвано", потом - "Подключение установлено". И всё !
Что вобще должно происходить ?
Автор: ViSiToR
Дата сообщения: 21.09.2007 06:55
euheny

Цитата:
Что вобще должно происходить ?

Отключаться и подключаться к сети

Я забыл упоминуть некоторые детали ...

1. Этот пример работает только с "подключением по умолчанию".

2. В параметрах подключения браузера должно стоять "всегда использовать принятое по умолчанию подключение".

Соррри.
Автор: HATAK
Дата сообщения: 21.09.2007 19:48
Уважаемые прошу помощи.Написал скрипт для запуска XnView и одновременной регистрации некоторых плагинов фотошопа которые работают вместе с XnView.Но вот проблема данные в реестр вносятся и сам XnView запускается но после его выключения реестр не чистится.Прошу зря не пинать.Я совсем не спец в програмировании.Просто укажите в чем ошибка или подскажите путь решения.

Код: RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin','Programs',"REG_MULTI_SZ",'6=5.0.0')
RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin\Eye Candy\5.0\Textures','Company',"REG_SZ",'************')
RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin\Eye Candy\5.0\Textures','Name',"REG_SZ",'************')
RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin\Eye Candy\5.0\Textures','Registration Code',"REG_SZ",'****************')
RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\Red Giant Software\KnollLF4Photoshop\PS','serial',"REG_SZ",'********************')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\FocusFixer','0',"REG_SZ",'3.25')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\FocusFixer','1',"REG_SZ",'0')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\FocusFixer','2',"REG_SZ",'0.0204')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\Registration\FixerBundle','0',"REG_SZ",'****************')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\Registration\FixerBundle','1',"REG_SZ",'************************')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\TrueBlur','0',"REG_SZ",'3.25')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\TrueBlur','1',"REG_SZ",'0')
RegWrite('HKEY_CURRENT_USER\Software\FixerLabs\TrueBlur','2',"REG_SZ",'0.0204')
Sleep(50)
Run("xnview.exe")
Sleep(500)
ProcessWaitClose("xnview.exe")
Sleep(10000)
RegDelete('HKEY_CURRENT_USER\Software\Alien Skin')
RegDelete('HKEY_CURRENT_USER\Software\Red Giant Software')
RegDelete('HKEY_LOCAL_MACHINE\SOFTWARE\FixerLabs')
Автор: NIKZZZZ
Дата сообщения: 21.09.2007 20:14
HATAK

Цитата:
но после его выключения реестр не чистится.

Так значит не все чистишь. Запусти перед его запуском , например RegShot, сделай снимок, и посмотри , что недочищено.
Для конвертирования лога можешь использовать Reg2Script
Автор: HATAK
Дата сообщения: 21.09.2007 20:58
При чем здесь *не все чистиш*.Не вычищаются совсем все записи внесенные в реестр до
Sleep(50).
Просто такое впечатление что не срабатывает все после:
Sleep(500)
ProcessWaitClose("xnview.exe")
Sleep(10000)
RegDelete('HKEY_CURRENT_USER\Software\Alien Skin')
RegDelete('HKEY_CURRENT_USER\Software\Red Giant Software')
RegDelete('HKEY_LOCAL_MACHINE\SOFTWARE\FixerLabs')


Добавлено:
Хочу уточнить.Сам XnView я не инсталю а только запускаю..Он работает портабле.
Автор: NIKZZZZ
Дата сообщения: 21.09.2007 21:09
HATAK

Цитата:
При чем здесь *не все чистиш*

HKEY_LOCAL_MACHINE\SOFTWARE
HKEY_CURRENT_USER\Software
HKEY_USERS\.DEFAULT\Software
HKEY_USERS\S-1-5-18\Software
HKEY_USERS\S-X-X-X\Software
Это по сути одна ветка, все просто восстанавливается. Стер одну, берется копия из другой. Если хочешь посмотреть, что стер , перегрузись !


Автор: HATAK
Дата сообщения: 21.09.2007 21:49
Так какже удалить эти ключи реестра?Может батник запускать из скрипта?Хотя не очень красиво будет.

Добавлено:
Попробовал запустить только последнюю часть скрипта

Код: RegDelete('HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin')
RegDelete('HKEY_LOCAL_MACHINE\Software\Red Giant Software')
RegDelete('HKEY_CURRENT_USER\Software\FixerLabs')
Автор: NIKZZZZ
Дата сообщения: 22.09.2007 07:09
HATAK
Посмотри результат операции:

Код: $a=RegDelete('HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin')
MsgBox(0,'HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin',$a)
Автор: iglezz
Дата сообщения: 22.09.2007 09:35
HATAK
1. Если планируется использование сего скрипта за пределами своего компьютера, лучше сразу прикрутить бэкап используемых веток реестра с последующим восстановлением обратно после отработки XnView.

2. Для уверенной чистки веток реестра лучше проверять результат операции и хотяб мессаджбокс в случае ошибки кидать
типа
Код: If RegDelete('HKEY_LOCAL_MACHINE\SOFTWARE\Alien Skin')==2 Then MsgBox(4096, "error", "н могу убить ветку '\SOFTWARE\Alien Skin':(" & @CRLF & "код ошибки: " & @error)
Автор: ViSiToR
Дата сообщения: 22.09.2007 09:52
iglezz

Цитата:
эффект тот-же

Не совсем, в этом примере будет запущен процесс xnview.exe, и скрипт не продолжит пока процесс не завершит свою работу, а в том примере, скрипт не продолжит до тех пор, пока все процессы с именем xnview.exe не будут завершены
Автор: HATAK
Дата сообщения: 22.09.2007 14:11
Все достало.Ничего не понимаю.Пробовал я вчера и

Код: $PID = Run("xnview.exe")
ProcessWaitClose($PID)
Автор: iglezz
Дата сообщения: 22.09.2007 15:32
ViSiToR

Цитата:
Не совсем, в этом примере будет запущен процесс xnview.exe, и скрипт не продолжит пока процесс не завершит свою работу, а в том примере, скрипт не продолжит до тех пор, пока все процессы с именем xnview.exe не будут завершены :wink:

доехало, это ж на случай запуска нескольких копий :)
Автор: Amoraller
Дата сообщения: 22.09.2007 19:53
Может вопрос уже был.... Можно ли сделать прозрачное окно. Если можно, то как?

Добавлено:
Я понял. Вопрос снимается

Добавлено:
Я понял. Вопрос снимается
Автор: keynn
Дата сообщения: 24.09.2007 13:47
Приветствую.
Народ, подскажите плиз, как можно реализовать такую вот функцию: - Нужно передать нажатие клавиши в неактивное окно. Кому не сложно, на примере покажите как передать нажатие клавиши "Z" в окно свернутого блокнота - не активируя его. Знаю что нужно делать средствами WinAPI. Пытался использовать WSH через прикрученную библиотеку DynamicWrapper - заступорился, нехватает знаний.

Скрипт должен выглядеть примерно так. Но чето там не то

Dim UserWrap
wndclass="Безымянный - Блокнот"
Set Wrap = CreateObject("DynamicWrapper")
Wrap.Register "USER32.DLL", "FindWindow", "i=su", "f=s", "r=h"
Wrap.Register "USER32.DLL", "SendMessage", "i=lllr", "f=s", "r=l"
hwnd=wrap.FindWindow(wndclass, 0)
res = Wrap.SendMessage(hwnd, WM_CHAR (90), 0)

Может кто подскажет как это сделать.
Автор: Maza Faka
Дата сообщения: 24.09.2007 17:34
keynn

Код:
ControlSend("Безымянный - Блокнот", "", "Edit1", "Z")
Автор: keynn
Дата сообщения: 24.09.2007 19:11
Maza Faka Мужик! Спасиб тебе! Прм ваще Респект!!!
Автор: XpycTMD
Дата сообщения: 25.09.2007 16:15
Подскажите возможно ли в AutoIt создавать скрипты с поддержкой коммандной строки?

Автор: ViSiToR
Дата сообщения: 25.09.2007 16:51
XpycTMD

Цитата:
возможно ли в AutoIt создавать скрипты с поддержкой коммандной строки?

Конечно можно
Автор: kefirko
Дата сообщения: 25.09.2007 18:48
Помогите в составлениии алгоритма.

В трее "сидит" программка.
Необходимо, чтобы при нажатии левой кнопкой мышки запускался графический интерфейс проги (при повторном нажатии он прятался), при нажатии правой кнопкой мышки вылазило меню с настройками.
Все, что у меня получилось, это делать любое их перечисленных действий, но только не одновременно. Т.е. при нажатии как левой, так и правой кнопок выполняется одно и тоже. Я просто не знаю как разделить нажатие левой и правой кнопок.


Код:
While 1
; Подпись при наведении указателя на иконку в трее.
TraySetToolTip($dd[1] & $dd[2] & $dd[3] &$dd[4] & $dd[5])
$tgm=TrayGetMsg()
$ggm=GUIGetMsg()
$dd=IniReadSection("GoodMorning.ini", "Ding-Dong")
Select
Case $tgm=$budset11
GUICreate("Будильник #1", 200, 90)
$dd_=GUICtrlCreateDate($dd[1][0] & ":00", 60, 15, 80, 20, $DTS_TIMEFORMAT)
$dd[1][0]=$dd_
$ok=GUICtrlCreateButton("Акей", 60, 50, 80)
GUISetState ()
$dd[1][1]=IniWrite("GoodMorning.ini", "Ding-Dong", "Будильник #1", "on")
; Подпись при наведении указателя на иконку в трее.
TraySetToolTip(@HOUR & ":" & @MIN & ", " & $wday & @CRLF & @MDAY & " " & $mon & " " & @YEAR & @CRLF & "Будильник #1 = " & $dd_)
Case $tgm=$budoff12
$dd[1][1]=IniWrite("GoodMorning.ini", "Ding-Dong", "Будильник #1", "off")
Case $tgm=$snd1
SoundPlay(@WindowsDir & "\media\tada.wav")
Case $tgm=$snd2
SoundPlay(@WindowsDir & "\media\tada.wav")
Case $tgm=$message
$msg=InputBox("GoodMorning", "Введите сообщение.", "Вставай козел!")
Case $tgm=$calendar
GUICreate("Календарь", 220, 195)
GUICtrlCreateDate("", 10, 10)
GUISetState()
Case $tgm=$volume
Run("sndvol32.exe")
Case $tgm=$exititem
ExitLoop
Case $ggm=$GUI_EVENT_CLOSE
GUIDelete()
Exit
Case $ggm=$ok
GUIDelete()
EndSelect
WEnd
Автор: HATAK
Дата сообщения: 25.09.2007 21:38
Уважаемые подскажите как копировать паку на системный диск.Не знаю как указать именно системный диск.
Автор: ViSiToR
Дата сообщения: 26.09.2007 01:07
kefirko

Цитата:
Необходимо, чтобы при нажатии левой кнопкой мышки запускался графический интерфейс проги (при повторном нажатии он прятался), при нажатии правой кнопкой мышки вылазило меню с настройками.

Для установки того, какой клик будет вызывать меню, нужно в начале (при создании пунктов трея) использовать TraySetClick()... а для показа/скрытия GUI проверять событие $TRAY_EVENT_PRIMARYDOWN (нажатие по иконке в трее левой кнопкой мышки)... вот пример:


Код:
#include <Constants.au3>
Opt("TrayMenuMode", 1)
TraySetClick(16)
$ExitTrayItem = TrayCreateItem("Exit")

$Gui = GuiCreate("Tray Demo")

GUISetState()

While 1
$Msg = GUIGetMsg()
$TrayMsg = TrayGetMsg()
Select
Case $Msg = -3 Or $TrayMsg = $ExitTrayItem
Exit
Case $TrayMsg = $TRAY_EVENT_PRIMARYDOWN
If _WinIsVisible($Gui) Then
GUISetState(@SW_HIDE)
Else
GUISetState(@SW_SHOW)
WinActivate($Gui)
EndIf
EndSelect
WEnd

Func _WinIsVisible($hWnd, $Text="")
Return BitAND(WinGetState($hWnd, $Text), 2)
EndFunc
Автор: kefirko
Дата сообщения: 26.09.2007 06:59

Цитата:

Код:
MsgBox(64, "Внимание!", "Вроде понимает ")
Автор: ViSiToR
Дата сообщения: 26.09.2007 07:04
kefirko

Цитата:
Как-н можно это сделать?

Мой пример проверялся? там это и происходит.
Автор: XpycTMD
Дата сообщения: 26.09.2007 08:35

Цитата:
Конечно можно


А не обьесниш на пальцах как это сделать
Автор: ViSiToR
Дата сообщения: 26.09.2007 09:17
XpycTMD

Цитата:
как это сделать

Что именно нужно?
Вот проверка переданной строки:


Код: If StringInStr($CmdLineRaw, "/CommandLine") Then
MsgBox(64, "Внимание!", "Была обнаружена ком. строка: " & $CmdLineRaw)
EndIf
Автор: kefirko
Дата сообщения: 26.09.2007 09:48
ViSiToR, я как раз проверил скрипт, а потом исправил. Спасибо, это то,что надо.

Еще один интересующий меня вопрос.
Вот код.

Код:
;Нет возможности закрыть или поставить скрипт на паузу
Opt("TrayMenuMode", 1)
;Возможность использования опций в трее
$option=TrayCreateItem("Пусто")
TrayCreateItem("")
$exititem=TrayCreateItem("Exit")
While 1
$tgm=TrayGetMsg()
Select
Case $tgm=$option
InputBox("", "Напишите чего-н", "Краколев")
Case $tgm=$exititem
ExitLoop
EndSelect
WEnd
Автор: HATAK
Дата сообщения: 26.09.2007 11:21
2ViSiToR-совсем нето.
@SystemDir-system32
@WindowsDir-WINDOWS
А мне нужно в корень диска С.
Или это возможно только через С: ?
Автор: ViSiToR
Дата сообщения: 26.09.2007 11:44
kefirko

Цитата:
Как сделать такое?

Вернуть значение с InputBox() и использовать TrayItemSetText($Id, "Text")

HATAK

Цитата:
нужно в корень диска С.

@HomeDrive...




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

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

Предыдущая тема: Quintura Search


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.