Показать полную графическую версию : [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
Maza Faka
24-12-2008, 13:54
Тем что этой же комбинацией нельзя разблокировать »
Для разблокировки нужно ввести пароль и нажать кнопку <Ok>. А, что, можно по другому, если блокировать через Ctrl+Alt+Del?
Maza Faka
24-12-2008, 14:13
6757439
AFAIK штатными средствами программно разблокировать компьютер нельзя:
MSDN
LockWorkStation Function
This function has the same result as pressing Ctrl+Alt+Del and clicking Lock Workstation. To unlock the workstation, the user must log in
Нештатными, вроде можно (http://www.codeproject.com/KB/system/RemoteUnlock.aspx?display=Print) :)
Вот ещё с офф. форума (http://www.autoitscript.com/forum/index.php?showtopic=53154&mode=linear)
И ещё (http://www.softtreetech.com/24x7/archive/51.htm) :)
TERMINAL
24-12-2008, 14:53
Maza Faka, вау, большое спасибо, недогадался
Maza Faka, я думал [C:\WINDOWS] IsFolder = True и есть ошибка
Для разблокировки нужно ввести пароль и нажать кнопку <Ok>. А, что, можно по другому, если блокировать через Ctrl+Alt+Del? »
Я имел в виду, что комбинация Win+L не поможет для вывода формы куда вводить пароль.
ЗЫ. я так понял что нет вариантов разблокировки кроме физического нажатия злополучных ctrl+alt+del .......... :(
Новая версия AutoIt 3.3.0.0 (http://www.autoitscript.com/autoit3/downloads.shtml) доступна на оф. сайте.
Кроме прочего (http://www.autoitscript.com/autoit3/docs/history.htm), пофиксили DllCallbackFree() который крашил скрипт :)
Доброе утро помогите разобраться с комбинированым списком чтобы при выборе нужного значения при нажатии на кнопку производилась запись в ини файл. Уменя какое бы значение невыбрал запись идет час=3 мин=4
код:
#include <GUIConstants.au3>
GUICreate("Будильник 001", 200, 120)
$A2 = GUICtrlCreateCombo ("час", 5, 30, 50, 20)
GUICtrlSetData(-1,"00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23", "час")
$A3 = GUICtrlCreateCombo ("мин", 65, 30, 50, 20)
GUICtrlSetData(-1,"00|05|10|15|20|25|30|35|40|45|50|55", "мин")
$Button_01 = GUICtrlCreateButton ("Подтверждение изменения", 10, 55, 60, 20)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Button_01
IniWrite("kukushka.ini", "Boi_001", "has", $A2)
IniWrite("kukushka.ini", "Boi_001", "min", $A3)
Exit
EndSelect
WEnd
Maza Faka
25-12-2008, 07:04
litus
Для получения значения используй функцию GUICtrlRead
#include <GUIConstants.au3>
GUICreate("Будильник 001", 200, 120)
$A2 = GUICtrlCreateCombo("час", 5, 30, 50, 20)
GUICtrlSetData(-1, "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23", "час")
$A3 = GUICtrlCreateCombo("мин", 65, 30, 50, 20)
GUICtrlSetData(-1, "00|05|10|15|20|25|30|35|40|45|50|55", "мин")
$Button_01 = GUICtrlCreateButton("Подтверждение изменения", 10, 55, 60, 20)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Button_01
IniWrite("kukushka.ini", "Boi_001", "has", GUICtrlRead($A2))
IniWrite("kukushka.ini", "Boi_001", "min", GUICtrlRead($A3))
Exit
EndSelect
WEnd
Grammaton Cleric
26-12-2008, 04:01
6757439 ,Ну вот, собственно, не понятно, про какой ключ вопрос... Вообщето просит пароль пользователя. Результат тот же что и от Win+L. То есть просто надо вводить имя и пароль (или только пароль, если имя уже есть) пользователя, под которым сидел. Если пароля у пользователя нету, тогда еще проще. Не надо вводить пароль...
Перед блокировкой не забудь вспомнить пароль!
DobroeZlo
26-12-2008, 10:43
Creat0R, спасибо.
Из твоего ответа FlatX007 нашел что было нужно.
Grammaton Cleric
26-12-2008, 11:03
Я имел в виду, что комбинация Win+L не поможет для вывода формы куда вводить пароль.
ЗЫ. я так понял что нет вариантов разблокировки кроме физического нажатия злополучных ctrl+alt+del .......... »
А чем тебе не нравится блокировка по Win+L.
morgan1991
26-12-2008, 21:00
6757439, этож где вы такую винду нашли что по нажатию ctrl+alt+del компьютер блокируется?
Насколько я знаю по этому нажатию вылетает диспетчер задач, а на некоторых windows вылетает окно с выбором заблочить комп или запустить диспетчер задач и чтото ещё. А win+l как раз и блокирует пользователя. И ещё мне интересно каким образом будет вводиться пароль если при блокировке компа Autoit ничего сделать не сможет?
Доброе утро хотелось реализовать такую фишку в комбинированом списке чтобы по умолчанию всегда отображалось текущее системное время.
Пример кода:
$A001 = @HOUR
$ABC1 = GUICtrlCreateCombo("", 5, 30, 50, 20)
GUICtrlSetData(-1, "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23", "@HOUR")
Как я его не вертел самое большое что добился это значение @HOUR.
Maza Faka
27-12-2008, 07:41
чтобы по умолчанию всегда отображалось текущее системное время »
В смысле всегда? Имеется в виду, что значение будет изменяться с изменением времени?
Для установки текущего времени в формате PC используй функцию _Now
Юзаю функцию _Now возращает в значение комбинированого списка "0" да и посещают сомнения в тестовом варианте возращаеться формат 27.12.2008 13:45:08 " а нада чтобы возращалось к примеру приводимом ниже только значение часа "13"
D_Master
27-12-2008, 19:03
Для чтения ветки реестра (автозапуск програм) можно так: »
Creat0R, ммм... что-то я совершенно ничего не понял :(
Код, как я понял, такой (с инклюдом):
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=161.ico
#AutoIt3Wrapper_outfile=1.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Include <Registry_UDFs.au3>
$aKeysListArr = _RegReadKeyValueToArray("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 1)
If Not @error Then
For $i = 1 To $aKeysListArr[0]
ConsoleWrite("Текущее имя ключа: " & $aKeysListArr[$i] & @CRLF)
Next
EndIf
Вот только результат никуда не выдается :(
Читал в справке инфу по ConsoleWrite, но не понял назначения функции:
Выдать данные в поток, для чтения его, например, некоторыми редакторами.
Куда выдать, как этот поток прочитать...
Можно ли сделать, к примеру, алерт со списком ключей ветки и их значением?
Куда выдать, как этот поток прочитать... »
Вообще то код желательно набирать в редакторе SciTE, он идёт вместе с поставкой AutoIt'а. Там в консоле будет видно.
Можно ли сделать, к примеру, алерт со списком ключей ветки и их значением? »
Да:
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=161.ico
#AutoIt3Wrapper_outfile=1.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Include <Registry_UDFs.au3>
$aKeysListArr = _RegReadKeyValueToArray("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 1)
If Not @error Then
$sKeys = ""
For $i = 1 To $aKeysListArr[0]
$sKeys &= $aKeysListArr[$i] & @CRLF
Next
EndIf
MsgBox(64, "Ключи реестра - Результат", $sKeys)
Maza Faka
28-12-2008, 08:05
а нада чтобы возращалось к примеру приводимом ниже только значение часа "13" »
Так в твоём примере и происходит. Что ещё нужно?
Убери кавычки обрамляющие @HOUR.
Спасиба всё отлично работает собрал говорящие часики с кукушкой бьёт каждый час. Теперь благодаря вам можно усыплять ПК и будить его в заданое времья.
mustafar
29-12-2008, 12:30
Я новичок! Не подскажите команду которая находит в таком-то координате такой-то color и выполняет функцию?
команду которая находит в таком-то координате такой-то color и выполняет функцию? »
PixelSearch вроде бы нужен:
$nColor = PixelSearch(200, 150, 220, 170, 0xFFFFFF)
If Not @error Then _MyFunc()
Func _MyFunc()
MsgBox(64, "", "Hello from MyFunc() :)")
EndFunc
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC