|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты |
|
[Архив - Часть 1.2] AutoIt скрипты
|
Ветеран Сообщения: 565 |
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. |
|
------- Отправлено: 10:47, 10-02-2006 |
Пользователь Сообщения: 116
|
Профиль | Отправить PM | Цитировать XXXler
Спасиба! |
Отправлено: 17:22, 21-08-2006 | #311 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать А вот кстати как это будет на COM.
Особо не разбирался в возможностях просто транслировал пример из MSDN. Не уверен что будет работать до WinXP_SP2, но стоит проверить. ;Firewall Adding an Application ;Set constants Const $NET_FW_PROFILE_DOMAIN = 0 Const $NET_FW_PROFILE_STANDARD = 1 ;Scope Const $NET_FW_SCOPE_ALL = 0 ;IP Version – ANY is the only allowable setting for now Const $NET_FW_IP_VERSION_ANY = 2 ;Create the firewall manager object. $ObjfwMgr = ObjCreate("HNetCfg.FwMgr") ;Get the current profile for the local firewall policy. $Profile = $ObjfwMgr.LocalPolicy.CurrentProfile $App = ObjCreate("HNetCfg.FwAuthorizedApplication") $App.ProcessImageFileName = @ProgramFilesDir&"\PowerDVD\PowerDVD.exe" ;Путь $App.Name = "PowerDVD" ;Имя как будет значиться в списке исключений ;Use either Scope or RemoteAddresses, but not both !!!!!! (Если не понятно лучше не трогать) $App.Scope = $NET_FW_SCOPE_ALL ;$App.RemoteAddresses = "*" $App.IpVersion = $NET_FW_IP_VERSION_ANY $App.Enabled = TRUE ; TRUE - Галочка стоит, FALSE - Галочка снята $Profile.AuthorizedApplications.Add($App) |
Последний раз редактировалось ANGRO, 22-08-2006 в 13:14. Отправлено: 20:08, 21-08-2006 | #312 |
Пользователь Сообщения: 116
|
Профиль | Отправить PM | Цитировать Рабочий вариант:
Select Case @OSVersion='WIN_XP' and @OSServicePack='Service Pack 2' RunWait('netsh firewall add allowedprogram program="'&@ProgramFilesDir&'\InterVideo\DVD7\WinDVD.exe" name=WinDVD7 profile=ALL mode=ENABLE ','',@SW_HIDE ) Case @OSVersion='WIN_2003' and @OSServicePack='Service Pack 1' RunWait('netsh firewall add allowedprogram program="'&@ProgramFilesDir&'\InterVideo\DVD7\WinDVD.exe" name=WinDVD7 profile=ALL mode=ENABLE ','',@SW_HIDE ) EndSelect |
Последний раз редактировалось sattva, 22-08-2006 в 20:01. Отправлено: 00:21, 22-08-2006 | #313 |
Новый участник Сообщения: 47
|
Профиль | Отправить PM | Цитировать Нужен скрипт который бы сканировал текущий каталог и выводил в результате все подпапки, вот что у меня вышло
;--------------------------------------Start Dir---------------------------------------- $searchdir = (@ScriptDir & "\") $search = FileFindFirstFile($searchdir & "*") $dirtot = 0 $i1 = 0 While 1 If $search = -1 Then ExitLoop $file = FileFindNextFile($search) If @error Then ExitLoop $fs1 = StringReplace($file, ".", "-") if @extended = 0 Then $i1 = $i1 + 1 Assign ( "dirA" & $i1 , $searchdir & $file , 2) $dirtot = $dirtot + 1 Assign ( "dirtot" & $dirtot , $searchdir & $file , 2) EndIf WEnd FileClose($search) ;--------------------------------------------------------------------------------------- $is = $i1 $i1 = 0 For $i = 1 TO $is $var = Eval( "dirA" & $i) $searchdir = ( $var & "\") $search = FileFindFirstFile($searchdir & "*") While 1 If $search = -1 Then ExitLoop $file = FileFindNextFile($search) If @error Then ExitLoop $fs1 = StringReplace($file, ".", "-") if @extended = 0 Then $i1 = $i1 + 1 Assign ( "dirB" & $i1 , $searchdir & $file , 2) $dirtot = $dirtot + 1 Assign ( "dirtot" & $dirtot , $searchdir & $file , 2) EndIf WEnd FileClose($search) Next ;--------------------------------------------------------------------------------------- $is = $i1 $i1 = 0 For $i = 1 TO $is $var = Eval( "dirB" & $i) $searchdir = ( $var & "\") $search = FileFindFirstFile($searchdir & "*") While 1 If $search = -1 Then ExitLoop $file = FileFindNextFile($search) If @error Then ExitLoop $fs1 = StringReplace($file, ".", "-") if @extended = 0 Then $i1 = $i1 + 1 Assign ( "dirC" & $i1 , $searchdir & $file , 2) $dirtot = $dirtot + 1 Assign ( "dirtot" & $dirtot , $searchdir & $file , 2) EndIf WEnd FileClose($search) Next ;--------------------------------------------------------------------------------------- $is = $i1 $i1 = 0 For $i = 1 TO $is $var = Eval( "dirC" & $i) $searchdir = ( $var & "\") $search = FileFindFirstFile($searchdir & "*") While 1 If $search = -1 Then ExitLoop $file = FileFindNextFile($search) If @error Then ExitLoop $fs1 = StringReplace($file, ".", "-") if @extended = 0 Then $i1 = $i1 + 1 Assign ( "dirD" & $i1 , $searchdir & $file , 2) $dirtot = $dirtot + 1 Assign ( "dirtot" & $dirtot , $searchdir & $file , 2) EndIf WEnd FileClose($search) Next $swar = ("") $i1 = 0 For $i = 1 TO $dirtot $var = Eval( "dirtot" & $i) $swar = ($swar & $var & "; ") Next FileWrite("test.txt", $swar) |
------- Отправлено: 11:01, 22-08-2006 | #314 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать bodro
интересно чем не устраивает DIR? хотя можно и AutoIT-ом, что-нибудь типа: $root="C:" DirList ($root,"test.txt") Func DirList ($root,$file) $search = FileFindFirstFile($root & "\*.*") While 1 $dir = FileFindNextFile($search) If @error Then ExitLoop $dir =$root & "\" & $dir If FileExists($dir & "\") Then FileWriteLine($file,$dir) DirList ($dir,$file) EndIf WEnd FileClose($search) Return 0 EndFunc |
Отправлено: 12:57, 22-08-2006 | #315 |
Ветеран Сообщения: 565
|
Профиль | Сайт | Отправить PM | Цитировать конечно, синтаксическая ошибка. внимательнее надо быть, у Вас апостроф вместо & .
|
------- Отправлено: 13:09, 22-08-2006 | #316 |
![]() Ветеран Сообщения: 1073
|
Профиль | Отправить PM | Цитировать ;~ Функция вывода структуры каталогов Func ParceDir($Path) Local $Pathes[2],$i,$Folders,$Str $Pathes[0]=1 $Pathes[1]=$Path While $i<$Pathes[0] $i=$i+1 $Folders=FileFindFirstFile($Pathes[$i]&"\*") If $Folders=-1 Then ContinueLoop While 1 $Str=FileFindNextFile($Folders) If @error Then ExitLoop If $Str="." Or $Str=".." Then ContinueLoop $Str=$Pathes[$i]&"\"&$Str If StringInStr(FileGetAttrib($Str),"D")<>0 Then $Pathes[0]=$Pathes[0]+1 ReDim $Pathes[$Pathes[0]+1] $Pathes[$Pathes[0]]=$Str EndIf WEnd FileClose($Folders) Wend Return $Pathes EndFunc Есть минус - каталоги в массиве идут по вложенности (сначала верхний уровень, потом вложенные папки), да и быстродействие хромает... |
Отправлено: 13:12, 22-08-2006 | #317 |
Новый участник Сообщения: 47
|
Профиль | Отправить PM | Цитировать спасибо DIR /AD /S /B >test.txt меня полностью удовлетворил
![]() |
------- Отправлено: 19:15, 22-08-2006 | #318 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Такой вопрос - Как можно корректно, закрыть определённую программу (не убивать её процесс, а именно нормально закрыть). Эту программу не получается уловить через WinWaitActive, она находится в трее, а как из трея вызывать окно, я не знаю.
И ещё, я запускаю Winamp из трея (повторным запуском), но не получается также уловить его окно, вроде знаю заголовок, но ничего не происходит, скрипт продолжает свои действия не активируя окно винампа (а действия связанный именно с ним). Может есть другой способ уловить окно? т.е не по заголовку, а по другим показателям, ведь заголовок может меняться (при разных языковых версиях). |
------- Отправлено: 00:15, 24-08-2006 | #319 |
Пользователь Сообщения: 148
|
Профиль | Отправить PM | Цитировать |
Отправлено: 00:32, 24-08-2006 | #320 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|