Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » Программирование "удобняшек" на VBScript

Модерирует : ShIvADeSt

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
числовые индексы такие же как в таблице к месаджбоксу приложеной

Напомни, пожалуйста, если не сложно.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 22:53 30-09-2010 | Исправлено: ComradG, 22:54 30-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:

Константа          Значение   Описание  
OKOnly                  0     Выводится кнопка ОК.
OKCancel                1     Выводятся кнопки ОК и Отмена (Cancel).
AbortRetryIgnore        2     Выводятся кнопки Стоп (Abort), Повтор (Retry) и Пропустить (Ignore).
YesNoCancel             3     Выводятся кнопки Да (Yes), Нет (No) и Отмена (Cancel).
YesNo                   4     Выводятся кнопки Да (Yes) и Нет (No).
RetryCancel             5     Выводятся кнопки Повтор (Retry) и Отмена (Cancel).
                        6     Отмена Повторить Продолжить
Critical               16     Выводится значок Stop Mark.
Question               32     Выводится значок Question Mark.
Exclamation            48     Выводится значок Exclamation Mark.
Information            64     Выводится значок Information Mark.
                      128     выровнять текст справа  
                     1024     выровнять текст слева
DefaultButton1          0     По умолчанию в окне выбирается первая кнопка.
DefaultButton2        256     По умолчанию в окне выбирается вторая кнопка.
DefaultButton3        512     По умолчанию в окне выбирается третья кнопка.
DefaultButton4        768     По умолчанию в окне выбирается четвёртая кнопка.
ApplicationModal        0     Диалоговое окно выводится в модальном режиме. Пользователь должен  
                              ответить на запраос, прежде чем он сможет продолжить работу приложения.  
                  Но он может перейти работать в окна другого приложения или работать со  
                              всплывающими окнами данного приложения
SystemModal          4096     Диалоговое окно выводится в модальном режиме и располагается сверху всех  
                              запускаемых приложений.Используется этот параметр для предупреждения о  
                              серьезных о серьезных ошибках, требующих немедленного вмешательства.
                     16384    Справка  
 
Например 4096+256+32+3=4387
модальный режим поверх окон, дефолтная кнопка 2, иконка вопросика, кнопки: да нет отмена

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:54 30-09-2010 | Исправлено: bomzzz, 22:56 30-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Например 4096+256+32+3=4387

Да не, примеры то мне как раз не нужны, просто освежить в памяти хотелось кое чего. Но все равно спасибо.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 22:58 30-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну это к тому, что складывать надо
 
Добавлено:
http://msdn.microsoft.com/en-us/library/ms645505%28VS.85%29.aspx
 
Добавлено:
1048576 - арабское окно еще для слева направо

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:04 30-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ну это к тому, что складывать надо

Дык это ясно из контекста и потом на http://msdn.microsoft.com/en-us/library/ms645505(VS.85).aspx вообще много чего полезного, только про него вспоминают в последнюю очередь.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 23:10 30-09-2010 | Исправлено: ComradG, 23:11 30-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну может я чета пропустил, эту таблицу я сам написькал

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:12 30-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1048576 - арабское окно еще для слева направо

А симитские окна то зачем?
 
Добавлено:

Цитата:
ну может я чета пропустил, эту таблицу я сам написькал

до тебя ее мелкософт отписюнявил в одном из своих доков

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 23:12 30-09-2010 | Исправлено: ComradG, 23:14 30-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
для полноты информации. вот чета так и не нашел как справку обрабатывать. не наешь?

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:14 30-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
не наешь?

эээээ, ты это мне? если меня, то поясни
Цитата:
вот чета так и не нашел как справку обрабатывать.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 23:17 30-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну как в вбс скрипте обрабатывать событие - нажатие кнопки справка

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:18 30-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ну как в вбс скрипте обрабатывать событие - нажатие кнопки справка

если просто событие, то Click (да это ты и сам знаешь) или чего? нажав пимпу должна справка вызываться?

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 23:20 30-09-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну чтоб при нажатии кнопки справка справка открывалась

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:22 30-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ну чтоб при нажатии кнопки справка справка открывалась

На скидку как-то так:
Код:
Set objShell = CreateObject("WScript.Shell")
strHelp="%systemroot%\Help\ntcmds.chm"
<кнопка>.Click = objShell.Run strHelp, 0, False
Повторяюсь, на скидку. Завтра отпишусь по полной.

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 23:34 30-09-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сказать по-правде, интересно было разрулить на vbs'ках тему открытия файлов. С другой стороны это более напоминает извращение в стиле "а я умею вот так". Но на всяк товар есть свой купец (или чего там можно подобрать в рифму?) Итак, вот как я решил задачку открытия файла (необходимое подправлять самому):
Код:
'Объявляем константы диалогового окна
Const wshYes = 6
Const wshNo  = 7
Const wshYesNoDialog = 4
Const wshQuestionMark = 32
 
'Создаем экземпляры объектов, которыми будем
'оперировать
Set objShell = CreateObject("WScript.Shell")
Set objDialog = CreateObject("UserAccounts.CommonDialog")
 
'Настраиваем диалоговые окна на вкус и цвет
intResult = objShell.Popup("Открыть файл справки или чего?", _
       10, "Жду приказаний", wshYesNoDialog + wshQuestionMark)
objDialog.Filter = "Скомпилированный HTML-файл правки|*.chm"
objDialog.InitialDir = "%systemroot%\Help"
intOpen = objDialog.ShowOpen
 
'Вешаем обработчики на пимпы основного...
If intResult = wshYes Then
   'и дочернего окна(окно открытия файла справки)
   If intOpen = 1 Then
      'Если оперейшн прошел куцо, значит все ОК
      WScript.Echo objDialog.FileName
   Else
      'иначе захлопываем дочернее окно
      WScript.Quit
   End If
Else
   WScript.Quit
End If

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 15:34 01-10-2010
ComradG



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ADGJMPTW009

Код:
strFldr = WScript.Arguments.Item(0)
intDays = Int(WScript.Arguments.Item(1))
 
Set fso = CreateObject("Scripting.FileSystemObject")
DelOld strFldr, intDays
 
Function DelOld(sFldr, iDays)
   Dim dir, fls, sbf, itm
 
   Set dir = fso.GetFolder(sFldr)
   Set fls = dir.Files
   Set sbf = dir.SubFolders
 
   For Each itm In fls
      If DateDiff("d", itm.DateLastModified, Now) > iDays Then
         WScript.Echo itm.Path
         itm.Attributes = 0
         itm.Delete
      End If
   Next
 
   For Each itm In sbf
      DelOld itm.Path, iDays
      If itm.Size = 0 Then
         itm.Attributes = 0
         itm.Delete
      End If
   Next
End Function

 
Например, чтобы удалить файлы старше 13 дней каталога test в корне диска C:\, нужно ввести
cscript //nologo script.vbs c:\test 13

Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 00:24 11-10-2010
AMuHb

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подсобите с циклом на вбс
 
необходимо оптимизировать скрипт (телнетилка)
 
set WshShell = WScript.CreateObject("WScript.Shell")  
WshShell.Run "cmd"  
WScript.Sleep 100  
WshShell.AppActivate "C:\Windows\system32\cmd.exe"  
WScript.Sleep 100  
WshShell.SendKeys "telnet  192.168.1.1{ENTER}" (тут заместо ИП нужна переменная)
WScript.Sleep 4200
WshShell.SendKeys "exit{ENTER}"
 
необходимо чтоб скрипт в цикле обходил нужные ИП (заданные руками в массиве) 192.168.1.1, 192.168.1.2,192.168.1.3,  итд

Всего записей: 73 | Зарегистр. 22-09-2005 | Отправлено: 10:13 11-10-2010
smirnvlad

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AMuHb

Код:
 
set WshShell = WScript.CreateObject("WScript.Shell")  
WshShell.Run "cmd"  
WScript.Sleep 100  
WshShell.AppActivate "C:\Windows\system32\cmd.exe"  
WScript.Sleep 100  
 
ips=Array("192.168.1.1", "192.168.1.2")
 
for each ip in ips
  WshShell.SendKeys "telnet  " & ip & "{ENTER}"
  WScript.Sleep 4200
  WshShell.SendKeys "exit{ENTER}"  
  WScript.Sleep 1000
next
 

Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 13:10 11-10-2010
AMuHb

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
2 smirnvlad  Благодарю!

Всего записей: 73 | Зарегистр. 22-09-2005 | Отправлено: 13:45 11-10-2010
as lan112233

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. кто бы смог написать скрип который при удачном пинге выполнял бы определенную команду, как только комп перестает быть доступен(выключается) выполняется другая программа. В сети два комп, главный и ноут. На главном периодически запускается торрент который отъедает весь канал. В наличии есть скрипт который следит за определенный процессом( в данном случае это опера) и как только этот процесс найдет выполняется команда для снижения скорости. Как только выключается опера выполняется другая команда для восстановления. Можно ли в этот скрипт дописать строки чтоб кроме как слежения за процессом было слежением и за доступностью сетевого комп. Вот содержимое скрипта.  
   

Код:
'Версия 1.5  (Final)
'Настройки'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
Public Const InstallPath = "C:\Program Files\uTorrent\"         ' - путь к папке, где лежит "utspeed.exe" [Str]
Public Const MonitorProcess = "opera.exe"                       ' - название отслеживаемого процесса [Str]
Public Const Mode = 0                                           ' - режимы: 0 - лимиты, 1 - расписание, 2 - ipfilter [0/1/2]
Public Const FileNameOn = "UT Limiter [on].vbs"                 ' - имя файла при включенном скрипте [Str]
Public Const FileNameOff = "UT Limiter [off].vbs"               ' - имя файла при выключенном скрипте [Str]
Public Const DownloadDefault = 60                               ' - нормальная скорость скачки [кб/c]
Public Const UploadDefault = 60                                 ' - нормальная скорость отдачи [кб/c]
Public Const DownloadLimit = 5                                  ' - ограничение скорости скачки при обнаруж. процесса [кб/c]
Public Const UploadLimit = 20                                   ' - ограничение скорости отдачи при обнаруж. процесса [кб/c]
Public Const IdleTime = 15                                      ' - время простоя до частичного восстановл. скорости [сек.]
Public Const IdleDownSpeed = 50                                 ' - скорость скачки во время простоя [кб/c]
Public Const IdleUpSpeed = 50                                   ' - скорость отдачи во время простоя [кб/c]
Public Const AwayTime = 50                                      ' - время отсутствия до полного восстановл. скорости [сек.]
Public Const AwayDownSpeed = 50                                 ' - скорость скачки во время отсутствия [кб/c]
Public Const AwayUpSpeed = 50                                   ' - скорость отдачи во время отсутствия [кб/c]
 
'Инициализация'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
IsLimited = 2
 
Set objShell = CreateObject("Shell.Application")
Set Fso = CreateObject("Scripting.FileSystemObject")
Set f = Fso.GetFile(Wscript.ScriptFullName)
Set oAutoIt = WScript.CreateObject("AutoItX3.Control")
 
If Fso.FileExists(InstallPath & "utspeed.exe") = false then
Msgbox "Сначала укажите путь к папке!   ", vbInformation + vbOKOnly, "UT Limiter"
ExitScript
End if
 
If f.Name = FileNameOn then
ExitScript
else
f.Name = FileNameOn
End if
 
'Мониторинг''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
Do
 
 If oAutoIt.ProcessExists(MonitorProcess) then
 IsLimited = SetLimitsTrue(IsLimited)
 else
 IsLimited = SetLimitsFalse(IsLimited)
 End if
 
 If Fso.FileExists(FileNameOn) = false then
 IsLimited = SetLimitsFalse(IsLimited)
 ExitScript
 End if
 
  PrevMpos = 0
   
  Do while oAutoIt.ProcessExists(MonitorProcess) and oAutoIt.ProcessExists("utorrent.exe")
   
   If Fso.FileExists(FileNameOn) = false then
   IsLimited = SetLimitsFalse(IsLimited)
   ExitScript
   End if
   
   CurMpos = oAutoIt.MouseGetPosX
   StartTime = Timer
    Do while CurMpos = PrevMpos
     If Timer - StartTime > IdleTime then
     IsLimited = SetIdleLimits(IsLimited)
     End if
     If Timer - StartTime > AwayTime then
     IsLimited = SetAwayLimits(IsLimited)
     End if
     Wscript.Sleep 200
     CurMpos = oAutoIt.MouseGetPosX
    Loop
    If IsLimited = 3 or IsLimited = 4 then
    IsLimited = SetLimitsTrue(IsLimited)
    End if
   PrevMpos = CurMpos
   Wscript.Sleep 500
  Loop
 
