Сейчас на форуме: _MBK_, vsv1 (+4 невидимых)

 eXeL@B —› Вопросы новичков —› Как запустить две копии программы
Посл.ответ Сообщение

Ранг: 1.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 июня 2007 21:43
· Личное сообщение · #1

Собственно нада просто запустить 2 копии любой проги, которая не дается запускаться дважды...



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 06 июня 2007 21:59
· Личное сообщение · #2

гг, зависит от проги. смортри функи toolhelp.



Ранг: 68.8 (постоянный)
Активность: 0.120
Статус: Участник

Создано: 07 июня 2007 00:06 · Поправил: bash
· Личное сообщение · #3

Меняй caption окон - по ним бывает ищется уже запущенная копия.
Это самый детский способ, но встречалось.




Ранг: 85.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 07 июня 2007 06:45
· Личное сообщение · #4

Cуй ее в ольку и трассируй. Обычно эта проверка самая первая. Или бряк на ф-ию FindWindow.

-----
radio uno in ibisa ...





Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 07 июня 2007 13:50
· Личное сообщение · #5

sniperZ пишет:
гг, зависит от проги. смортри функи toolhelp

И тут ты со своим тулхелпом, епт где такие берутся!
cryptos
Вариантов несколько:
Атомы, Мютексы,memory mapped file. - самые простые и эффективные способы синхронизации процессов, а не тупой перебор по имени окна, хотя и такое встречается. Тебе походу прийдется с каждой прогой в отдельности разбираться, т.е. нейтрализовать проверку и создание обьектов синхронизации. Зачастую и самому синхронизировать некоторые действия программы.

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 07 июня 2007 14:48
· Личное сообщение · #6

tnt17 пишет:
И тут ты со своим тулхелпом, епт где такие берутся!

гг, а может прога просматривает список процессов и ищёд свой?
cryptos
попробуй запустить прогу, а потом запустить копию с другим именем из этой папки...




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 07 июня 2007 15:03
· Личное сообщение · #7

убожество...

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 85.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 07 июня 2007 15:23
· Личное сообщение · #8

Надо грузить в отладчик и пробовать ставить бряки на CreateMutex или FindWindow.

-----
radio uno in ibisa ...




Ранг: 1.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 июня 2007 05:36
· Личное сообщение · #9

sniperZ пишет:
попробуй запустить прогу, а потом запустить копию с другим именем из этой папки...

Пробовал . Есть всетаки подозрение на мютексы . так как подмена клаптоинов окон тоже ничего не дала.sniperZ пишет:
, зависит от проги. смортри функи toolhelp

Занимательно. Сижу разбираюсь.



Ранг: 9.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 08 июня 2007 13:17
· Личное сообщение · #10

CreateMutex + RtlGetLastWin32Error
имхо самый удобный и распространенный способ




Ранг: 85.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 08 июня 2007 14:18
· Личное сообщение · #11

_taha_ да это понятно, автор спрашивает, как обойти..

-----
radio uno in ibisa ...





Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 08 июня 2007 15:08 · Поправил: tnt17
· Личное сообщение · #12

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

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...




Ранг: 1.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 июня 2007 15:23
· Личное сообщение · #13

всем спасибо буду пробовать




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 08 июня 2007 18:52
· Личное сообщение · #14

Плюс могут проверяться ключики в реестре, семафоры и пр.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться



 eXeL@B —› Вопросы новичков —› Как запустить две копии программы
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати