Нужна прога недопускающая работу одного процесса в двух экземплярах.
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-05 22:01:27.426666
|
|
|
ХAКEP
Сообщений: 97
Оценки: 0
Присоединился: 2005-06-19 20:44:27
|
Очень нужно найти прогу, которая недопускает либо работу одного и тогоже процесса в двух экземплярах, либо запуск второго процесса если первый уже работает. Например: запускаем IEXPLORE.exe, он работает, но при попытке ещё раз запустить IE при невыключенном, уже запущенном первом IE, у нас это неполучается. Может кто знает название такой проги… в гоогле искал, но пока не нашёл.
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-05 22:26:22.890000
|
|
|
furiousangel
Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
|
сам напиши на делфях например. GetWindowTextA и FindWindow тебе в помощь. API рулит.
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-06 00:50:05.553333
|
|
|
ХAКEP
Сообщений: 97
Оценки: 0
Присоединился: 2005-06-19 20:44:27
|
Я конечно попробую, но я с делфи не в ладах. Я знаю C++ но и то только на начальной стадии… Так что лучшебы найти 8|
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-06 11:01:17.763333
|
|
|
JTG
Сообщений: 1189
Оценки: 0
Присоединился: 2007-03-05 11:56:01.993333
|
А что там про переменную модуля систем HInstance в делфи? Как-то так проверяется, кажется, н без всякого findwindow. Давно такое не писал, не помню. Если самому лень писать - поставить компоненты GlobusLib, нам есть такая штучка
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-08 16:13:15.596666
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
quote:
ORIGINAL: ХAКEP Очень нужно найти прогу, которая недопускает либо работу одного и тогоже процесса в двух экземплярах, либо запуск второго процесса если первый уже работает. Например: запускаем IEXPLORE.exe, он работает, но при попытке ещё раз запустить IE при невыключенном, уже запущенном первом IE, у нас это неполучается. Может кто знает название такой проги… в гоогле искал, но пока не нашёл. Интересное предложение особенно про IEXPLORE.exe Ты хоть понимаешь, что тогда больше одной интернет-странички ты не посмотришь одновременно??? А убить дубликат процесса как нех делать, на vbs в два счета
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-08 17:31:43.356666
|
|
|
wilderwind
Сообщений: 269
Оценки: 0
Присоединился: 2006-05-28 13:41:45
|
quote:
ORIGINAL: Pashkela Интересное предложение особенно про IEXPLORE.exe Ты хоть понимаешь, что тогда больше одной интернет-странички ты не посмотришь одновременно??? А убить дубликат процесса как нех делать, на vbs в два счета На VBScript через WMI: strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'имя_процесса'") Do If colProcesses.Count > 1 Then wshshell.run"taskkill /im имя_процесса /f /t",0 End If Loop Но так нет гарантии, что мы не вышибем тот процесс, который был запущен ранее второй копии. Не проблема: strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colMonitoredProcesses = objWMIService.ExecNotificationQuery("select * from __instancecreationevent " & " within 1 where TargetInstance isa 'Win32_Process'") i = 0 Do While i = 0 Set objLatestProcess = colMonitoredProcesses.NextEvent If objLatestProcess.TargetInstance.Name = "имя_процесса" Then objLatestProcess.TargetInstance.Terminate End If Loop Вот и всё, никаких вам Делфей и Си… Десять строчек на интерпретируемом языке. Можно ещё отлавливать окна методом AppActivate, но это уже дело вкуса.
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-08 19:52:09.923333
|
|
|
ХAКEP
Сообщений: 97
Оценки: 0
Присоединился: 2005-06-19 20:44:27
|
quote:
Интересное предложение особенно про IEXPLORE.exe Ты хоть понимаешь, что тогда больше одной интернет-странички ты не посмотришь одновременно??? А убить дубликат процесса как нех делать, на vbs в два счета Просто у меня есть такая проблема: нужно недопустить работу IE для того чтобы юзверь не мог одновременно быть на одном и том-же сайт, просто там стоит опрос и опрашиваемый как правило узнаёт правильный ответ на вопрос просто открыв тотже сайт и тыкнув на ответ находит правильный вариант, а затем закрывает второе окно и вставляет в первое верный ответ. quote:
Вот и всё, никаких вам Делфей и Си… Десять строчек на интерпретируемом языке. Можно ещё отлавливать окна методом AppActivate, но это уже дело вкуса. СПАСИБО!
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-08 20:27:55.446666
|
|
|
ZneP
Сообщений: 910
Оценки: 0
Присоединился: 2006-08-21 16:11:47
|
2wilderwind Речь идет о невозможности повторного запуска одной и той же проги. В твоем случае, при повторном запуске проги, предыдущаю копия будет завершатся, а это ни есть гуд. Лучше после запуска проги (которую хочет автор) сделать скан процессов и запомнить их идентификаторы и названия в массив, после переодически сканировать процессы и проверять их названия с названиями первичного сканирования, если названия будут совпадать, то завершать процесс, при этом проверять идентификатор завершаемого процесса (он не должен быть равен записанным идентификаторам), а если же названия не совпадут, но новые процессы будут, то записуем названия и ID новых процессов…
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-09 01:03:31.953333
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
quote:
ORIGINAL: ХAКEP Просто у меня есть такая проблема: нужно недопустить работу IE для того чтобы юзверь не мог одновременно быть на одном и том-же сайт, просто там стоит опрос и опрашиваемый как правило узнаёт правильный ответ на вопрос просто открыв тотже сайт и тыкнув на ответ находит правильный вариант, а затем закрывает второе окно и вставляет в первое верный ответ. Мда. Ну в этом случае даже школьник догадаеца использовать Опера или ФаерФокс или любой альтернативный браузер, например. (Имеется в виду одновременно с IE). В таком случае проще дать в глаз, тогда точно не будет жульничать:) Меняй систему САМОГО опроса и ответов, так очевиден БАГ
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-12 11:13:42.116666
|
|
|
ХAКEP
Сообщений: 97
Оценки: 0
Присоединился: 2005-06-19 20:44:27
|
Так вот, я сделал как временную меру закрытие ie полностью при попытке запуска окна с одним и темже заголовком, но это черезчур… Может кто знает какой код можно внедрить в сам php опрос чтобы дважды скрипт на одном и томже компьютере не запускался, или запускался, но второй раз юзер увидел бы надпись "ХРЕН ТЕБЕ"…
|
|
|
RE: Нужна прога недопускающая работу одного процесса в двух экземплярах. - 2007-03-12 12:04:51.023333
|
|
|
AdReNaL1Ne
Сообщений: 8027
Оценки: 350
Присоединился: 2005-09-11 06:38:05
|
quote:
Может кто знает какой код можно внедрить в сам php опрос чтобы дважды скрипт на одном и томже компьютере не запускался, или запускался, но второй раз юзер увидел бы надпись "ХРЕН ТЕБЕ"… И ради этого тебе была нужна прога недопускаующая работу одного процесса в двух экземплярах? [sm=ap.gif] IP голосовавшего заносится в базу или данные в куки и при следующей загрузке скрипта голосования для него отображаются только результаты.
|
|
|
|
|