Перейти к содержимому

Фотография

RRobot


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 14

#1 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 30 июня 2005 - 14:13

начинаю работать с Роботом. с бейсиковым кодом никогда не сталкивался. Люди, помогите запустить, а главное - убить процесс под 2000/ХР. ПЛЗ!!!!
  • 0

#2 AIN

AIN

    Новый участник

  • Members
  • Pip
  • 18 сообщений

Отправлено 01 июля 2005 - 06:58

Подключаете Kernel32.dll и используйте CreateProcess и TerminateProcess
  • 0

#3 marsi

marsi

    Новый участник

  • Members
  • Pip
  • 14 сообщений

Отправлено 01 июля 2005 - 06:59

Конкретизируй, какой процесс?
  • 0

#4 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 04 июля 2005 - 05:40

Надо тестировать продукт, но он находится в стадии разработки, готов интерфейс, работоспособны практически все функции, но отсались мелкие технологические и сборочные недоделки, как то: некоторые процессы, которые будут запускаться и останавливаться разрабатываемым приложением, на данном этапе нужно старт-стопить ручками. Запустить-то проблем нет - клякнул по EXE-шнику и порядок, а остановить - пока туго. Полазив по форумам, наткнулся на куски кода усрашающего вида. Однако, Робот навзничь отказывается работать с ними и ругается на такие куски кода, как:
Option Explicit
....
Private Declare Function...
, не хочет возвертать ID процесса по Shell...
Дядьки и тетьки, помогите убогому (хе-хе, ми на ващэй тэрыторыи находымся врэмено, жьивём в бараках двэнадыцать сёмей :sorry: ), подскажите куском рабочего кода, плз...
  • 0

#5 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 04 июля 2005 - 06:51

Соврал, Shell уже работает
  • 0

#6 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 04 июля 2005 - 07:22

Все, процессы запускаются, но теперь мене треба передать ID запускаемого процесса из скрипта в скрипт. передавать он не хотит, а на отладке выдает Unknow Repository Error...
  • 0

#7 marsi

marsi

    Новый участник

  • Members
  • Pip
  • 14 сообщений

Отправлено 06 июля 2005 - 11:52

Самый простой способ - это сохранить ID процесса в файле.
  • 0

#8 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 06 июля 2005 - 12:28

Marsi, спасибо, как-то не подумал...
Но теперь новая проблема. после первого удачного прогона робот выдает ошибку. вот, даже тему открыл http://forums.softwa...?showtopic=2827
  • 0

#9 Tanya_

Tanya_

    Новый участник

  • Members
  • Pip
  • 49 сообщений
  • ФИО:Tanya

Отправлено 10 октября 2006 - 12:06

начинаю работать с Роботом. с бейсиковым кодом никогда не сталкивался. Люди, помогите запустить, а главное - убить процесс под 2000/ХР. ПЛЗ!!!!

Просмотр сообщения




Froggy, могли бы вы пожалуйста поделиться, как решили вопрос с убиением процесса? рабочим кодом :diablo:
  • 0

#10 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 10 октября 2006 - 13:04

Да никак не решил. Просто проблемы не стало и все. Отпала необходимость, причем буквально на второй день, посему и не интересовался.
Единственное, что приходит в мою глупую голову - с работающим диспетчером задач попробовать вот как-то так:
Sub Main
Dim Result As Integer

'Initially Recorded: ---------
'Script Name: -----
'запускаем процесс
h=shell("c:\процесс.exe")

'убиваем процесс
Window SetContext, "Caption=Диспетчер задач Windows", ""
TabControl Click, "Text=Tab1;\;ItemText=Процессы", ""
ListView Right_Click, "Text=Процессы;\;ItemText=процесс", ""
    PopupMenuSelect "Завершить процесс"
    Window SetContext, "Caption=Предупреждение диспетчера задач", ""
    PushButton Click, "Text=Да"
    Window SetContext, "Class=Shell_TrayWnd", ""
    TabControl Click, "ObjectIndex=1;\;ItemIndex=1", ""
End Sub
Но оговорюсь сразу - вариант кривой, как турецкая сабля
  • 0

#11 Stren

Stren

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • ФИО:Буланов Алексей Александрович
  • Город:Москва

Отправлено 17 октября 2006 - 12:28

вынести ID процесса в глобальную переменную. будет доступна во всех скриптах проекта.
убивать вызывая шел скрипт, но с эти как я понял проблем нет.
З.Ы. через shell можно убить процесс без подтверждения. покапайтесь с ключами команды
  • 0
С уважением Алексей ака Stren, подробнее в профайле.

#12 Froggy

Froggy

    Активный участник

  • Members
  • PipPip
  • 142 сообщений
  • Город:СПб

Отправлено 18 октября 2006 - 11:47

Stren,
1. Не schell, a shell
2. shell - Starts a Windows application and returns its task ID((с)SQABasicLanguageReference).
Поэтому использовать shell для завершения работы процеса мне представляется проблематичным.
  • 0

#13 Stren

Stren

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • ФИО:Буланов Алексей Александрович
  • Город:Москва

Отправлено 18 октября 2006 - 12:24

исправил
  • 0
С уважением Алексей ака Stren, подробнее в профайле.

#14 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 18 октября 2006 - 14:14

Froggy,
shell-скрипт наверное имеется ввиду командный интерпретатор.
В виндах можно убить процесс из командной строки выполнив следующую команду:
cmd /c "taskkill /PID 2284"
2284 - process id
  • 0

#15 Dusya

Dusya

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Людмила

Отправлено 26 октября 2006 - 05:46

Есть процедурка pskill , позволяющая процесс убить по имени
Usage: pskill [-t] [\\computer [-u username [-p password]]] <process ID | name>
-t Kill the process and its descendants.
-u Specifies optional user name for login to
remote computer.
-p Specifies optional password for user name. If you omit this
you will be prompted to enter a hidden password.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных