[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Ответить
 • Просмотры: 7
Аватара пользователя
beve

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение beve »

Привет всем. У меня вопрос по autoit. Вопрос вроде легкий, а решить уже 2 дня не могу. И в связи что легкий нигде нет ответа, а по совету из справки у меня получается каламбур. Подскажите знающие. Мне нужен скрипт, который бы проверял дату на компе с моей введенной (например 08/08/2008) и если совпадает, то запуск "моей программы", а если нет то выход. Спасибо. :help
Аватара пользователя
Creat0R

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Creat0R »

Wu-Tang

ОФФТОП: эта тема для обсуждения открытого кода, а не "закрытых" приложений



BrAWo


Цитата BrAWo:



если они не правильные то поменять их на правильные
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




может не заморачиваться лишними строчками кода и сразу вбивать без проверки?

Код:

Код: Выделить всё

Dim $aDNSList[2]=["192.168.0.1","192.168.0.2"]
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colNetCards = $objWMIService.ExecQuery ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For $objNetCard In $colNetCards
    $intErrorSetDNSServerSearchOrder = $objNetCard.SetDNSServerSearchOrder($aDNSList)
Next
Аватара пользователя
beve

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение beve »

Спасибо, Creat0R за ответ. Мой вопрос решен.
Аватара пользователя
266903582

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение 266903582 »

Creat0R, спасибо.

Я тоже без дела не сидел Изображение небольшой концептик получился, по свободняку расширю его твоим примером:



Код:

Код: Выделить всё

#include 
FileDelete("file.txt")
$dll = DllOpen("user32.dll")
$file = FileOpen("file.txt", 1)
$ffi=""
While 1
	if _IsPressed("11", $dll) Then							;ctrl	ctrltext & classn
		wr(ControlGetText("","",ControlGetFocus(""))&@lf&ControlGetFocus(""))
	EndIf
	if _IsPressed("12", $dll) Then 							;alt		title & alltext
		wr(WinGetTitle("")&@lf&"-------"&@lf&WinGetText(""))
	EndIf							
	if _IsPressed("1b", $dll) Then Exit						;esc
	sleep(50)
WEnd	
DllClose($dll)
FileClose($file)
Func wr($ff)
	if $ffi$ff then  ;исключаем попадание многократных копий захваченного текста в файл
		FileWrite($file,$ff&@LF&"-------"&@lf)   ;пишем форматированный текст
		$ffi=$ff
		ToolTip($ffi)
	EndIf
EndFunc
Аватара пользователя
amel27

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение amel27 »

Positiv


Цитата:



А разве это важно



Да, что бы наверняка определить состояние, вот для начала, проверь какие строки возвращаются при подключенном и отключенном соеденении:



Код:

Код: Выделить всё

Global Const $INTERNET_CONNECTION_MODEM = 0x1
Global Const $INTERNET_CONNECTION_LAN = 0x2
Global Const $INTERNET_CONNECTION_PROXY = 0x4
Global Const $INTERNET_CONNECTION_MODEM_BUSY = 0x8
Global Const $INTERNET_RAS_INSTALLED = 0x10
Global Const $INTERNET_CONNECTION_OFFLINE = 0x20
Global Const $INTERNET_CONNECTION_CONFIGURED = 0x40
Dim $State, $val
$InetStruct = DllStructCreate("int")
DllCall("wininet.dll", "int", "InternetGetConnectedState", "ptr", DllStructGetPtr($InetStruct), "dword", 0)
$val = DllStructGetData($InetStruct, 1)
If BitAND($val, $INTERNET_CONNECTION_MODEM) Then $State &= "Modem connection" & @LF
If BitAND($val, $INTERNET_CONNECTION_LAN) Then $State &= "LAN connection" & @LF
If BitAND($val, $INTERNET_CONNECTION_PROXY) Then $State &= "Proxy connection" & @LF
If BitAND($val, $INTERNET_CONNECTION_MODEM_BUSY) Then $State &= "Modem bussy" & @LF
If BitAND($val, $INTERNET_RAS_INSTALLED) Then $State &= "RAS installed" & @LF
If BitAND($val, $INTERNET_CONNECTION_OFFLINE) Then $State &= "Offline connection" & @LF
If BitAND($val, $INTERNET_CONNECTION_CONFIGURED) Then $State &= "Connection configured"
MsgBox(0, "Connection", $State)


Цитата:



Подключение в точности такое же как и у диалапа



А как дозваниваешься? У меня dial-up подключение, поэтому все тонкости ADSL подключения я не знаю.
Аватара пользователя
Maza Faka

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Maza Faka »

amel27


Цитата:



будешь удивлен, но в штатных функциях AutoIT уже есть API-врапперы



Ну надо же! Изображение




Цитата:



поэтому, поскольку уже зацепился на днях выложу свой вариант UDF



ОК! Ждёмс... Изображение
Аватара пользователя
NikLok

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение NikLok »

Цитата amel27:



может не заморачиваться лишними строчками кода и сразу вбивать без проверки?
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Спасибо огромное



можно еще небольшой вопрос:

если указано:



основной dns: 192.168.0.1

альтернативный dns: 192.168.0.2



а нужно оставить только:

основной dns: 192.168.0.1
Аватара пользователя
Creat0R

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Creat0R »

Positiv

Попробуй так:



Код:

Код: Выделить всё

If _GetConnectState() = 1 Then Exit
Global Const $INTERNET_AUTODIAL_FORCE_UNATTENDED = 0x02
$ConNumber = DllStructCreate("int")
DllStructSetData($ConNumber, 1, 0)
DllCall("wininet.dll", "int", "InternetDial", "hwnd", 0, _
        "ptr", 0, _
        "int", $INTERNET_AUTODIAL_FORCE_UNATTENDED, _
        "ptr", DllStructGetPtr($ConNumber), _
        "int", 0)
Func _GetConnectState()
    Local Const $INTERNET_CONNECTION_MODEM = 0x1
    Local $InetStruct = DllStructCreate("int")
    DllCall("wininet.dll", "int", "InternetGetConnectedState", "ptr", DllStructGetPtr($InetStruct), "dword", 0)
    If BitAND(DllStructGetData($InetStruct, 1), $INTERNET_CONNECTION_MODEM) Then Return 1
EndFunc
Аватара пользователя
beve

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение beve »

BrAWo


Цитата BrAWo:



нужно оставить только:

основной dns: 192.168.0.1
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




хоть один, хоть десять - первая строка:

Код:

Код: Выделить всё

Dim $aDNSList[1]=["192.168.0.1"]
Аватара пользователя
Creat0R

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Creat0R »

Подскажите, как отправить Alt+ в какое-нибудь приложение? Например Alt+Ф в блокнот.



Перепробовал кучу вариантов, в том числе:

Send(!Ф)

Send({ALT}ф)

Send({ALT}{ф})

и т.п.



Ничего не работает. Приходится иметь дело с русскими менюшками, лучшего способа, чем посылать шорткаты, нет. Autoit юзается как activex из ruby, возможностей заюзать "дополнительные" функции нет.



Вопрос проскакивал в топике, но ответа не было.



Если кто знает решение - напишите пожалуйста.
Ответить

Вернуться в «AutoIt»