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

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

Ответить
Настройки темы
[Архив - Часть 1.2] AutoIt скрипты

Ветеран


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

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


Изменения
Автор: Vadikan
Дата: 25-01-2008
Внимание!
Тема переведена в архивное состояние





(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.
Можно ли с помощью AutoIt выбрать каталог? Хочу нацарапать оболочку, которая мне будет конфиги для nnBackup писать, дык выбрать каталог для бэкапа пока только вручную получается... Нельзя ли как-нть вывалить стандартный диалог по выбору файлов-папок, и получить из него результат действий пользователей?

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 10:47, 10-02-2006

 

Пользователь


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

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


kpuk
А какое отношение имеет ко всему этому Autoit? Разбирайся с API!

Отправлено: 22:46, 29-07-2006 | #251



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

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


Аватара для kpuk

Новый участник


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

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


Ну какбы на нём писать просто - это раз!
И в нём вроди как есть функция dllcall которая позволяет работать с апи!
ВОт по этому и спрашиваю

Отправлено: 13:11, 30-07-2006 | #252


Старожил


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

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


kpuk
На Autoit сделать то, что ты хочешь невозможно. Так же как и на WBS. Это проблема реализации API в програме RunpadShell.

Отправлено: 14:47, 30-07-2006 | #253


Новый участник


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

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


Набросал включение отключение сетевой карточки, мож кому пригодится.
Код: Выделить весь код
$sConnectionName = "Home Office Connection"
$shellApp = ObjCreate("shell.application") 
$oNetConnections = $shellApp.Namespace(0x00000031)
For $folderitem in $oNetConnections.items
    For $verb in $folderitem.verbs
        if $folderitem.name = $sConnectionName Then
           $verb.DoIt
           Sleep(1000)
           ExitLoop 2
        EndIf 
    Next
Next
If $folderitem.name <> $sConnectionName Then msgbox(48, "Ошибка", "Имя соединения указанно не правильно")
Exit
Посмотрите позжалуйста Namespace(0x00000031) по этому адресу находятся "Сетевые подключения" по крайней мере у меня, судя по всему и во всех ХР подобных операционках.

Последний раз редактировалось ANGRO, 05-08-2006 в 10:56.


Отправлено: 22:30, 01-08-2006 | #254


Пользователь


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

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


ANGRO
??????
Код: Выделить весь код
devcon disable *net*

Отправлено: 06:03, 02-08-2006 | #255


Новый участник


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

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


Цитата:
devcon disable *net*
Понятно, у меня его на W2K3SP1 нет я думаю что в WinXP его тоже не найдут. А если приложению необходимо работать скажем на 500 разных компьютерах не являющихся собственностью одной конторы, да даже если и являющихся, что закидывать на каждый комп кучу DLL, EXE, OCX и т.д. А ведь есть компы где запрещено инсталлирование каких либо компонентов без проверки.
Да да знаю скажиш можно включить в сборку и не кто не узнает, а ещё лучше прямо в реестор писать и всё.
Я стараюсь придерживаться другой концепции, пользоваться только стандартным API настолько глубоко насколько знания позволяют и ничего не писать напрямую в реестор, пусть Win сам с этим разбирается.
Для узкой направленности автокликанья в своей винде и сборках для друзей и помощи на работе самый короткий путь типа "взял скачал, на винт забросил, команду передал" подходит, а когда билд уходит на сторону хочется гарантировать определённые вещи.
В любом случаи ИМХО мне интересней учится взаимодействию с операционкой используя её возможности.
P.S. сколько твой devcon весит, а сколько мой код ?

Отправлено: 10:19, 02-08-2006 | #256


Пользователь


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

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


ANGRO
Может, все же зайдешь по ссылке, которую я тебе давал? Это снимет кучу заданных вопросов.
А на счет "интереснее" - тут спору нет.

Отправлено: 11:28, 02-08-2006 | #257


Новый участник


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

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


bogomolv
Спасибо воспользуюсь твоим предложением.
Namespace(49) разобрался писать нужно так Namespace(0x00000031)

Отправлено: 00:32, 03-08-2006 | #258


Аватара для Creat0R

Must AutoIt


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

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


Кто нибудь может пожалуйста помочь разобраться с такой пропблемой:

Чтобы прописывать строчки в начало секции *.ini файла, я воспользовался функцией Func IniWriteVP...
Так вот, когда я попытался воспользоваться этой функцией в (цикле?) Select...Case...EndSelect, то выдалась ошибка о том что нету совпадения между Select и Case и между EndSelect (что-то в этом роде), и вообще практический все команды в таком цикле не исполняются (т.е если в этом цикле используется упомянутая функция). Вот пример, который по идее, должен записывать в заданную секцию, параметр со значением, в первую строку этой секции:


Код: Выделить весь код
Select
	
	Case $CmdLine[0] = 0

$File = "Test.ini"
$Sect = "Test Section"
$Param = "Parametr Test"
$Val = "Value Test"


	IniWriteVP($File,$Sect, $Param, $Val, 1)
		Func IniWriteVP($File,$Sect, $Param, $Val, $Pos=0)
			IniWrite($File,$Sect,$Param,$Val)
	EndFunc

EndSelect
Но как я уже упомянул, этого не происходит, и выдаётся ошибка.
Может кто нибудь подскажет в чём дело, как это осуществить?

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

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

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


Отправлено: 03:17, 03-08-2006 | #259


Аватара для XXXler

Ветеран


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

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


Цитата:
IniWriteVP($File,$Sect, $Param, $Val, 1) Func IniWriteVP($File,$Sect, $Param, $Val, $Pos=0) IniWrite($File,$Sect,$Param,$Val) EndFunc
ну теперь я буду матерится , сколько можно топтатся на этих граблях?

Функция - это подпрограмма, описанная за пределами основного тела программы (впрочем в AutoIT это не обязательно, т.к. нет четкой границы, можно ставить и в начале (после объявления глобальных переменных ипользованных в ней), и в конце), которую можно вызывать из основного тела программы, передавая ей параметры, получая от нее результат:

Код: Выделить весь код
;~ Описываем функцию:
Func MyFunc($par1,$par2)
;~ Выводим сообщение с переданными параметрами
	MsgBox(0,$par1,$par2)
;~ Возвращаем результат Result
	Return "Result"   
EndFunc

;~ Тело программы
;~ .....................
$var=MyFunc("Заголовок","Сообщение")
MsgBox(0,"","Функция MyFunc возвранила значение "&$var)
;~ .....................
Значит смотрется это все будет так:

Код: Выделить весь код
;~ Описываем функцию
Func IniWriteVP($File,$Sect,$Param,$Val,$Pos=0)
	Local $ValArr,$i
	If $Pos<>0 Then IniDelete($File,$Sect,$Param)
	$ValArr=IniReadSection($File,$Sect)
	If @error Or $Pos=0 Or $ValArr[0][0]<$Pos Then
		IniWrite($File,$Sect,$Param,$Val)
		SetError(@error)
	Else
		For $i=1 To $ValArr[0][0]
			IniDelete($File,$Sect,$ValArr[$i][0])
		Next
		For $i=1 To $ValArr[0][0]
			If $Pos=$i Then	IniWrite($File,$Sect,$Param,$Val)
			IniWrite($File,$Sect,$ValArr[$i][0],$ValArr[$i][1])
		Next
	EndIf
EndFunc

;~ А теперь ее используем
Select
	Case $CmdLine[0] = 0
		IniWriteVP(@ScriptDir&"\Test.ini","Test Section","Parametr Test","Value Test",1)
;~ .......

EndSelect

Последний раз редактировалось XXXler, 03-08-2006 в 18:47.

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

Отправлено: 16:23, 03-08-2006 | #260



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 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




 
Переход