|
|
|
а можно из 1С узнать её PID? | ☑ | ||
|---|---|---|---|---|
|
0
Omega
23.09.05
✎
14:51
|
идентификатор процесса я имею в виду.
|
|||
|
1
skunk
23.09.05
✎
15:00
|
на куя... стесняюсь спросить
|
|||
|
2
427
23.09.05
✎
15:04
|
можно.
второй закон программирования - все, что нельзя, но очень хочется - можно.... |
|||
|
3
Рупор абсурда
23.09.05
✎
15:07
|
(2) А первый какой? А сколько их всего?
|
|||
|
4
Йожик
23.09.05
✎
15:09
|
Вот и встретились два одиночества (2) и (3) :))
|
|||
|
5
skunk
23.09.05
✎
15:09
|
второй "закон ошибок"...
а далее... еще их целая стопка |
|||
|
6
smaharbA
23.09.05
✎
15:09
|
Функция GetProcessID()
Стр=" |Dim sServer,TestScript |sServer = ""."" |On Error Resume Next |Dim SWbemLocator |Set SWbemLocator = CreateObject(""WbemScripting.SWbemLocator"") |Set WshShell = CreateObject(""WScript.Shell"") |Set fso = CreateObject(""Scripting.FileSystemObject"") |Set Fold=fso.GetFolder(""."") |stRand=Replace(Rand(),"","",""_"") |stRand=Replace(stRand,""."",""_"") |Set f = fso.OpenTextFile(Fold.ShortPath & ""\Test"" & stRand & "".vbs"", 2, True) |f.WriteLine ""Do"" |f.WriteLine ""WScript.Sleep 10000"" |f.WriteLine ""Loop"" |f.Close |TestScript=Fold.ShortPath & ""\Test"" & stRand & "".vbs"" |set oExec=WshShell.exec(""wscript.exe "" & TestScript & "" //B"") |Dim SWbemServices |Set SWbemServices = SWbemLocator.ConnectServer(sServer,""root\CIMV2"") | |Dim objWbemObjectSet |Set objWbemObjectSet = SWbemServices.ExecQuery(""Select ProcessID,ParentProcessId From Win32_Process WHERE Name='wscript.exe'"", ""WQL"") | |Function Rand() |Randomize |Rand=Rnd |End Function | |Function DoWin32_Process | |DoWin32_Process=0 | |Dim sProperty |For Each sProperty in objWbemObjectSet |If sProperty.ProcessId=oExec.ProcessID Then |DoWin32_Process=sProperty.ParentProcessId |sProperty.Terminate() |Exit For |End If |Next |oExec.Terminate() |fso.DeleteFile TestScript,True |End Function"; СкриптЗапуск=СоздатьОбъект("MSScriptControl.ScriptControl"); СкриптЗапуск.Language="vbscript"; СкриптЗапуск.AddCode(Стр); ProcessID=Число(СкриптЗапуск.Run("DoWin32_Process"); Возврат ProcessID; КонецФункции // GetProcessID ___________________________ Я конечно далек от мысли...(с) |
|||
|
7
Omega
23.09.05
✎
15:10
|
(1) интересно..
|
|||
|
8
Йожик
23.09.05
✎
15:11
|
(6) Абрахамс, ты "заскриптишь" имхо что угодно
|
|||
|
9
Omega
23.09.05
✎
15:13
|
(6) спасибо.
|
|||
|
10
smaharbA
23.09.05
✎
15:18
|
(9) Можно просче, да кстати лучче позырь тут (в том что тут привел может где и ошибся)
http://karat-e.ru/files/VBS/priority1s.rar |
|||
|
11
dk
23.09.05
✎
15:36
|
2(smaharbA)
Если не сложно, кинь пример какие файлы держит процес (пусть 1cvs.exe) Ну или как узнать какой процесс 1С с какой базой работает? |
|||
|
12
smaharbA
23.09.05
✎
15:38
|
(11) Счас ненайду, надо снова писать, давай в понедельник ветку создай с точным вопросом, мне пора бяжать
|
|||
|
13
dk
23.09.05
✎
15:40
|
2(12)
Может проще на мыло тебе в понедельник отписать? |
|||
|
14
smaharbA
23.09.05
✎
15:42
|
(13) Давай, убежал.
|
|||
|
15
Рупор абсурда
23.09.05
✎
15:45
|
(8) ... а если бы он ещё и скрипты сам писал ..., тогда ващще ...
|
|||
|
16
Йожик
23.09.05
✎
15:58
|
(15) нарушает чьи-то авторские права? ;-)
|
|||
|
17
Рупор абсурда
23.09.05
✎
16:04
|
(15) Нет, нумаю не нарушает ..., просто тупо копипастит ...
|
|||
|
18
smaharbA
26.09.05
✎
10:31
|
Ну вот еще "тупое копипасте"
Функция GetProcessID() стр=" |Function PPID() |Set WshShell = CreateObject(""WScript.Shell"") |set oExec=WshShell.exec(""rundll32.exe kernel32,Sleep"") |Set objLocator = CreateObject(""WbemScripting.SWbemLocator"") |Set objService = objLocator.ConnectServer(""."",""root/cimv2"") |Set objWbemObjectSet = objService.ExecQuery(""Select ProcessID,ParentProcessId From Win32_Process WHERE ProcessID='"" & oExec.ProcessID & ""'"", ""WQL"") |For Each sProperty in objWbemObjectSet | PPID=sProperty.ParentProcessId |sProperty.Terminate() |Next |End Function"; СкриптЗапуск=СоздатьОбъект("MSScriptControl.ScriptControl"); СкриптЗапуск.Language="vbscript"; СкриптЗапуск.AddCode(Стр); ProcessID=Число(СкриптЗапуск.Run("PPID")); Возврат ProcessID; КонецФункции // GetProcessID |
|||
|
19
smaharbA
26.09.05
✎
13:15
|
Еще более "тупое копипасте"...
Функция GetProcessID() стр=" |Function PPID() |Set WshShell = CreateObject(""WScript.Shell"") |set oExec=WshShell.exec(""rundll32.exe kernel32,Sleep"") |set objWbemObjectSet=GetObject(""winmgmts:Win32_Process.Handle="" & oExec.ProcessID) |PPID=objWbemObjectSet.ParentProcessId |objWbemObjectSet.Terminate() |End Function"; СкриптЗапуск=СоздатьОбъект("MSScriptControl.ScriptControl"); СкриптЗапуск.Language="vbscript"; СкриптЗапуск.AddCode(Стр); ProcessID=Число(ЗапускСкрипта(Скрипт,"PPID",Стр)); Возврат ProcessID; КонецФункции // GetProcessID __________________________ Я конечно далек от мысли...(с) |
|||
|
20
skunk
26.09.05
✎
13:18
|
рассердился
|
|||
|
21
smaharbA
26.09.05
✎
13:23
|
(20) Ага, теперь уж точно по (11) решение сделаю... С помощью "тупого копипасте"
|
|||
|
22
skunk
26.09.05
✎
13:25
|
Рупор он такой... злой короче ;)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |