Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
76 / 4 / 0
Регистрация: 20.08.2013
Сообщений: 29
VBS

Выполнять бесконечно

30.08.2014, 01:38. Показов 3380. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста заставить этот код выполняться всегда, по кругу с интервалом секунды в три. Это проверка наличия двух процессов и запуск с автологином или уничтожение их по логике. Логика работает и выполняется отлично при одноразовом запуске, но не могу понять почему ошибку выдает если заключаю всё в бесконечный цикл.

Visual Basic
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
login = "123"
pass = "123"
patchQUIK="C:\Folder\info.exe"
 
Set objService = GetObject("WinMgmts:\\.\Root\CIMV2")
Set colProcessesWinros = objService.ExecQuery("select * from Win32_Process WHERE Name='winros.EXE'")
Set colProcessesInfo = objService.ExecQuery("select * from Win32_Process WHERE Name='info.EXE'")
 
If colProcessesWinros.Count > 0 and colProcessesInfo.Count < 1 Then
  For Each Process In objService.ExecQuery("select * from Win32_Process WHERE Name='winros.EXE'")
      Process.Terminate
  Next
End If
WScript.Sleep 1000
 
Set colProcessesWinros = objService.ExecQuery("select * from Win32_Process WHERE Name='winros.EXE'")
Set colProcessesInfo = objService.ExecQuery("select * from Win32_Process WHERE Name='info.EXE'")
 
If colProcessesWinros.Count < 1 and colProcessesInfo.Count < 1 Then
  set WshShell = WScript.CreateObject("WScript.Shell")
  createobject("Wscript.Shell").run patchQUIK
    Do Until Dummy = true
       WScript.Sleep 100
    Loop 
    Call Logon
    Function Dummy
    Dummy = false
    If WshShell.AppActivate("Идентификация пользователя") then
    Dummy = True
    Exit Function
    End If
    End Function
    Sub Logon
    WshShell.SendKeys login
    WshShell.SendKeys "{TAB}"
    WScript.Sleep 100
    WshShell.SendKeys pass
    WScript.Sleep 100
    WshShell.SendKeys "{Enter}"
    End Sub
   WScript.Sleep 100
End If
 
Set objService = nothing
Set colProcessesWinros = nothing
Set colProcessesInfo = nothing
Set Process = nothing
set WshShell =nothing
Добавлено через 19 часов 26 минут
Проблема решена. Избавился от этих идиотских Call logon и SUB logon и код закрутился в цикле. Может быть кто подскажет, что это за вызов logon? Это вызов из библиотек какой-то процедуры?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.08.2014, 01:38
Ответы с готовыми решениями:

Указать какие из заданных последовательностей будут ограниченными, бесконечно большими, бесконечно малыми
Помогите плиззз, если не трудно выложите решение картинкой!! Заранее спасибо, добрые люди!!

2. Указать какие из заданных последовательностей будут ограниченными, бесконечно большими, бесконечно малыми
Доброго времени суток! Помогите пожалуйста сдавать Через день.Заранее весьма благодарен!

Произведение бесконечно малого на бесконечно большое
Что получается при произведении бесконечно малого на бесконечно большое?

3
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
30.08.2014, 01:55
Цитата Сообщение от GREENX5 Посмотреть сообщение
... что это за вызов logon?..
Это процедура, описанная в Вашем же коде.
Visual Basic
1
2
3
4
5
6
7
8
Sub Logon
WshShell.SendKeys login
WshShell.SendKeys "{TAB}"
WScript.Sleep 100
WshShell.SendKeys pass
WScript.Sleep 100
WshShell.SendKeys "{Enter}"
End Sub
Она пытается передать в окно с заголовком "Идентификация пользователя" (должно быть активным), являющееся формой регистрации пользователя, значения имени и пароля, а затем "нажать" клавишу <Enter>.
1
76 / 4 / 0
Регистрация: 20.08.2013
Сообщений: 29
30.08.2014, 05:08  [ТС]
Спасибо, понял иерархию Cal Sub!
Подскажите ещё пожалуйста, почему при попытке запуска кода в цикле выскакивает синтаксическая ошибка в строке Sub Logon? Нужно что-то убивать после каждого прохода Cal/Sub? Как корректно?
И нужно ли этот ввод вообще заключать в Cal/Sub? Я попробовал сделать прямым проходом, работает, но возникли сомнения по стабильности, может быть это обеспечивало время для полноты исполнения, стабильность фокуса на окно, или ещё что-то?
0
76 / 4 / 0
Регистрация: 20.08.2013
Сообщений: 29
01.09.2014, 11:18  [ТС]
Всё заработало, проблема решена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2014, 11:18
Помогаю со студенческими работами здесь

Бесконечно большая и бесконечно малая последовательность
Здравствуйте! Сейчас занимаюсь изучением математического анализа по книге Щипачева и дошел до пределов последовательностей, если с...

Бесконечно малые и бесконечно большие функции
Добрый день, подскажите пожалуйста, правильно ли я понимаю в Бесконечно малых и бесконечно больших функция! Функции такие: Типа так,...

Выполнять функцию, при изменение размеров экрана. Или постоянно выполнять функцию
Доброго временисуток, есть функция, которую надо выполнять при при изменение размеров экрана или постоянно выполнять эту функцию. ...

Бесконечно пищит
Вчера была гроза а он работал. Сегодня включаю - на экране ничего нет, кроме кулеров ничего не работает, безконечно пищит пи пи пи пи пи....

Пк перезагружается бесконечно
Купил процессор,поставил и пк начал перезагружаться бесконечно,не загружаю саму систему переставлял оперативу не помогало,вытащил ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru