Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Вернуть PID|Handle запускаемого процесса.
DarkMaster
сообщение 11.4.2016, 12:18
Сообщение #1


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



Есть несколько вкладок, во вкладках запускаются одинаковые процессы. После запуска процесса к нему надо сделать привязку. Проблема в том, что если вкладки запускали процессы одновременно, то они могут прицепиться одному окну(переименовать банально не успеет). Собственно есть идеи, как сделать, чтобы они не передрались?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 11.4.2016, 13:24
Сообщение #2


********

Master
Сообщений: 1.395
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 21101
Пользователь №: 16.156



//была идея, но нет
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.4.2016, 14:24
Сообщение #3


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26747
Пользователь №: 16.971
Возраст: 29



Можно запускать процесс через vbs скрипт и получать id.
Код
exec wscript C:\Users\abc\Desktop\123.vbs    //запуск через пилот vbs

vbs
Код
Dim wsh
Set wsh = WScript.CreateObject("WScript.Shell")
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objWshExec  = objWshShell.Exec("notepad.exe")
wsh.Run "cmd.exe /c echo " & objWshExec.ProcessID & " | clip", False

Запускает блокнот, id будет в буфере.
Хотя лучше, наверное, в файл записывать id.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 11.4.2016, 14:43
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



Можешь в файл показать запись? Я с вбс вообще не знаком. При этом надо еще как-то сделать разные файлы, чтобы один и тот же не перезаписывать. Возможно это решить передачей параметров скрипту или копии создавать надо?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.4.2016, 15:01
Сообщение #5


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26747
Пользователь №: 16.971
Возраст: 29



Цитата
Можешь в файл показать запись?

Не помню, сам знаком только в общих чертах, в инете полно примеров.
Цитата
При этом надо еще как-то сделать разные файлы, чтобы один и тот же не перезаписывать. Возможно это решить передачей параметров скрипту или копии создавать надо?

По идее можно через save_array создавать vbs файл с нужным строками. А потом его запускать.

Ушёл на работу.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 12.4.2016, 2:46
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26747
Пользователь №: 16.971
Возраст: 29



Если еще актуально:
код
Код
set %path [1] "C:\321.txt"                             //путь к файлу с ID
set %path [2] "C:\Windows\System32\Notepad.exe"        //путь к процессу
set $path1 "C:\123.vbs"                                //путь к vbs

set $path2 %path [1]     //путь к файлу с ID (для load_array)
set %z [1] "

set %a [1] Dim wsh, FSO, file
set %a [2] Set FSO=CreateObject("Scripting.FileSystemObject")
set %a [3] Set file=fso.createtextfile(%z[1]%path[1]%z[1], true)
set %a [4] Set wsh = WScript.CreateObject("WScript.Shell")
set %a [5] Set objWshShell=WScript.CreateObject("WScript.Shell")
set %a [6] Set objWshExec=objWshShell.Exec(%z[1]%path[2]%z[1])
set %a [7] file.write(objWshExec.ProcessID)

save_array %a $path1       //сохраняем vbs скрипт
wait 500
exec wscript $path1          //запускаем vbs скрипт
wait 500
load_array %b $path2         //загружаем файл с ID
log %b [1 1]                  // ID запущенного процесса
stop_script

P.S. Научите уже все команды понимать массивы, а то приходится дублировать переменные.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.4.2016, 8:40
Сообщение #7


***********

Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27738
Пользователь №: 11.279



Цитата
Если еще актуально:

Актуально (IMG:style_emoticons/default/smile.gif)
Цитата
Научите уже все команды понимать массивы, а то приходится дублировать переменные.

Огласите весь список, пожалуйста.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 12.4.2016, 10:34
Сообщение #8


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26747
Пользователь №: 16.971
Возраст: 29



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

Цитата
Огласите весь список, пожалуйста.

Из того что я точно помню это:
save_array/load_array
printscreen
findcolor
string_replace (подобные тоже скорее всего)
filecopy (подобные тоже скорее всего)
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.4.2024, 18:36
Designed by Nickostyle