Wscript.Sleep 500
Loop
 
'Функции'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
Function SetLimitsTrue (IsLimited)
 If IsLimited <> 1 and Mode = 0 and oAutoIt.ProcessExists("utorrent.exe") then
  objShell.ShellExecute "utspeed.exe", "/max_dl_rate " & DownloadLimit & " /max_ul_rate " & UploadLimit, InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 1
 End if
 If IsLimited <> 1 and Mode = 1 and oAutoIt.ProcessExists("utorrent.exe") then
  objShell.ShellExecute "utspeed.exe", "/sched_enable 1", InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 1
 End if
 If IsLimited <> 1 and Mode = 2 and oAutoIt.ProcessExists("utorrent.exe") then
  objShell.ShellExecute "utspeed.exe", "/ipfilter.enable 1", InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 1
 End if  
 SetLimitsTrue = IsLimited
End Function
 
Function SetLimitsFalse (IsLimited)
 If IsLimited <> 0 and Mode = 0 and oAutoIt.ProcessExists("utorrent.exe") then
  objShell.ShellExecute "utspeed.exe", "/max_dl_rate " & DownloadDefault & " /max_ul_rate " & UploadDefault, InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 0
 End if
 If IsLimited <> 0 and Mode = 1 and oAutoIt.ProcessExists("utorrent.exe") then
  objShell.ShellExecute "utspeed.exe", "/sched_enable 0", InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 0
 End if
 If IsLimited <> 0 and Mode = 2 and oAutoIt.ProcessExists("utorrent.exe") then
  objShell.ShellExecute "utspeed.exe", "/ipfilter.enable 0", InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 0
 End if
 SetLimitsFalse = IsLimited
End Function
 
Function SetIdleLimits (IsLimited)
 If IsLimited <> 3 and IsLimited <> 4  and Mode = 0 and oAutoIt.ProcessExists("utorrent.exe") then    
  objShell.ShellExecute "utspeed.exe", "/max_dl_rate " & IdleDownSpeed & " /max_ul_rate " & IdleUpSpeed, InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 3
 End if
 SetIdleLimits = IsLimited
End Function
 
Function SetAwayLimits (IsLimited)
 If IsLimited <> 4  and Mode = 0 and oAutoIt.ProcessExists("utorrent.exe") then    
  objShell.ShellExecute "utspeed.exe", "/max_dl_rate " & AwayDownSpeed & " /max_ul_rate " & AwayUpSpeed, InstallPath
  oAutoIt.ProcessWaitClose "utspeed.exe"
  IsLimited = 4
 End if
 If IsLimited <> 4  and Mode = 1 and oAutoIt.ProcessExists("utorrent.exe") then    
  objShell.ShellExecute "utspeed.exe", "/sched_enable 0", InstallPath
  IsLimited = 4
 End if
 If IsLimited <> 4  and Mode = 2 and oAutoIt.ProcessExists("utorrent.exe") then    
  objShell.ShellExecute "utspeed.exe", "/ipfilter.enable 0", InstallPath
  IsLimited = 4
 End if
 SetAwayLimits = IsLimited
End Function
 
Function ExitScript
on error resume next
f.Name = FileNameOff
Wscript.Quit
End Function

Всего записей: 5 | Зарегистр. 17-10-2010 | Отправлено: 17:33 17-10-2010
king_stiven

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть .js скрипт запускающий блокнот в скрытом виде

Код:
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("notepad",0);
 

Можно ли запустить таким образом батник(с пробелами в имени)и передать ему параметры? То есть запускаем  
1.js %1
и %1 передаётся батнику, и сам батник скрыто запускается?

Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 19:51 17-10-2010
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru