Как при помощи StringRegExpReplace преобразовать строку вида: "\\ws1\c\folder\test\scite" в строку: "c:\folder\test\scite" ?
» AutoIT
ViSiToR, так вот, каким образом можно закрыть процесс? Именно закрыть, имитировав нажатие Alt+F4 или пункта меню Exit, а не просто убить? Чтобы соответственно, если это Notepad.exe например, и в нем есть не сохраненный текст, блокнот выдал подтверждение сохранить или нет. И как быть с приложениями, которые спрятаны в трее? Например, qip, RoboForm, WinAmp и пр.
Maza Faka
Цитата:
Я вернулся на старую-причин много
В новой примеры работают при создании ListYiew через UDF
Мне хотелось использовать более простой в управлении и с большими возможностями ListView ,созданный без UDF
Просьбу выставлял,не предполагая,что это достаточно сложно
Кстати версии (новая и старая)работают и без инсталяции (вернее без деинсталяции с разнесением в разные папки),хотя может где-то и откажут
В связи с этим вопрос : как грамотно выполнить оперативную передачу управления на запуск Autoit-овского файла с одного ехе файла на другой (с нового на старый и назад) ?
Версии в разных папках.
Наверное внести измения в системное меню контекста ?
Может подскажет кто. Я- не силен
Цитата:
Если поставил новую версию, то какие проблемы с редактированием? В справке есть примеры
Я вернулся на старую-причин много
В новой примеры работают при создании ListYiew через UDF
Мне хотелось использовать более простой в управлении и с большими возможностями ListView ,созданный без UDF
Просьбу выставлял,не предполагая,что это достаточно сложно
Кстати версии (новая и старая)работают и без инсталяции (вернее без деинсталяции с разнесением в разные папки),хотя может где-то и откажут
В связи с этим вопрос : как грамотно выполнить оперативную передачу управления на запуск Autoit-овского файла с одного ехе файла на другой (с нового на старый и назад) ?
Версии в разных папках.
Наверное внести измения в системное меню контекста ?
Может подскажет кто. Я- не силен
Baloven1
Цитата:
Ну это скоррее к администрации нужно направлять вопрос, хотя я сомниваюсь что подобное будет реализовано, на AutoIt форуме это необходимый (хотя тоже только как украшение/наглядность) тег, а тут нет.
Tipulatoid
Цитата:
Можно _GuiCtrlStatusBarCreate(), но чтобы попроще, можно тот же Label...
Код: #include <GuiConstants.au3>
$Gui = GuiCreate("Test", 300, 140)
$SetData = GUICtrlCreateButton("Set Data", 20, 20)
$StatusBar_Label = GUICtrlCreateLabel("", 0, 122, 300, 20, $SS_SIMPLE+$SS_SUNKEN)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
Exit
Case $SetData
GUICtrlSetData($StatusBar_Label, "Test")
EndSwitch
WEnd
Цитата:
а что если его (скрипт раскраски постов) доработать и приклеить в код формы?
Ну это скоррее к администрации нужно направлять вопрос, хотя я сомниваюсь что подобное будет реализовано, на AutoIt форуме это необходимый (хотя тоже только как украшение/наглядность) тег, а тут нет.
Tipulatoid
Цитата:
С помощью какого элемента Gui можно нарисовать информационую панель
Можно _GuiCtrlStatusBarCreate(), но чтобы попроще, можно тот же Label...
Код: #include <GuiConstants.au3>
$Gui = GuiCreate("Test", 300, 140)
$SetData = GUICtrlCreateButton("Set Data", 20, 20)
$StatusBar_Label = GUICtrlCreateLabel("", 0, 122, 300, 20, $SS_SIMPLE+$SS_SUNKEN)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
Exit
Case $SetData
GUICtrlSetData($StatusBar_Label, "Test")
EndSwitch
WEnd
gregaz
могу ошибаться, но попробуй передачу организовать через запуск скрипта подобно тому как ты бы его запустил из командной строки...
т.е. @ProgramFiles\AutoIt3Old\AutoIt3.exe test.au3
@ProgramFiles\AutoIt3NEW\AutoIt3.exe test1.au3
при таком раскладе запуск частей (имхо) нужно будет выполнять через внешний скрипт или bat-(cmd кому что нравится) файлы и организацию передачи переменных наверно только через файл или иное хранилище не имеющее отношения к AI... все это имхо и возможно работать и не будет, но вроде как должно заработать....
да кстати, возможно что прийдется и в #include прописывать полный путь к папке, дабы AI работающий в текущий момент брал только свои, а не от другой версии
Добавлено:
и кстати... ведь можно же из SciTE запустить обработчик (компиляцию, проверку синтаксиса, запуск и пр.) релиза или бета версии лежащей в подкаталоге @ProgramFiles\AutoIt3\Beta\
Добавлено:
gregaz
хм... очень интересную инфу обнаружил в справке (!!! ) для себя (в английской справке раздел "Running Scripts"
цитата:
Цитата:
и далее:
Цитата:
т.е. исходя из полученной инфы можно сделать вывод, что (опять же имхо): в теории можно написать один скрипт который будет отвечать за обмен переменными в синтаксисе обоих версий, (т.е. чтобы его синтаксис поддерживался обоими используемыми версиями, ну или принудительного его запускать на той версии, под которую он написан) и в тексте скрипта передавать значения переменных параметрами при запуске скрипта с нужным обработчиком...
что получится отпишись - пробовать времени нет, а результат интересен
могу ошибаться, но попробуй передачу организовать через запуск скрипта подобно тому как ты бы его запустил из командной строки...
т.е. @ProgramFiles\AutoIt3Old\AutoIt3.exe test.au3
@ProgramFiles\AutoIt3NEW\AutoIt3.exe test1.au3
при таком раскладе запуск частей (имхо) нужно будет выполнять через внешний скрипт или bat-(cmd кому что нравится) файлы и организацию передачи переменных наверно только через файл или иное хранилище не имеющее отношения к AI... все это имхо и возможно работать и не будет, но вроде как должно заработать....
да кстати, возможно что прийдется и в #include прописывать полный путь к папке, дабы AI работающий в текущий момент брал только свои, а не от другой версии
Добавлено:
и кстати... ведь можно же из SciTE запустить обработчик (компиляцию, проверку синтаксиса, запуск и пр.) релиза или бета версии лежащей в подкаталоге @ProgramFiles\AutoIt3\Beta\
Добавлено:
gregaz
хм... очень интересную инфу обнаружил в справке (!!! ) для себя (в английской справке раздел "Running Scripts"
цитата:
Цитата:
So if your script is run like this:
AutoIt3.exe myscript.au3 param1 "this is another param"
$CmdLine[0] equals... 2
$CmdLine[1] equals... param1
$CmdLine[2] equals... this is another param
@ScriptName equals... myscript.au3
и далее:
Цитата:
Note : only 63 parameters can be return by $CmdLine[...], but $CmdLineRaw will always returns the entire command line.
т.е. исходя из полученной инфы можно сделать вывод, что (опять же имхо): в теории можно написать один скрипт который будет отвечать за обмен переменными в синтаксисе обоих версий, (т.е. чтобы его синтаксис поддерживался обоими используемыми версиями, ну или принудительного его запускать на той версии, под которую он написан) и в тексте скрипта передавать значения переменных параметрами при запуске скрипта с нужным обработчиком...
что получится отпишись - пробовать времени нет, а результат интересен
Baloven1
Цитата:
Вопрос : как лучше идентифицировать версию AI ?
Цитата:
т.е. исходя из полученной инфы можно сделать вывод, что (опять же имхо): в теории можно написать один скрипт который будет ...запускать на той версии, под которую он написан)
Вопрос : как лучше идентифицировать версию AI ?
gregaz
Цитата:
Код:
MsgBox(64, "Info", "AutoIt Version Is: " & GetAutoItVersion())
Func GetAutoItVersion()
Local $Au3_Path = StringRegExpReplace(@AutoItExe, '\\[^\\]+$', '') & "\AutoIt3.exe"
If @Compiled Then $Au3_Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\AutoIt3.exe"
If FileExists($Au3_Path) Then Return FileGetVersion($Au3_Path)
$Au3_Path = @ProgramFilesDir & "\AutoIt3\AutoIt3.exe"
If FileExists($Au3_Path) Then Return FileGetVersion($Au3_Path)
$Au3_Path = @ScriptDir & "\AutoIt3"
If FileExists($Au3_Path) Then Return FileGetVersion($Au3_Path)
Return "Unknown"
EndFunc
Цитата:
как лучше идентифицировать версию AI ?
Код:
MsgBox(64, "Info", "AutoIt Version Is: " & GetAutoItVersion())
Func GetAutoItVersion()
Local $Au3_Path = StringRegExpReplace(@AutoItExe, '\\[^\\]+$', '') & "\AutoIt3.exe"
If @Compiled Then $Au3_Path = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\AutoIt3.exe"
If FileExists($Au3_Path) Then Return FileGetVersion($Au3_Path)
$Au3_Path = @ProgramFilesDir & "\AutoIt3\AutoIt3.exe"
If FileExists($Au3_Path) Then Return FileGetVersion($Au3_Path)
$Au3_Path = @ScriptDir & "\AutoIt3"
If FileExists($Au3_Path) Then Return FileGetVersion($Au3_Path)
Return "Unknown"
EndFunc
Вот фргмент моего кода:
Код: $GroupGui_2_6 = GUICtrlCreateGroup("", 20, 210, 350, 43)
$LabelGui_2_6_1 = GUICtrlCreateLabel("Введите количество периодов (от 1 до 20):", 30, 222, 220, 17)
$InputGui_2_6_1 = GUICtrlCreateInput("12", 1, 1, 1, 1)
$UpDownGui_2_6_1 = GUICtrlCreateUpdown($InputGui_2_6_1)
GUICtrlSetPos($InputGui_2_6_1, 250, 220, 40, 17 )
GUICtrlCreateGroup("", -99, -99, 1, 1)
Код: $GroupGui_2_6 = GUICtrlCreateGroup("", 20, 210, 350, 43)
$LabelGui_2_6_1 = GUICtrlCreateLabel("Введите количество периодов (от 1 до 20):", 30, 222, 220, 17)
$InputGui_2_6_1 = GUICtrlCreateInput("12", 1, 1, 1, 1)
$UpDownGui_2_6_1 = GUICtrlCreateUpdown($InputGui_2_6_1)
GUICtrlSetPos($InputGui_2_6_1, 250, 220, 40, 17 )
GUICtrlCreateGroup("", -99, -99, 1, 1)
ViSiToR,спасибо
Baloven1
Я пошел другим ( может быть варварским, дилетантским), но простым путем :
Переименовал екзешник новой версии в AutoIt3.exe в AutoIt31.exe,а скрипты создаваемые в новой версии в *.au31.
Все работает вроде бы и иконки скриптов *.au3 и *.au31 отличаются
Тем самым я убедился в возможности параллельного функционирования обеих версий ,а дальше можно и выполнить все более грамотно.Позже ведь все равно придется уходить из старой версии
Baloven1
Я пошел другим ( может быть варварским, дилетантским), но простым путем :
Переименовал екзешник новой версии в AutoIt3.exe в AutoIt31.exe,а скрипты создаваемые в новой версии в *.au31.
Все работает вроде бы и иконки скриптов *.au3 и *.au31 отличаются
Тем самым я убедился в возможности параллельного функционирования обеих версий ,а дальше можно и выполнить все более грамотно.Позже ведь все равно придется уходить из старой версии
Tipulatoid
Открываем кошелку.... ой сорри... справку
и смотрим ее по функции GUICtrlCreateUpdown читаем ее, читаем и натыкаемся на раздел... "Remarks"
Цитата:
кликаем на ниперссылку GUICtrlSetLimit и открывается нашему взору вот это:
Цитата:
т.е. добавь строку:
GUICtrlSetLimit ($UpDownGui_2_6_1, 20, 1)
Добавлено:
PS синтаксис действителен и для новой и для старых версий...
примерно вот так должно получится
Код: #include <GuiConstants.au3> ;#include <GuiConstantsEx.au3> - для новой версии привел их для примера что можно с самой формой делалть и как...
#include <GuiListView.au3>
$Forms = GUICreate("Форма", 400, 400, 100, 100, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX, _
$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW, _
$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS)) ;стили назначил для примера
GUISetState(@SW_SHOW) ;отобразить окно
$GroupGui_2_6 = GUICtrlCreateGroup("", 20, 210, 350, 43)
$LabelGui_2_6_1 = GUICtrlCreateLabel("Введите количество периодов (от 1 до 20):", 30, 222, 220, 17)
$InputGui_2_6_1 = GUICtrlCreateInput("12", 1, 1, 1, 1) ;зачем перемещать control? его можно сразу в нужные координаты постовить вот так $InputGui_2_6_1 = GUICtrlCreateInput("12", 250, 220, 40, 17)
$UpDownGui_2_6_1 = GUICtrlCreateUpdown($InputGui_2_6_1)
GUICtrlSetPos($InputGui_2_6_1, 250, 220, 40, 17 )
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetLimit($UpDownGui_2_6_1, 20, 1)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Открываем кошелку.... ой сорри... справку
и смотрим ее по функции GUICtrlCreateUpdown читаем ее, читаем и натыкаемся на раздел... "Remarks"
Цитата:
Max and min value can be set with GUICtrlSetLimit.
By default Windows increases the value when clicking the upper arrow button.
Default height resizing is done according to the one of the related input control.
кликаем на ниперссылку GUICtrlSetLimit и открывается нашему взору вот это:
Цитата:
GUICtrlSetLimit
--------------------------------------------------------------------------------
Limits the number of characters/pixels for a control.
GUICtrlSetLimit ( controlID, max [, min] )
Parameters
controlID The control identifier (controlID) as returned by a GUICtrlCreate... function.
max For List controls it is the extent you can scroll horizontally in pixels.
For Input/Edit controls it is the max number of characters that can be entered.
min [optional] For Slider and UpDown controls you can specify a min value. Default = 0
т.е. добавь строку:
GUICtrlSetLimit ($UpDownGui_2_6_1, 20, 1)
Добавлено:
PS синтаксис действителен и для новой и для старых версий...
примерно вот так должно получится
Код: #include <GuiConstants.au3> ;#include <GuiConstantsEx.au3> - для новой версии привел их для примера что можно с самой формой делалть и как...
#include <GuiListView.au3>
$Forms = GUICreate("Форма", 400, 400, 100, 100, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX, _
$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW, _
$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS)) ;стили назначил для примера
GUISetState(@SW_SHOW) ;отобразить окно
$GroupGui_2_6 = GUICtrlCreateGroup("", 20, 210, 350, 43)
$LabelGui_2_6_1 = GUICtrlCreateLabel("Введите количество периодов (от 1 до 20):", 30, 222, 220, 17)
$InputGui_2_6_1 = GUICtrlCreateInput("12", 1, 1, 1, 1) ;зачем перемещать control? его можно сразу в нужные координаты постовить вот так $InputGui_2_6_1 = GUICtrlCreateInput("12", 250, 220, 40, 17)
$UpDownGui_2_6_1 = GUICtrlCreateUpdown($InputGui_2_6_1)
GUICtrlSetPos($InputGui_2_6_1, 250, 220, 40, 17 )
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetLimit($UpDownGui_2_6_1, 20, 1)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Цитата:
как подключится к SQL используюя доменные имя и пароль, при этом взяв их из системных данных
т.е. используюя Windows Authentication... Отвечу сам себе:
поискал по инету и нашел ответ на www.sql.ru в разделе программирование на Delfi
по сути все оказалось гораздо проще:
Код: Func SQLStart($BDConnect)
If @error then Msgbox(0,"Ошибка","Ошибка создания соединения ADODB.Connection")
$adCN = ObjCreate ("ADODB.Connection")
$sqlLastConnection = $adCN
;$sqlLastConnection.Open ("DRIVER={SQL Server};SERVER=ServerName;DATABASE=" & $BDConnect & ";uid=SQLLogin;pwd=Password;")
$sqlLastConnection.Open ("DRIVER={SQL Server};SERVER=sql;DATABASE=" & $BDConnect & ";")
if @Error then Msgbox(0,"",$SQLErr)
EndFunc
Baloven1
Да ... слона - то я и не приметил. Сорри за затуп.
Да ... слона - то я и не приметил. Сорри за затуп.
привет ALL
Помогите с такой проблемкой. Есть скрипт test.vbs, который лежит на шаре. Требуется запустить его от имени локального админа.
Вся проблема в том, что команда RunAsSet не не работает с ShellExecute. Пробывал запускать через IE
Run(@ProgramFilesDir&"\Internet Explorer\IEXPLORE.EXE \\путь\test.vbs")
не хочет запускать сам скрипт. Вопрос как реализовать запуск от имени VBS скрипта.
Помогите с такой проблемкой. Есть скрипт test.vbs, который лежит на шаре. Требуется запустить его от имени локального админа.
Вся проблема в том, что команда RunAsSet не не работает с ShellExecute. Пробывал запускать через IE
Run(@ProgramFilesDir&"\Internet Explorer\IEXPLORE.EXE \\путь\test.vbs")
не хочет запускать сам скрипт. Вопрос как реализовать запуск от имени VBS скрипта.
Рисую 3 Checkbox ' а : Checkbox1 , Checkbox1.1 и Checkbox1.2
Нужно, если в Checkbox1 пользователь галочку убирает, остальные 2 становились Disabled. Если ставит, то Enabled. Подскажите, плиз.
Добавлено:
Вроде решил.
Код: #include <GUIConstants.au3>
$Form1 = GUICreate("Form1", 633, 447, 193, 125)
$Group1 = GUICtrlCreateGroup("Group1", 80, 40, 297, 249)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 136, 64, 81, 33)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_1 = GUICtrlCreateCheckbox("Checkbox2", 168, 104, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_2 = GUICtrlCreateCheckbox("Checkbox3", 168, 150, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$Msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Checkbox1
$CheckBox1Read = GUICtrlRead ($Checkbox1)
If $CheckBox1Read = 4 Then
GUICtrlSetState($Checkbox1_1, $GUI_DISABLE)
GUICtrlSetState($Checkbox1_2, $GUI_DISABLE)
Else
GUICtrlSetState($Checkbox1_1, $GUI_ENABlE)
GUICtrlSetState($Checkbox1_2, $GUI_ENABLE)
EndIf
EndSelect
WEnd
Нужно, если в Checkbox1 пользователь галочку убирает, остальные 2 становились Disabled. Если ставит, то Enabled. Подскажите, плиз.
Добавлено:
Вроде решил.
Код: #include <GUIConstants.au3>
$Form1 = GUICreate("Form1", 633, 447, 193, 125)
$Group1 = GUICtrlCreateGroup("Group1", 80, 40, 297, 249)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 136, 64, 81, 33)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_1 = GUICtrlCreateCheckbox("Checkbox2", 168, 104, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_2 = GUICtrlCreateCheckbox("Checkbox3", 168, 150, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$Msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Checkbox1
$CheckBox1Read = GUICtrlRead ($Checkbox1)
If $CheckBox1Read = 4 Then
GUICtrlSetState($Checkbox1_1, $GUI_DISABLE)
GUICtrlSetState($Checkbox1_2, $GUI_DISABLE)
Else
GUICtrlSetState($Checkbox1_1, $GUI_ENABlE)
GUICtrlSetState($Checkbox1_2, $GUI_ENABLE)
EndIf
EndSelect
WEnd
Tipulatoid
Цитата:
Можно использовать функцию:
Код: #include <GUIConstants.au3>
$Form1 = GUICreate("Form1", 633, 447, 193, 125)
$Group1 = GUICtrlCreateGroup("Group1", 80, 40, 297, 249)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 136, 64, 81, 33)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_1 = GUICtrlCreateCheckbox("Checkbox2", 168, 104, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_2 = GUICtrlCreateCheckbox("Checkbox3", 168, 150, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$Msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Checkbox1
If GUICtrlRead($Checkbox1) = $GUI_UNCHECKED Then
Check($GUI_DISABLE)
Else
Check($GUI_ENABLE)
EndIf
EndSelect
WEnd
Func Check($sState)
For $i = $Checkbox1_1 To $Checkbox1_2
GUICtrlSetState($i, $sState)
Next
EndFunc
Цитата:
Может изящнее способ есть?
Можно использовать функцию:
Код: #include <GUIConstants.au3>
$Form1 = GUICreate("Form1", 633, 447, 193, 125)
$Group1 = GUICtrlCreateGroup("Group1", 80, 40, 297, 249)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 136, 64, 81, 33)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_1 = GUICtrlCreateCheckbox("Checkbox2", 168, 104, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox1_2 = GUICtrlCreateCheckbox("Checkbox3", 168, 150, 73, 49)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
$Msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Checkbox1
If GUICtrlRead($Checkbox1) = $GUI_UNCHECKED Then
Check($GUI_DISABLE)
Else
Check($GUI_ENABLE)
EndIf
EndSelect
WEnd
Func Check($sState)
For $i = $Checkbox1_1 To $Checkbox1_2
GUICtrlSetState($i, $sState)
Next
EndFunc
dzeday
vbs скрипты нужно запускать с их обработчиком, т.е. набирая в строке (в консоли например) test.vbs винда фактически при водит ее к виду cscript.exe test.vbs или wscript.exe test.vbs
чем они отличаются? - ищем ответ в справке винды по словосочетанию "Сервер сценариев Windows" - ТАМ ВСЕ ЕСТЬ
и тогда у тебя должно все работать, т.е. твой скрипт должен иметь синтаксис примерно следующий:
Код: If Not IsAdmin() Then
RunAsSet('USER', @Computername, 'PASSWORD')
Run("wscript.exe \\путь\test.vbs")
Exit
EndIf
vbs скрипты нужно запускать с их обработчиком, т.е. набирая в строке (в консоли например) test.vbs винда фактически при водит ее к виду cscript.exe test.vbs или wscript.exe test.vbs
чем они отличаются? - ищем ответ в справке винды по словосочетанию "Сервер сценариев Windows" - ТАМ ВСЕ ЕСТЬ
и тогда у тебя должно все работать, т.е. твой скрипт должен иметь синтаксис примерно следующий:
Код: If Not IsAdmin() Then
RunAsSet('USER', @Computername, 'PASSWORD')
Run("wscript.exe \\путь\test.vbs")
Exit
EndIf
спасибо. так и сделал. вопрос закрыт.
Народ, подскажите плииз - не могу понять в чем дело. Сделал скрипт для автоматической установки AutoCAD 2006 Russian:[more]
; User Var's
$SF_1 = "setup.exe" ; Setup File Name
$UR_1 = "xxx" ; User Registration Code Part 1
$UR_2 = "xxxxxxxx" ; User Registration Code Part 2
$UR_3 = "Name" ; User Registration Name
$UR_4 = "o" ; User Registration Surname
$UR_5 = "Firme" ; User Registration Organization
$UR_6 = "o" ; User Registration Supplier
$UR_7 = "o" ; User Registration Phone No.
Run($SF_1)
; Welcome
WinWaitActive ("Установка Autodesk","Перед установкой AutoCAD 2006 ","Button1")
ControlClick ("Установка Autodesk","Перед установкой AutoCAD 2006 ","Button1")
WinWaitActive ("Установка AutoCAD 2006","Добро пожаловать в Мастер уста","Button1")
Sleep ( 5000 )
ControlClick ("Установка AutoCAD 2006","Добро пожаловать в Мастер уста","Button1")
; License
WinWait("Установка AutoCAD 2006","Страна или территори")
WinWaitActive("Установка AutoCAD 2006","Страна или территори")
Sleep ( 2000 )
Send("{TAB}{TAB}{UP}{ENTER}")
; Serial
WinWait("Установка AutoCAD 2006","Серийный номер ")
WinWaitActive("Установка AutoCAD 2006","Серийный номер ")
Sleep ( 1550 )
SEND ( $UR_1 )
Sleep ( 250 )
SEND ( $UR_2 )
ControlClick ( "Установка AutoCAD 2006", "", "Button1" )
; User Information
WinWait("Установка AutoCAD 2006","Укажите в полях этог")
WinWaitActive("Установка AutoCAD 2006","Укажите в полях этог")
Sleep ( 1250 )
SEND ( $UR_3 )
SEND ("{TAB}")
SEND ( $UR_4 )
SEND ("{TAB}")
SEND ( $UR_5 )
SEND ("{TAB}")
SEND ( $UR_6 )
SEND ("{TAB}")
SEND ( $UR_7 )
SEND ("{TAB}")
;ControlClick ( "Установка AutoCAD 2006", "", "Button4" )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
; Install Ends
WinWait( "Установка AutoCAD 2006","В&ывести файл Readme")
WinWaitActive( "Установка AutoCAD 2006","В&ывести файл Readme")
ControlClick ( "Установка AutoCAD 2006", "", "Button1" )
Sleep(1000)
Send("{SPACE}")
Send("{ENTER}")
Exit
[/more] на основе скрипта для установки AutoCAD 2005, взятым на форуме MSFN. Для мониторинга вводимых команд использовал тулзу из шапки (ScriptWriter). Все вроде работает, НО... только с жесткого диска .
При попытке запустить установку с DVD-ROM (одновременно с Unattended-установкой Windows), все срубается. Такое ощущение, что "кто-то" (что-то) жмёт на клавиши раньше записанных действий, и весь автоматизм нарушается. Попытки отмониторить весь процес уже при установке с DVD-ROM к успеху не привели - ScriptWriter тупо зависает, и не дает сохранить лог действий. Ничего больше в голову не приходит - я в AutoIT начинающий. И ведь при установке с винта все РАБОТАЕТ БЕЗ ПРОБЛЕМ - пробовал на разных компах...
Что тут можно посоветовать?
И еще. При выполнении даже скомпиленного AutoIT-скрипта в трее остается значок, который продолжает "висеть", когда весь процесс нарушается (Script paused). Этого можно как-нибудь избежать? В опциях компиллера (Aut2Exe) я ничего об этом не нашел . Дело в том, что из-за этого нарушается весь процесс дальнейшей установки...
Добавлено:
Up
; User Var's
$SF_1 = "setup.exe" ; Setup File Name
$UR_1 = "xxx" ; User Registration Code Part 1
$UR_2 = "xxxxxxxx" ; User Registration Code Part 2
$UR_3 = "Name" ; User Registration Name
$UR_4 = "o" ; User Registration Surname
$UR_5 = "Firme" ; User Registration Organization
$UR_6 = "o" ; User Registration Supplier
$UR_7 = "o" ; User Registration Phone No.
Run($SF_1)
; Welcome
WinWaitActive ("Установка Autodesk","Перед установкой AutoCAD 2006 ","Button1")
ControlClick ("Установка Autodesk","Перед установкой AutoCAD 2006 ","Button1")
WinWaitActive ("Установка AutoCAD 2006","Добро пожаловать в Мастер уста","Button1")
Sleep ( 5000 )
ControlClick ("Установка AutoCAD 2006","Добро пожаловать в Мастер уста","Button1")
; License
WinWait("Установка AutoCAD 2006","Страна или территори")
WinWaitActive("Установка AutoCAD 2006","Страна или территори")
Sleep ( 2000 )
Send("{TAB}{TAB}{UP}{ENTER}")
; Serial
WinWait("Установка AutoCAD 2006","Серийный номер ")
WinWaitActive("Установка AutoCAD 2006","Серийный номер ")
Sleep ( 1550 )
SEND ( $UR_1 )
Sleep ( 250 )
SEND ( $UR_2 )
ControlClick ( "Установка AutoCAD 2006", "", "Button1" )
; User Information
WinWait("Установка AutoCAD 2006","Укажите в полях этог")
WinWaitActive("Установка AutoCAD 2006","Укажите в полях этог")
Sleep ( 1250 )
SEND ( $UR_3 )
SEND ("{TAB}")
SEND ( $UR_4 )
SEND ("{TAB}")
SEND ( $UR_5 )
SEND ("{TAB}")
SEND ( $UR_6 )
SEND ("{TAB}")
SEND ( $UR_7 )
SEND ("{TAB}")
;ControlClick ( "Установка AutoCAD 2006", "", "Button4" )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
; Install Ends
WinWait( "Установка AutoCAD 2006","В&ывести файл Readme")
WinWaitActive( "Установка AutoCAD 2006","В&ывести файл Readme")
ControlClick ( "Установка AutoCAD 2006", "", "Button1" )
Sleep(1000)
Send("{SPACE}")
Send("{ENTER}")
Exit
[/more] на основе скрипта для установки AutoCAD 2005, взятым на форуме MSFN. Для мониторинга вводимых команд использовал тулзу из шапки (ScriptWriter). Все вроде работает, НО... только с жесткого диска .
При попытке запустить установку с DVD-ROM (одновременно с Unattended-установкой Windows), все срубается. Такое ощущение, что "кто-то" (что-то) жмёт на клавиши раньше записанных действий, и весь автоматизм нарушается. Попытки отмониторить весь процес уже при установке с DVD-ROM к успеху не привели - ScriptWriter тупо зависает, и не дает сохранить лог действий. Ничего больше в голову не приходит - я в AutoIT начинающий. И ведь при установке с винта все РАБОТАЕТ БЕЗ ПРОБЛЕМ - пробовал на разных компах...
Что тут можно посоветовать?
И еще. При выполнении даже скомпиленного AutoIT-скрипта в трее остается значок, который продолжает "висеть", когда весь процесс нарушается (Script paused). Этого можно как-нибудь избежать? В опциях компиллера (Aut2Exe) я ничего об этом не нашел . Дело в том, что из-за этого нарушается весь процесс дальнейшей установки...
Добавлено:
Up
Sergey_AV
Цитата:
запрещено поднимать сообщения. в данном случае без наказания т.к попытка пресеклась антифлуд защитой.
Цитата:
Добавлено:
Up
запрещено поднимать сообщения. в данном случае без наказания т.к попытка пресеклась антифлуд защитой.
привет ALL
Подскажите как средствами AutoIT получить список нужной папки со всеми файлами и папками, что в ней?
Подскажите как средствами AutoIT получить список нужной папки со всеми файлами и папками, что в ней?
dzeday
Один из множества вариантов:
Код: Dim $Found
FileView("c:\temp", 1) ;Первый параметр путь к папке; второй параметр: "0" для отображения только каталогов, "1" для отображения каталогов и файлов
MsgBox(0, "", $Found)
Func FileView($sPath = @ScriptDir, $Flag = 1)
Local $sRet
Local $Find_First = FileFindFirstFile($sPath & "\*.*")
If @error Then Return
While 1
$FindNext = FileFindNextFile($Find_First)
If @error Then ExitLoop
$Full_File = $sPath &"\"& $FindNext
If StringInStr(FileGetAttrib($Full_File), "D") Then
$Found &= $Full_File & @CRLF
$sRet = FileView($Full_File, $Flag)
ElseIf $Flag Then
$Found &= $Full_File & @CRLF
EndIf
WEnd
FileClose($Find_First)
EndFunc
Один из множества вариантов:
Код: Dim $Found
FileView("c:\temp", 1) ;Первый параметр путь к папке; второй параметр: "0" для отображения только каталогов, "1" для отображения каталогов и файлов
MsgBox(0, "", $Found)
Func FileView($sPath = @ScriptDir, $Flag = 1)
Local $sRet
Local $Find_First = FileFindFirstFile($sPath & "\*.*")
If @error Then Return
While 1
$FindNext = FileFindNextFile($Find_First)
If @error Then ExitLoop
$Full_File = $sPath &"\"& $FindNext
If StringInStr(FileGetAttrib($Full_File), "D") Then
$Found &= $Full_File & @CRLF
$sRet = FileView($Full_File, $Flag)
ElseIf $Flag Then
$Found &= $Full_File & @CRLF
EndIf
WEnd
FileClose($Find_First)
EndFunc
Sergey_AV
в товоем скрипте пожалуй не хватает фокусировки на конкретные Control'ы без наличия самого инсталятара сказать сложно, но не факт что во время инстала винды на чистой системе попросту успевает сфокусироваться нужный контрол в который посылаться должны клавиши.... и второе вполне возможно что и фокус-то не на этом окне: делаем вывод:
строки вида WinWaitActive("название окна","текст") (данная строка ждет когда же появится окно но написанное ниже имхо будет не лишним)
меняем на 3 строки вида:
WinWait ("название окна","текст")
WinActivate("название окна","текст")
WinWaitActive("название окна","текст")
далее:
вот это фрагмент:
; License
WinWait("Установка AutoCAD 2006","Страна или территори")
WinWaitActive("Установка AutoCAD 2006","Страна или территори")
Sleep ( 2000 )
Send("{TAB}{TAB}{UP}{ENTER}")
здесь ты пытаешься клавишами перейти к нужному контролу!!!! - это вовсе не всегда работает пользуй фокус на конкретные контролы в которые тебе необходимо отправить (ввести) данные:
команда фокусировки
"Установить фокус ввода на указанном элементе окна.
ControlFocus ( "title", "text", controlID)"
указать данные для контрола:
"Указать текст для управляющего элемента.
ControlSetText ( "title", "text", controlID, "new text" [, flag] )"
или просто имитировать нажатие клавишь через Send (имхо крайне нежелательно )
нажатия на кнопки в форме (имитация нажатия мышкой):
"Симулировать нажатие кнопки мыши для заданного управляющего элемента.
ControlClick ( "title", "text", controlID [, button] [, clicks]] )"
при таком раскладе Sleep можно вообще поубивать
теперь предвещая вопрос "Где взять controlID?"
в комплекте в AI есть утилита "AutoIt Window Info" она и текст и положение контролов покажет и из controlID... напиши все ручками - и тебе же полезней будет...
все утилиты подобной что ты использовал - после них все равно нужно все править руками... а один раз почитав справку (на сайте AI есть рускоязычная справка для версии v3.2.5.4 - собственно из нее описание выше и привел...
будут вопросы спрашивай - ответим
PS. бывают случаи когда контролы попросту не имеют названий или их невозможно получить средствами "AutoIt Window Info" (имею богатый опыт создания дисков автоматической установки винды в полном боекомплекте, но в основном из сети ) в данном случае лично я пользовал фокусировку мышью по относительным координатам внутри окна формы диалоги... если это твой случай - то смотри в сторону:
"Выполнить нажатие клавиши мыши
MouseClick( "button" [[[,x ,y] ,clicks],speed] )"
в товоем скрипте пожалуй не хватает фокусировки на конкретные Control'ы без наличия самого инсталятара сказать сложно, но не факт что во время инстала винды на чистой системе попросту успевает сфокусироваться нужный контрол в который посылаться должны клавиши.... и второе вполне возможно что и фокус-то не на этом окне: делаем вывод:
строки вида WinWaitActive("название окна","текст") (данная строка ждет когда же появится окно но написанное ниже имхо будет не лишним)
меняем на 3 строки вида:
WinWait ("название окна","текст")
WinActivate("название окна","текст")
WinWaitActive("название окна","текст")
далее:
вот это фрагмент:
; License
WinWait("Установка AutoCAD 2006","Страна или территори")
WinWaitActive("Установка AutoCAD 2006","Страна или территори")
Sleep ( 2000 )
Send("{TAB}{TAB}{UP}{ENTER}")
здесь ты пытаешься клавишами перейти к нужному контролу!!!! - это вовсе не всегда работает пользуй фокус на конкретные контролы в которые тебе необходимо отправить (ввести) данные:
команда фокусировки
"Установить фокус ввода на указанном элементе окна.
ControlFocus ( "title", "text", controlID)"
указать данные для контрола:
"Указать текст для управляющего элемента.
ControlSetText ( "title", "text", controlID, "new text" [, flag] )"
или просто имитировать нажатие клавишь через Send (имхо крайне нежелательно )
нажатия на кнопки в форме (имитация нажатия мышкой):
"Симулировать нажатие кнопки мыши для заданного управляющего элемента.
ControlClick ( "title", "text", controlID [, button] [, clicks]] )"
при таком раскладе Sleep можно вообще поубивать
теперь предвещая вопрос "Где взять controlID?"
в комплекте в AI есть утилита "AutoIt Window Info" она и текст и положение контролов покажет и из controlID... напиши все ручками - и тебе же полезней будет...
все утилиты подобной что ты использовал - после них все равно нужно все править руками... а один раз почитав справку (на сайте AI есть рускоязычная справка для версии v3.2.5.4 - собственно из нее описание выше и привел...
будут вопросы спрашивай - ответим
PS. бывают случаи когда контролы попросту не имеют названий или их невозможно получить средствами "AutoIt Window Info" (имею богатый опыт создания дисков автоматической установки винды в полном боекомплекте, но в основном из сети ) в данном случае лично я пользовал фокусировку мышью по относительным координатам внутри окна формы диалоги... если это твой случай - то смотри в сторону:
"Выполнить нажатие клавиши мыши
MouseClick( "button" [[[,x ,y] ,clicks],speed] )"
Maza Faka
Цитата:
Вот ещё один, только без рекурсии и глобальных переменных
Код: #include <Array.au3>
$aFilesList = _FileListToArrayParse(@SystemDir & "\Config", "*", -1)
_ArrayDisplay($aFilesList)
Func _FileListToArrayParse($sPath, $sMask="*", $iMode=-1) ;$iMode > 0 только папки, иначе папки + файлы
If Not StringInStr(FileGetAttrib($sPath), "D") Then Return SetError(1, 0, 0)
Local $PathesArr[2] = [1, $sPath]
Local $hSearch, $sFindNext, $i
While $i < $PathesArr[0]
$i += 1
$hSearch = FileFindFirstFile($PathesArr[$i] & "\" & $sMask)
If $hSearch = -1 Then ContinueLoop
While 1
$sFindNext = FileFindNextFile($hSearch)
If @error Then ExitLoop
$sFindNext = $PathesArr[$i] & "\" & $sFindNext
If $iMode <= 0 Or ($iMode = 1 And StringInStr(FileGetAttrib($sFindNext), "D")) Then
$PathesArr[0] += 1
ReDim $PathesArr[$PathesArr[0]+1]
$PathesArr[$PathesArr[0]] = $sFindNext
EndIf
WEnd
FileClose($hSearch)
Wend
Return $PathesArr
EndFunc
Цитата:
Один из множества вариантов
Вот ещё один, только без рекурсии и глобальных переменных
Код: #include <Array.au3>
$aFilesList = _FileListToArrayParse(@SystemDir & "\Config", "*", -1)
_ArrayDisplay($aFilesList)
Func _FileListToArrayParse($sPath, $sMask="*", $iMode=-1) ;$iMode > 0 только папки, иначе папки + файлы
If Not StringInStr(FileGetAttrib($sPath), "D") Then Return SetError(1, 0, 0)
Local $PathesArr[2] = [1, $sPath]
Local $hSearch, $sFindNext, $i
While $i < $PathesArr[0]
$i += 1
$hSearch = FileFindFirstFile($PathesArr[$i] & "\" & $sMask)
If $hSearch = -1 Then ContinueLoop
While 1
$sFindNext = FileFindNextFile($hSearch)
If @error Then ExitLoop
$sFindNext = $PathesArr[$i] & "\" & $sFindNext
If $iMode <= 0 Or ($iMode = 1 And StringInStr(FileGetAttrib($sFindNext), "D")) Then
$PathesArr[0] += 1
ReDim $PathesArr[$PathesArr[0]+1]
$PathesArr[$PathesArr[0]] = $sFindNext
EndIf
WEnd
FileClose($hSearch)
Wend
Return $PathesArr
EndFunc
Baloven1
Спасибо, буду пробовать. Наверняка еще и вопросы появятся .
Мне просто повезло наткнуться на код командной строки для Автокада, но, думаю, разобраться в скрипте будет не лишним - на "подходе" SPDS Graphics (приблуда для Автокада), там заблокированна silent-установка .
Спасибо, буду пробовать. Наверняка еще и вопросы появятся .
Мне просто повезло наткнуться на код командной строки для Автокада, но, думаю, разобраться в скрипте будет не лишним - на "подходе" SPDS Graphics (приблуда для Автокада), там заблокированна silent-установка .
Kirillhome мне дал очень хороший скрипт VBS, что выводит список всех подключений в системе:
Код: Const NETWORK_CONNECTIONS = &H31&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS)
Set objFolderItem = objFolder.Self
Wscript.Echo objFolderItem.Path
Set colItems = objFolder.Items
For Each objItem in colItems
Wscript.Echo objItem.Name
Next
Код: Const NETWORK_CONNECTIONS = &H31&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS)
Set objFolderItem = objFolder.Self
Wscript.Echo objFolderItem.Path
Set colItems = objFolder.Items
For Each objItem in colItems
Wscript.Echo objItem.Name
Next
Представляю вашему вниманию “AutoIt Menu для Opera”!
Это меню предназначено для быстрого/удобного доступа к ресурсам AutoIt'а (как сетевые ресурсы, так и локальные инструменты).
[more=Скриншоты (спрятанный фрагмент)...]
Main Menu [AutoIt Forum Expanded]
Tools Menu
Preferences Dialog
Integration Dialog
[/more]
Качаем отсюда
P.S
Меню полностью на Английском, правда имя самого меню может быть указано на любом языке при интеграции, но рекомендуется прописать его латиницей (во избежании конфликтов с кодировками).
При желании/знании можно всё изменить (перепаковать исходники с ресурсами, которые могут быть доступны по запросу).
P.P.S
Принимаются с радостью комменты/замечания/предложения/оскорбления/бросание помидоров и т.д.
А также хотел бы узнать, кто юзает Opera среди AutoIt-скриптеров?
Добавлено:
Tipulatoid
Цитата:
перепишите его на Autoit
Код:
Const $NETWORK_CONNECTIONS = 49
$objShell = ObjCreate("Shell.Application")
$objFolder = $objShell.Namespace($NETWORK_CONNECTIONS)
$objFolderItem = $objFolder.Self
MsgBox(0, "", $objFolderItem.Path)
$colItems = $objFolder.Items
For $objItem In $colItems
MsgBox(0, "", $objItem.Name)
Next
ViSiToR
Цитата:
А чего толстое такое ? (пока не качал)
Цитата:
а зачем это - я вот предлагал сделать выборочную чистку кэша (вроде как) - а толку ?
такой вот вопросик по AutoIt
как остановить на время процесс (а потом продолжить) ?
ну и ещё раз хочу поднять тему по поводу запускака AutoIt-прог как сервисов - есть какая инфа ?
Цитата:
Представляю вашему вниманию
А чего толстое такое ? (пока не качал)
Цитата:
кто юзает Opera среди AutoIt-скриптеров?
а зачем это - я вот предлагал сделать выборочную чистку кэша (вроде как) - а толку ?
такой вот вопросик по AutoIt
как остановить на время процесс (а потом продолжить) ?
ну и ещё раз хочу поднять тему по поводу запускака AutoIt-прог как сервисов - есть какая инфа ?
euheny
Цитата:
Там инструменты для AutoIt включены.
Цитата:
Поставь, узнаешь
Цитата:
Не реализуемо (имхо) - и я если честно не вижу в этом особого смысла.
Цитата:
Есть функция:
Код:
_ProcessPauseSwitch("ProcName.exe", True)
Sleep(1500)
_ProcessPauseSwitch("ProcName.exe", False)
Func _ProcessPauseSwitch($iPIDOrName, $iSuspend = True)
If IsString($iPIDOrName) Then $iPIDOrName = ProcessExists($iPIDOrName)
If Not $iPIDOrName Then Return SetError(1, 0, 0)
Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $iPIDOrName)
If $iSuspend Then
Local $i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_Handle[0])
Else
Local $i_sucess = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ai_Handle[0])
EndIf
DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
If IsArray($i_sucess) Then Return 1
Return SetError(2, 0, 0)
EndFunc
Цитата:
А чего толстое такое ?
Там инструменты для AutoIt включены.
Цитата:
а зачем это
Поставь, узнаешь
Цитата:
я вот предлагал сделать выборочную чистку кэша
Не реализуемо (имхо) - и я если честно не вижу в этом особого смысла.
Цитата:
как остановить на время процесс
Есть функция:
Код:
_ProcessPauseSwitch("ProcName.exe", True)
Sleep(1500)
_ProcessPauseSwitch("ProcName.exe", False)
Func _ProcessPauseSwitch($iPIDOrName, $iSuspend = True)
If IsString($iPIDOrName) Then $iPIDOrName = ProcessExists($iPIDOrName)
If Not $iPIDOrName Then Return SetError(1, 0, 0)
Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $iPIDOrName)
If $iSuspend Then
Local $i_sucess = DllCall("ntdll.dll", "int", "NtSuspendProcess", "int", $ai_Handle[0])
Else
Local $i_sucess = DllCall("ntdll.dll", "int", "NtResumeProcess", "int", $ai_Handle[0])
EndIf
DllCall('kernel32.dll', 'ptr', 'CloseHandle', 'ptr', $ai_Handle)
If IsArray($i_sucess) Then Return 1
Return SetError(2, 0, 0)
EndFunc
ViSiToR
Цитата:
Я юзаю Opera - forever.
Классное меню Скачал и пользуюсь Удобно! Thnx
Цитата:
А также хотел бы узнать, кто юзает Opera среди AutoIt-скриптеров?
Я юзаю Opera - forever.
Классное меню Скачал и пользуюсь Удобно! Thnx
ViSiToR
Цитата:
Слушай - не получаетя
1.Не находит аутоит
2.Мне вобще нужен выбор директории - ведь толстоват !
Может скажи что делать с
AutoIt_Menu_Tools
AutoIt_Menu_Icons
AutoIt_Menu.ini
AutoIt_Menu_Skin.ini
а я уж дальше потиху сам доделаю
А что ты думаеш по-поводу того, что аутоит содержит внутри слишком много функций, которые можно было бы сделать УДФ, таким образом уменьшив толстеющего в стиле $MS$ AutoItSC.bin ?
Исходники доступны ?
Цитата:
Поставь, узнаешь
Слушай - не получаетя
1.Не находит аутоит
2.Мне вобще нужен выбор директории - ведь толстоват !
Может скажи что делать с
AutoIt_Menu_Tools
AutoIt_Menu_Icons
AutoIt_Menu.ini
AutoIt_Menu_Skin.ini
а я уж дальше потиху сам доделаю
А что ты думаеш по-поводу того, что аутоит содержит внутри слишком много функций, которые можно было бы сделать УДФ, таким образом уменьшив толстеющего в стиле $MS$ AutoItSC.bin ?
Исходники доступны ?
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
Предыдущая тема: Quintura Search
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.