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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

   

alroy

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

Код:
 If InStr(LCase(Proc.Name), LCase("script.exe")) > 0 Then ' Наверное это поможет
 

Всего записей: 59 | Зарегистр. 15-06-2005 | Отправлено: 10:50 15-10-2009
TYMAH3003

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

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 14:13 15-10-2009 | Исправлено: TYMAH3003, 15:40 15-10-2009
bargo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем добрый день.  
 
Возник такой вопрос.  
 
На виртуалке поднят терминальный сервер.  
Подключение с рабочей станции через сессию RDP.  
 
В общем пока окно сессии открыто и активно - скрипт обрабатывает нажатия клавиш,  
стоит окно сессии свернуть или закрыть скрипт отрубается.  
 
Почему, догадываюсь.  
 
Но вот как с эти бороться?

Всего записей: 100 | Зарегистр. 17-05-2004 | Отправлено: 15:49 15-10-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MoRTaL SaTAnO
Цитата:
Возможно ли управлять различными устройствами (девайсами) средствами WSH + WMI  (к примеру - веб-камера USB)
Обычно в комплекте с ними идет соответствующий ActiveX (если есть возможность управлять с веб-страницы - то смотри в ней). Подключаешь его обычным порядком и пользуешь его свойства и методы...
А без заточенного под конкретную модель ActiveX (через WMI допустим) ты кроме вкл/выкл врядли что настроишь.
 
Deft
Интересная задачка
Пока придумал только так
Код:
ShortcutName = "DIR на Server"
ShortcutPath = "\\Server\DIR"
 
Set WshShell = CreateObject("WScript.Shell")
Set
FSO = CreateObject("Scripting.FileSystemObject")
Set
Shell = CreateObject("Shell.Application")
 
NetHood = WshShell.SpecialFolders("NetHood")
Set
Folder = FSO.GetFolder(NetHood)
For Each
SubFolder In Folder.SubFolders
    Shell.NameSpace(NetHood).CopyHere(SubFolder.Path)
   
WshShell.CurrentDirectory = NetHood
    With WshShell.CreateShortcut("Копия " & SubFolder.Name & "\target.lnk")
        .
TargetPath = ShortcutPath
        .Save()
   
End With
   
FSO.MoveFolder "Копия " & SubFolder.Name, ShortcutName
    Exit For
Next
 ?  Код создан и опубликован с помощью SciTE-Ru
Т.е. ярлык создается копированием одного из уже существующих. Если в NetHood нет ни одного ярлыка то ничего не получится

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 01:28 16-10-2009
Deft



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mozers
так этот скрипт копирует "ярлык" независимо от того что я указываю в ShortcutPath = .
Да, имя он берет которое я вписываю, а вот путь нет. Да и создавать мне надо эти "ярлыки" на компах на которых никаких других "ярлыков" в сетевом окружении нет...
 
з.ы. а, нет. путь берет откуда надо. просто коментарий от копируемого ярлыка берет..

Всего записей: 114 | Зарегистр. 15-12-2005 | Отправлено: 04:31 16-10-2009 | Исправлено: Deft, 04:40 16-10-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Deft
Ну я же сказал - "Интересная задачка"
Просто эти "ярлыки" в NetHood - совсем и не ярлыки на самом деле. Созданные вручную эти "Папки" с файлами Desktop.ini и target.lnk внутри, Проводник за ярлыки не считает. Вот поэтому, кроме как создавать копию от существующих ничего не придумал

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 19:10 16-10-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Deft
Ты не поверишь! Я таки придумал
Код:
' Создание ярлыка на сетевой ресурс в папке NetHood
ShortCutName = "MyFolder"
ShortCutPath = "\\inet\Script"
 
Set WshShell = CreateObject("WScript.Shell")
Set
FSO = CreateObject("Scripting.FileSystemObject")
NetHood = WshShell.SpecialFolders("NetHood")
 
FolderShortcut = NetHood & "\" & ShortCutName
FSO.CreateFolder FolderShortcut
FSO.GetFolder(FolderShortcut).Attributes = 1
 
With FSO.OpenTextFile(FolderShortcut & "\Desktop.ini", 2, True)
    .
Write "[.ShellClassInfo]" & vbNewLine & "CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}" & vbNewLine & "Flags=2"
   
.Close
End With
 
With
WshShell.CreateShortcut(FolderShortcut & "\target.lnk")
    .
TargetPath = ShortCutPath
    .Save()
End With
 ?  Код создан и опубликован с помощью SciTE-Ru

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 23:43 16-10-2009 | Исправлено: mozers, 00:32 17-10-2009
Deft



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mozers, спасибо, выручил =)

Всего записей: 114 | Зарегистр. 15-12-2005 | Отправлено: 03:36 17-10-2009
GRom V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите....мне нужно чтоб если запущен процесс 1.ехе то служба SL останавливаетяс. Если 1.ехе не запущен то SL запускается.
Я сделал только до остановки подсобите как дальше!?
 
Do
Set Processes = GetObject("winmgmts://localhost")  
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")  
For Each Proc In myProcEnum  
    If Proc.Name = "1.exe" Then  
         
Set objShellApp = CreateObject("Shell.Application")  
Serv = "SL"  
If objShellApp.ServiceStop(Serv, false) = 0 Then  
Else  
End If
     End If  
Next
loop
 
 
И можно ли указать несколько процессов, например 1.ехе, 2.ЕХЕ, 3.ЕХЕ?

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 05:41 17-10-2009 | Исправлено: GRom V, 05:44 17-10-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V
Код:
Set objShellApp = CreateObject("Shell.Application")
Do
    If
IsProcExist("1.exe") and IsProcExist("2.exe") and IsProcExist("3.exe") Then
       
objShellApp.ServiceStop "SL", false
    Else
       
objShellApp.ServiceStart "SL", false
    End If
   
WScript.Sleep 30000 ' Проверка повторяется через 30 сек
Loop
 
' Функция проверяет наличие процесса с заданным именем
Function IsProcExist(proc_name)
   
Set
myProcEnum = GetObject("winmgmts://localhost").ExecQuery("select * from Win32_Process")
   
For Each
Proc In myProcEnum
        If Proc.Name = proc_name Then
           
IsProcExist = True
            Exit Function
        End If
    Next
   
IsProcExist = False
End Function
 ?  Код создан и опубликован с помощью SciTE-Ru

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 11:09 17-10-2009
GRom_V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mozers спасибо - все окк. А не подскажешь как можно правильно записать это:
 
sc create "Служба" binpath= %windir%\system32\служба.exe type= own start= auto displayname= "Название службы" error= ignore depend
 

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 02:59 18-10-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom_V
Вопрос не относится к теме топика. Задать его лучше тут. Или прочитать тут.

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 12:22 18-10-2009
GRom_V

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mozers! Вопрос как раз к теме. Дело в том что я спрашиваю как эту строку записать в VBS!?

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 12:57 18-10-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom_V
Как в VBS??? - да как обычно...
Код:
serv_name = "Служба"
displayname = "Название службы"
binpath = WshShell.ExpandEnvironmentStrings("%windir%\system32\служба.exe")
 
ret = WshShell.Run("sc create """ & serv_name & """ binpath=""" & binpath & """ type=own start=auto displayname=""" & displayname & """ error=ignore depend", 0, true)
if
ret = 0 Then
   
WScript.Echo "OK"
Else
   
WScript.Echo "Ошибка " & ret
End If
 ?  Код создан и опубликован с помощью SciTE-Ru

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 14:34 18-10-2009 | Исправлено: mozers, 14:41 18-10-2009
bomzzz



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

Цитата:
 
<div class="line"><spacer type=block></spacer></div>
 
        <form method="post" name="form_prolong">
        
            <div class="div_button">
                <input type="submit" name="prolong" value="продлить" class="button">
            </div>
        
        </form>
 
 

 
подскажити как нажать вот тут на кнопку "продлить", перепробовал методом тыка разные варинаты но так и не смог сделать из типового примера для этого.  

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 05:07 19-10-2009
Deft



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

Цитата:
Deft
Ты не поверишь! Я таки придумал

Код:
 
' Создание ярлыка на сетевой ресурс в папке NetHood
ShortCutName = "MyFolder"
ShortCutPath = "\\inet\Script"
 
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
NetHood = WshShell.SpecialFolders("NetHood")
 
FolderShortcut = NetHood & "\" & ShortCutName
FSO.CreateFolder FolderShortcut
FSO.GetFolder(FolderShortcut).Attributes = 1
 
With FSO.OpenTextFile(FolderShortcut & "\Desktop.ini", 2, True)
    .Write "[.ShellClassInfo]" & vbNewLine & "CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}" & vbNewLine & "Flags=2"
    .Close
End With
 
With WshShell.CreateShortcut(FolderShortcut & "\target.lnk")
    .TargetPath = ShortCutPath
    .Save()
End With

 

А как бы сюда добавить проверку на существование этого ярлыка, перед добавлением...
Чет не соображу.. Метод Exsist не срабатывает ни так FSO.GetFolder(FolderShortcut).Exists, ни так FolderShortcut.Exists

Всего записей: 114 | Зарегистр. 15-12-2005 | Отправлено: 07:41 19-10-2009 | Исправлено: Deft, 07:43 19-10-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Называется это "Отправка данных с веб-формы".
Способ_1 (самый плохой): Находим окно и с помощью WshShell.SendKeys нажимаем на кнопку "продлить".
Способ_2 В тело документа внедряется скрипт, который после загрузки страницы выполняет form.submit()
Способ_3 Все данные с формы собираются в массив и отправляются либо с помощью XMLHttpRequest либо с помощью утилитки cURL.
В гугле - полно примеров, да и в этом топике были...
 
Deft
Код:
If FSO.FolderExists(FolderShortcut) Then

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 11:02 19-10-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сендкей тут не подойдет - потому что надо будет продлять 12000 файлов и нужно скрытое окно.
вот с форм сабмит я и експериментировал перебрал все возможные варианты нажать не удалось. что значит "в тело документа внедряется скрипт" я не понимаю - можно ссылку на пример какой нибудь.
а с хттп рекваист я не разобралса. вообще не понимаю че это такое. примеры разобрал - как скачать файл, но сути так и не понял.
 
я на сером форуме спрашивать пытался, но мне так никто и не ответил вот ссылка, логин и пасворд

Цитата:
 
http://ifolder.ru/control/?file_id=13690467&code=e90a6fb26cab4578dbe76ca23a8b9f41
пароль seriiforum
логин scriptcoding.info@gmail.com
 

нужно нажать кнопку продлить

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:34 19-10-2009 | Исправлено: bomzzz, 14:34 19-10-2009
SANIOK_AV



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Ситуация такая:
eventquery.vbs - стандартный скрипт в Windows 2003 Server (C:\WINDOWS\system32\eventquery.vbs).
При помощи фильтров хочу из журналов событий делать выборку по нескольким ID.
 
Если применяю фильтр (выборка по 2м событиям):

Код:
cscript EVENTQUERY.vbs /FO LIST /V /L Security /FI "ID eq 512 OR ID eq 513" /FI "Datetime eq 21.10.2009,01:00:00AM-22.10.2009,01:00:00AM"

то всё отрабатывает нормально.
 
Если же применяю фильтр (выборка по 3м и больше событиям):

Код:
cscript EVENTQUERY.vbs /FO LIST /V /L Security /FI "ID eq 512 OR ID eq 513 OR ID eq 517" /FI "Datetime eq 21.10.2009,01:00:00AM-22.10.2009,01:00:00AM"

то пишет:

Цитата:
ERROR: The FILTER 'ID eq 512 OR ID eq 513 OR ID eq 517 OR ID eq 529' is not in the required format.

 
Я понимаю что можно было бы сделать например так:

Код:
cscript EVENTQUERY.vbs /FO LIST /V /L Security /FI "ID eq 512 OR ID eq 513" /FI "Datetime eq 21.10.2009,01:00:00AM-22.10.2009,01:00:00AM"
cscript EVENTQUERY.vbs /FO LIST /V /L Security /FI "ID eq 517 OR ID eq 529" /FI "Datetime eq 21.10.2009,01:00:00AM-22.10.2009,01:00:00AM"

но хотелось бы одной строкой это реализовать.

Всего записей: 485 | Зарегистр. 31-03-2009 | Отправлено: 12:32 22-10-2009 | Исправлено: SANIOK_AV, 13:25 22-10-2009
lapaev

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Доступ к mail-серверy по http (www.mail.ru). Можно ли и как автоматически получить вложение из письма и поместить его в определенную директорию?

Всего записей: 1 | Зарегистр. 17-12-2005 | Отправлено: 23:15 25-10-2009
   

Страницы: 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