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

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

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

(*.*)


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


Конфигурация

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


Изменения
Автор: Vadikan
Дата: 21-01-2009
Описание: архив
Внимание!


В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным.



Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).


Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).

Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску)
(он же прикреплен в шапке)


Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

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

Отправлено: 00:02, 05-02-2006

 

Аватара для TERMINAL

Ветеран


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

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


Creat0R, Возможно ли как то узнать серийный номер жёсткого диска, CD-ROMa, материнской платы....?
Возможно ли с помощью скрипта писать диски?
Возможно ли с помощью скрипта, зная название программы, к примеру 1С, узнать на какой сетевой адрес и через какой порт она подключена?

-------
Автоматизация прежде всего....


Отправлено: 12:35, 29-05-2008 | #601



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

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


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


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

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


Можно ли с пом скрипта определить момент появления флэшки в компьютере?
в хелпе отыскала $var = DriveGetDrive( "REMOVABLE" ). но как сделать именно отслеживание? проверку в реальном времени, а не появилась ли флэш...и если появилась то выдать например сообщение типа "проверьте товарисч ее на вирусы, а не тоооооооо...." можно?

Отправлено: 17:45, 29-05-2008 | #602


Аватара для Creat0R

Must AutoIt


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

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


VovaVolk,
Цитата VovaVolk:
потом надо вводить имя и пароль »
Диалог отображается куда можно вводить данные?

DENoszone,
Цитата DENoszone:
пишу сайт...а скрипт парсит его с верху до низу »
Одну страничку?

TERMINAL,
Цитата TERMINAL:
Возможно ли как то узнать серийный номер жёсткого диска, CD-ROMa, материнской платы....? »
Возможно, но это не ко мне, никогда не сталкивался.

Цитата TERMINAL:
Возможно ли с помощью скрипта писать диски? »
Полагаю что тоже возможно.

Цитата TERMINAL:
Возможно ли с помощью скрипта, зная название программы, к примеру 1С, узнать на какой сетевой адрес и через какой порт она подключена? »
Опять, это не ко мне
Я административными задачами не занимался, за исключением мелких, которые были любопытны мне.

SvetlanaK,
Цитата SvetlanaK:
как сделать именно отслеживание? »
Я как то приводил пример:

Код: Выделить весь код
#include <GuiConstants.au3>

Global $aDrives = 0

GUICreate("USB Ejector & Monitor", 300, 210)

$List = GUICtrlCreateList("", 20, 20, 260, 140)

$EjectDrive_Button = GUICtrlCreateButton("Eject Drive", 20, 170, 70, 20)
$RefreshList_Button = GUICtrlCreateButton("Refresh List", 210, 170, 70, 20)

_Check_Drives()
AdlibEnable("_Check_Drives", 1000)

GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $EjectDrive_Button
            $sDrive = GUICtrlRead($List)

            _EjectDrive(StringLower($sDrive))
        Case $RefreshList_Button
            $aCheckDrives = DriveGetDrive("Removable")
            _SetUSBDrivesList_Proc($List)
    EndSwitch
WEnd

Func _Check_Drives()
    $aCheckDrives = DriveGetDrive("Removable")

    If Not _aDrivesIsIdent($aDrives, $aCheckDrives) Then
        $aDrives = $aCheckDrives
        _SetUSBDrivesList_Proc($List)
    EndIf
EndFunc

Func _SetUSBDrivesList_Proc($iCtrlID=-1)
    GUICtrlSetData($iCtrlID, "")

    For $i = 1 To UBound($aDrives)-1
        If Not _IsFloppyDrives($aDrives[$i]) And DriveStatus($aDrives[$i]) = "READY" Then _
            GUICtrlSetData($iCtrlID, StringUpper($aDrives[$i]) & "\")
    Next
EndFunc

Func _aDrivesIsIdent(ByRef $avArray1, ByRef $avArray2)
    Local $iUbound1 = UBound($avArray1), $iUbound2 = UBound($avArray2)

    If $iUbound1 <> $iUbound2 Then Return False

    For $i = 1 To $iUbound1-1
        If Not _IsFloppyDrives($avArray1[$i], $avArray2[$i]) And _
            ($avArray1[$i] <> $avArray2[$i] Or DriveStatus($avArray1[$i]) <> "READY" Or _
            DriveStatus($avArray2[$i]) <> "READY") Then Return False
    Next

    Return True
EndFunc

Func _IsFloppyDrives($sDrive1, $sDrive2="")
    Return StringRegExp($sDrive1, "(?i)[a-b]") Or ($sDrive2 <> "" And StringRegExp($sDrive2, "(?i)[a-b]"))
EndFunc

Func _EjectDrive($sdLetter, $sVerb="&Извлечь") ;Для английской Winndows $sVerb = "E&ject"
    ;Раскомментируйте эти строчки для Варианта № 1 :)
;~  Run("rundll32.exe shell32.dll,Control_RunDLL hotplug.dll", @SystemDir)
;~  Return

    If $sdLetter = "" Then Return 0

    Local Const $SSF_DRIVES = 17
    Local $oShell, $oNameSpace, $oDrive

    Local $oEvent = ObjEvent("AutoIt.Error", "Error_Handler")

    Local $oShell = ObjCreate("Shell.Application")
    If Not IsObj($oShell) Then Return SetError(1, 0, 0)

    Local $oNamespace = $oShell.NameSpace($SSF_DRIVES)
    Local $oDrive = $oNamespace.ParseName($sdLetter)

    $oDrive.InvokeVerb($sVerb)
    If @error Then Return 0

    If DriveStatus($sdLetter) <> "READY" Then
        Local $strName = DriveGetLabel($sdLetter) & " (" & StringUpper($sdLetter) & ")"
        TrayTip("USB Drive " & $strName & " ejected", "You can now remove the device safely.", 5, 1)
    EndIf
Endfunc

Func Error_Handler()
    SetError(1)
EndFunc

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

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

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

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

Отправлено: 17:59, 29-05-2008 | #603


Аватара для Maza Faka

Ветеран


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

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


TERMINAL
Цитата:
Возможно ли как то узнать серийный номер жёсткого диска, CD-ROMa, материнской платы....?
Очень сложно, если не сказать невозможно. Эти данные можно получить из BIOS-а. Поищи в Googl-е.
Цитата:
Возможно ли с помощью скрипта писать диски?
Можно, для этого есть WinAPI функции.

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 07:25, 30-05-2008 | #604


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


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

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


Creat0R, большое спасибо!

Отправлено: 11:00, 30-05-2008 | #605


Ветеран


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

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


Имеем код типа
Код: Выделить весь код
GuiCtrlCreateTab($x, $y, $w, $h
GuiCtrlCreateTabItem("Tab1")
....
GuiCtrlCreateTabItem("Tab2")
...
GuiCtrlCreateTabItem("Tab3")
..
GuiCtrlCreateTabItem("Tab4")
.
GuiCtrlCreateTabItem("")
В некоторых табах имеет ListView. Выбираем в каком нибудь алимент. Переключаемся в другой таб что-то делаем, возвращаемся а выбранный алимент сброшен.
Что значит надо самому запоминать его состояние и восстанавливать при переключении на данную вкладку? Мне кажется много кода будет!
Кто нибудь подскажет имена событий связанные с переключением вкладок. А еще лучше пример обработчика.
Или я опять все привратно трактую, в силу недопонимания?!

И кстатит на что влияет заключительная контсрукция GuiCtrlCreateTabItem("").
Я сначала без неё усе написал а потом у хелпе выглядел!

Отправлено: 12:51, 30-05-2008 | #606


Аватара для Котяра

Ветеран


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

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


Цитата TERMINAL:
Creat0R, Возможно ли как то узнать серийный номер жёсткого диска, CD-ROMa, материнской платы....?
Возможно ли с помощью скрипта писать диски?
Возможно ли с помощью скрипта, зная название программы, к примеру 1С, узнать на какой сетевой адрес и через какой порт она подключена? »
1. Я думаю, да.
2. Я думаю, нет, запись дисков не является функцией Windows, она появилась лишь в Windows XP. Только если подключить какой-нибудь command-line прожигатель дисков.
3. Не знаю

Отправлено: 13:08, 30-05-2008 | #607


Аватара для Creat0R

Must AutoIt


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

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


NikLok,
Цитата NikLok:
Выбираем в каком нибудь алимент. Переключаемся в другой таб что-то делаем, возвращаемся а выбранный алимент сброшен. »
Про какой элемент речь? строка в ListView?

Цитата NikLok:
Кто нибудь подскажет имена событий связанные с переключением вкладок. А еще лучше пример обработчика. »
Что именно требуется? проверить переключение вкладки?

Код: Выделить весь код
#include <GuiConstants.au3>

$GUI = GUICreate("Test Script", 300, 200)

$Main_Tab = GUICtrlCreateTab(20, 10, 260, 140)

$TabItem1 = GUICtrlCreateTabItem("Tab 1")
$TabItem2 = GUICtrlCreateTabItem("Tab 2")

GUISetState(@SW_SHOW, $GUI)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Main_Tab
            Switch GUICtrlRead($Main_Tab)
                Case 0
                    MsgBox(0, "", "Переключение на Tab 1")
                Case 1
                    MsgBox(0, "", "Переключение на Tab 2")
            EndSwitch
    EndSwitch
WEnd
Цитата NikLok:
на что влияет заключительная контсрукция GuiCtrlCreateTabItem(""). »
На закрытие табов, чтобы создаваемые далее контроли не попадали под последний созданный таб.

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

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

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

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

Отправлено: 13:17, 30-05-2008 | #608


Ветеран


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

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


Цитата Creat0R:
Про какой элемент речь? строка в ListView? »
Именно, именно!

В принципе на все ответил. Только момент не совсем ясен:
Цитата Creat0R:
Case 0 MsgBox(0, "", "Переключение на Tab 1") Case 1 MsgBox(0, "", "Переключение на Tab 2") »
Я так понимаю 0 и 1 это внутренние ( скрытые внутрях) идентификаторы табов в соотв с порядком их создания?
Наверное вместо них так же можно использовать $TabItem1 и $TabItem2 ?

А что с сохранением позций listview в табах?

Отправлено: 13:59, 30-05-2008 | #609


Аватара для Creat0R

Must AutoIt


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

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


NikLok,
Цитата NikLok:
Я так понимаю 0 и 1 это внутренние ( скрытые внутрях) идентификаторы табов в соотв с порядком их создания? »
Да, 0 первый таб, 1 (в этом случае) последний.

Цитата NikLok:
Наверное вместо них так же можно использовать $TabItem1 и $TabItem2 ? »
Нет, это идентификаторы контроля, а нам нужно проверять свойства текущего Tab'а.

Цитата NikLok:
что с сохранением позций listview в табах? »
У меня работает:

Код: Выделить весь код
#include <GuiConstants.au3>

$GUI = GUICreate("Test Script", 300, 200)

$Main_Tab = GUICtrlCreateTab(20, 10, 260, 140)

$TabItem1 = GUICtrlCreateTabItem("Tab 1")

$ListView = GUICtrlCreateListView("Column", 40, 40, 220, 100)
GUICtrlCreateListViewItem("Item", $ListView)

$TabItem2 = GUICtrlCreateTabItem("Tab 2")

GUISetState(@SW_SHOW, $GUI)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
Приведи пример что конкретно имеется в виду.

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

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

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

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

Отправлено: 14:18, 30-05-2008 | #610



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ FOX RED Защита компьютерных систем 67 21-11-2007 15:05
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход