Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование "удобняшек" на VBScript

Автор: ViSiToR
Дата сообщения: 10.02.2007 03:33
igor_andreev

Цитата:
По какому условию выход?

Просто основной выход, к примеру так:


Код: While 1
If 1 = 1 Then Exit Loop
Wend
Автор: Tipulatoid
Дата сообщения: 10.02.2007 04:56
igor_andreev

Цитата:
Windows Script 5.6 Documentation

Майкрософт прежде чем дать скачать документацию требует скачать и установить софт, который проверит лицензионность моей Винды. Считаю это борзостью - пожирать трафик пользователя и инсталить абсолютно ненужные ему проги. Просто из принципа этого делать не буду. Посему не могли бы вы выложить его на rapidshare например. Спасибо.
Автор: mozers
Дата сообщения: 10.02.2007 11:36
ViSiToR Tipulatoid
Самое простое - вытащить HELP по VBA из MS Office 97 (он тогда был и на русском) - пошарьте в древних дистрибутивах.
Пусть вас не смущает название VBA - синтакс там один и тот же.
А вообще справочной литературы по VB (какая, в принципе, разница VB, VBA, VBS ??? - все ОЧЕНЬ похоже.) в инете - до фига.
Цитата:
Инструкция Do...Loop
Повторяет выполнение набора инструкций, пока условие имеет значение True или пока оно не примет значение True.

Синтаксис

Do [{While | Until} условие]
[инструкции]
[Exit Do]
[инструкции]
Loop

Допустим также другой синтаксис:

Do
[инструкции]
[Exit Do]
[инструкции]
Loop [{While | Until} условие]

Синтаксис инструкции Do Loop содержит следующие элементы:

Элемент    Описание
условие    Необязательный. Числовое выражение или строковое выражение, которое имеет значение True или False. Если условие имеет значение Null,то аргумент условие рассматривается как значение False.
инструкции    Одна или несколько инструкций, выполнение которых повторяется, пока условие имеет значение True или пока оно не приобретет значение True.
Дополнительные сведения

В любом месте управляющей структуры Do…Loop может быть размещено любое число инструкций Exit Do, обеспечивающих альтернативные возможности выхода из цикла Do…Loop. Часто используемая вместе с определением некоторого условия (например, If…Then), инструкция Exit Do передает управление инструкции, непосредственно следующей за инструкцией Loop.
Во вложенных циклах Do…Loop инструкция Exit Do передает управление циклу охватывающего уровня по отношению к циклу, в котором она вызывается.
Автор: Elroir
Дата сообщения: 10.02.2007 17:59
Tipulatoid

Цитата:
выложить его на rapidshare например

Вот прямая ссылка - http://www.wilsonmar.com/w2kreskit/Script56.chm
P.S. Пятая страничка, выданная Google-ом
Автор: Bug_Junior
Дата сообщения: 10.02.2007 20:01
Как с помощью VBScript получить ключ установленной Windows?
Автор: mozers
Дата сообщения: 11.02.2007 08:56
Bug_Junior
http://forum.ru-board.com/topic.cgi?forum=8&topic=1908&start=828&limit=1&m=1
Автор: ViSiToR
Дата сообщения: 12.02.2007 01:47
mozers
Спасибо, вот в принципе что я хотел сделать (оказалось что и обычны For...Each...Next подходит) :


Цитата:
Ask = 0
Set Processes = GetObject("winmgmts://localhost")
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")
For Each Proc In myProcEnum
    If Proc.Name = "iexplore.exe" Then
        If Ask = 0 Then Ask = MsgBox ("Before continue, it is necessary to close all 'Internet Explorer' windows" & vbcrlf & "Close them now?", 256+65, "Attention")
        If Ask = 1 Then Proc.Terminate
    End If
Next


Вывести сообщение, и при положительном ответе закрыть все процессы iexplorer.

Elroir

Цитата:
Вот прямая ссылка

Класс, давно искал подобны справочник, спасибо! (надо бы его в шапку - если конечно включат её ).

Bug_Junior

Цитата:
Как с помощью VBScript получить ключ установленной Windows?

Ключ в каком смысле? серийны номер? тогда так:


Код: Set SNSet = GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem")
for each SN in SNSet
MsgBox "The serial number for the installed OS is: " & SN.SerialNumber
next
Автор: Moris
Дата сообщения: 12.02.2007 11:11
О великие умы в написании скриптов!!!!
ПЛЗ - ХЕЛП
Я с программированием честно говоря не то что не дружу а вообще мы с ним в ссоре давным давно, но есть задача - и мне ее надо решить ! перечитал кучу литература (из инета конечно), ноне смог задача состоит в том что бы написать скрипт который будет добавлять в реестр пределенные значения (точнее не добавлять а создавать!!) Речь идет о месенджере, который надо сделать всем пользователям а их не мало ((( и на письмо с детальным разъяснением не ведутся ((( ).
ПЛЗ ХЕЛП !!!
Автор: Bug_Junior
Дата сообщения: 12.02.2007 11:28
mozers
ViSiToR
Спасибо!
Автор: mozers
Дата сообщения: 13.02.2007 19:55
Moris
Цитата:
перечитал кучу литература
И такого не нашел ??? НЕ ВЕРЮ!
Автор: Moris
Дата сообщения: 14.02.2007 10:13
Не я не говорю что инфы нет !!!!
но из того что я нашел, решить проблемму мне ниче не помогло !!!
просто проблемма не в том что бы просто добавить ветку в реестр, а втом что бы в зависимости от логин в винду менялся логин в месенджере
Автор: mozers
Дата сообщения: 14.02.2007 11:16
Moris
И в чем проблема ???
Ты не можешь прочитать текущий логин ?
Код: Set WshShell = CreateObject("WScript.Shell")
login = WshShell.ExpandEnvironmentStrings("%USERNAME%")
WScript.Echo login
Автор: veles79
Дата сообщения: 14.02.2007 13:46
Интересно, а можно ли скриптом имитировать нажатие ctrl+alt+D?
с имитацией нажатия двух клавиш никаких проблем, а вот трех... чего-то не получается...
может кто помочь?
Автор: ViSiToR
Дата сообщения: 14.02.2007 21:16
veles79

Цитата:
можно ли скриптом имитировать нажатие ctrl+alt+D?

По идее должно так сработать:


Код: Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
Wsh.SendKeys "^!{d}"
Автор: veles79
Дата сообщения: 15.02.2007 09:45
по идее-то, по идее...но не пашет так, а еще комбинация alt+D(допустим) у меня имитируется так- "%{d}"... но "^%{d}" не срабатывает...мде...вопрос...
Автор: gap5
Дата сообщения: 15.02.2007 19:41

Цитата:
Set objWMIService = GetObject("Winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor")
For Each objItem in colItems
intHorizontal = objItem.ScreenWidth
intVertical = objItem.ScreenHeight
Next

Set objExplorer = CreateObject("InternetExplorer.Application")

objExplorer.Navigate "File:c\\\"
objExplorer.ToolBar = 1
objExplorer.StatusBar = 1
objExplorer.Left = (intHorizontal - 400) / 2
objExplorer.Top = (intVertical - 200) / 2
objExplorer.Width = 400
objExplorer.Height = 200
objExplorer.Visible = 1


А можно усовершенствовать скриптец дабы:

1) Не было кнопки закрытия окна
2) Окно было Allways on top
3) Добавить кнопки а) зарытия окна б) логофа юзера?

Хочу сделать некий Legal Notice, если не согласен = логоф, если согласен = окно закрывается и продолжается работа.
Автор: Nagual
Дата сообщения: 24.02.2007 17:49
привет удобняшкам
ViSiToR
ты перепутал немного, нет специального кода !
veles79

Код: CreateObject("WScript.Shell").SendKeys"^%D"
Автор: igor_andreev
Дата сообщения: 24.02.2007 18:33
Nagual

Цитата:
задачей копирования нескольких файлов на фтп

Сталкивался. Только я ставил бесплатный Chilcat FTP Activex (http://www.chilkatsoft.com), с ним очень гут было работать, любые задачи на FTP решались. Яб кучу примеров выложил, но жесткий диск того ноутбука, на котором и была уйма моих скриптов, приказал долго жить, все пропало. По новой я их писать не стал. (Зато это научило меня бэкапить все и всегда )
Автор: Nagual
Дата сообщения: 24.02.2007 18:43
igor_andreev
жалко, тогда выкладывай как бэкапишь
Автор: igor_andreev
Дата сообщения: 24.02.2007 18:52

Цитата:
жалко,
А че жалко, там на сайте доки есть http://www.chilkatsoft.com/refdoc/xChilkatFtpRef.html и в инете примеров полно, тут например http://www.example-code.com/vbscript/ftp.asp
Пиши-не хочу.
Автор: mozers
Дата сообщения: 24.02.2007 19:22
Nagual
Я для копирования на FTP долгое время пользовал системный ftp.exe.
(сначала пишешь в файл команды сценария, а затем запускаешь командой
Код: ftp -s:upload.scr
Автор: Nagual
Дата сообщения: 24.02.2007 19:26
igor_andreev
спс за инфу, уже скачал, буду попробовать, но опять же, это надо устанавливать и тд а хочется как всегда стандартными средствами, уж очень я это уважаю, ведь не всегда сидишь за своей тачкой и имеешь весь свой инструментарий и тд и тп... отсюда такое рвение к стандартным инструментам

Добавлено:
mozers
спасибо, тоже попробую

единственное условие -- один поток
файлов три, можно ли их аплодить одной строкой или обязательно прописывать каждый файл в свою строку
как залупить скрипт? можешь привести пример?
планировщиком по некоторым причинам, не удастся воспользоваться
Автор: igor_andreev
Дата сообщения: 24.02.2007 22:51
Nagual

Цитата:
не всегда сидишь за своей тачкой и имеешь весь свой инструментарий и тд и тп... отсюда такое рвение к стандартным инструментам
Не про тебя лично конечно , но меня почему-то всегда умиляла такая позиция. Установить в операционку пару-тройку гигабайт хлама в виде фотошопов-консультантовплюс-дефрагментаторов-архиваторов-текстовыхредакторов и пр. и пр. - это нормально, а добавить в систему консольную утилитку на несколько килобайт - "хочу только стандартными средствами"
Если это не моя тачка и сел я за нее первый и может последний раз, а файл нужно закинуть на фтп - это преспокойно делается руками, нужно только команды консольной ftp.exe вызубрить. И неоднократно я это проделывал. Не надо никаких батников и скриптов.

Цитата:
буду попробовать, но опять же, это надо устанавливать

Если установишь и понравится, то достаточно забрать из Program Files\ЧилкатПапка chilkatftp.dll и потом при переустановке OC или на другой машине regsvr32 ее...

Цитата:
файлов три, можно ли их аплодить одной строкой или обязательно прописывать каждый файл в свою строку
Ты про curl.exe или ftp.exe?
Стандартная ftp.exe - смотря какой командой будешь отправлять. Если пользоваться командами SEND или PUT - то каждый файл в одну строчку, MPUT - можно несколько, типа mput *.txt
Про сurl mozers написал же
Цитата:
вместо одного файла можно подсунуть кучу, используя маску
Я curl пользуюсь, но только для некоторых скачиваний, команды закачки не учил толком, по wput могу подсказать, с ней я энное время экспериментировал. Но там на сайте curl-a есть мануал.
Автор: Nagual
Дата сообщения: 24.02.2007 23:46
igor_andreev

Цитата:
Установить в операционку пару-тройку гигабайт
ну, ты прав, для курла можно сделать исключение
в общем, потестил curl, спс mozers за, таскать, толчок, очень достойно он мне выполнил задачу, правда пришлось три строки с ожиданием каждой предыдущей рисовать, хотя может это не обязательно, но мне важно, чтобы все файлы закачались.
взял его на вооружение, учитывая малый вес, хорошую работоспособность и отсутствие установки и следов
мануал курил по курлу, но результата аплода одной строкой трех файлов пока не добился, по маске не пройдет, все файлы разные, как по названию, так и по расширению, то есть привязаться не к чему
на сайте мануал повторяет схожий в дистрибе проги
насчет regsvr32 chilkatftp.dll -- взято на заметку...
ну и чтобы массовости более понятно было, приведу пример, что ли
Код: CreateObject("WScript.Shell").Run"curl -v -# -T 1upload.file1 ftp://login:passw@ftp.my.org/my_dir/", 0, True
CreateObject("WScript.Shell").Run"curl -v -# -T 2upload.file2 ftp://login:passw@ftp.my.org/my_dir/", 0, True
CreateObject("WScript.Shell").Run"curl -v -# -T 3upload.file3 ftp://login:passw@ftp.my.org/my_dir/", 0, True
MsgBox "Файлы успешно скопированы на сервер!", , "Обновление файлов чего-то!"
Автор: igor_andreev
Дата сообщения: 25.02.2007 00:07

Цитата:
мануал курил по курлу, но результата аплода одной строкой трех файлов пока не добился, по маске не пройдет, все файлы разные, как по названию, так и по расширению,

а там в мануале есть такое

Цитата:
You can also upload multiple files in a similar fashion:

curl -T local1 ftp://ftp.com/moo.exe -T local2 ftp://ftp.com/moo2.txt

Автор: Nagual
Дата сообщения: 25.02.2007 00:52
igor_andreev
ага, спс оно самое
итого, с учетом поправок
Код: CreateObject("WScript.Shell").Run"curl -v -# -T 1upload.file1 ftp://login:passw@ftp.my.org/my_dir/ -v -# -T 2upload.file2 ftp://login:passw@ftp.my.org/my_dir/ -v -# -T 3upload.file3 ftp://login:passw@ftp.my.org/my_dir/", 0, True
MsgBox "Файлы успешно скопированы на сервер!", , "Обновление файлов чего-то!"
Автор: veles79
Дата сообщения: 07.03.2007 08:42
мде...похоже, задачку с имитацией нажатия "Ctrl+Alt+D" никто так и не решил...все предложенные варианты не пашут )))
Автор: Nagual
Дата сообщения: 09.03.2007 08:47
veles79
как же так, я перепроверил несколько раз у меня пашет отлично
***
CreateObject("WScript.Shell").SendKeys"^%D"
***
2all
кто нить сталкивался с задачей копирования из буфера обмена?
Автор: igor_andreev
Дата сообщения: 09.03.2007 12:47

Цитата:
кто нить сталкивался с задачей копирования из буфера обмена?
Копирования текста? Тырк, тырк...
Автор: Nagual
Дата сообщения: 09.03.2007 12:56
igor_andreev
tnx, похоже, что надо, ушел тестить

Добавлено:
все пашет

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

Предыдущая тема: Работа в Delphi c CryptoApi


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.