Вот такое дело...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Вот такое дело...

Сообщение Maitris » 17.03.2005 (Чт) 1:09

Короче так.
Есть программа которая легально инсталлируется, все как надо, хелп, ярлыки и.т.д.
Но при закрытии она не закрывается, а только переходит в Visible = False.
Как сделать чтобы при повторном запуске проги (то есть уже копии) первая копия переходила в Visible = True, а вторая закрывалась?
Надеюсь идея всем понятна? :D
Не хочу я чтобы недобрый юзер совсем закрыл мою прогу!! Хочу чтобы только думал что закрыл!
----

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 17.03.2005 (Чт) 1:58

Maitris
Написание таких программ - не есть хорошо. Пользователь всегда должен знать, что и как происходит на его компьютере.
Если ты пытаешься сделать подобное ПО, значит дело твое не чисто. Вообщем не фиг вирусы писать. Да еще на VB :twisted:.

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.03.2005 (Чт) 8:19

Возможно, прога прячется в трее, а когда юзер пытается запустить ее повторно, должен показаться первый вариант. Так поступает WinAmp (когда запрещены несколько копий одновременно) и TrayIt.

Ищи по строке Interprocess Communication, тема обсуждалась много раз, в том числе и на форуме.
Lasciate ogni speranza, voi ch'entrate.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 17.03.2005 (Чт) 12:47

alibek Там все ссылаются на MSDN! А что делать тому, у кого нет MSDN??
----

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 17.03.2005 (Чт) 12:56

ходить сюда

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 17.03.2005 (Чт) 14:34

А я обычно ищу окно старой программы через FindWindow. Если найдено, то посылаю ему мессагу и закрываю программу. Если нет, то отркываю программу.
Программисты не глючат - глючат компиляторы...

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 18.03.2005 (Пт) 23:22

CodeName33
Вот! А я не знаю как послать мессагу процессу и как её обработать! И можно ли безоконному процессу послать?
----

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Re: Вот такое дело...

Сообщение vvs_adm » 19.03.2005 (Сб) 9:33

Maitris писал(а):CodeName33
Вот! А я не знаю как послать мессагу процессу и как её обработать! И можно ли безоконному процессу послать?

Maitris писал(а): <cut> копия переходила в Visible = True, а вторая закрывалась? <cut>
А у меня другой вопрос. Подскажите пожалуйста, вот у меня есть безоконный процесс, как бы мне ему visible сделать false?

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 19.03.2005 (Сб) 16:46

vvs_adm То есть процесс с формой, но без видимых окон :). Т.е. в приложениях не виден :)
----

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 17:16

А чем форма отличается от окна?
Lasciate ogni speranza, voi ch'entrate.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 19.03.2005 (Сб) 17:32

vvs_adm А вообще вопрос неправильно поставлен! Процесс то до того как его закрыли является с видимым окном! А потом когда он уже невидимый, ему надо послать мессагу! В первом случае он ПРИЛОЖЕНИЕ а во втором - ПРОЦЕСС. :P
----

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.03.2005 (Сб) 17:35

Во-первых, если ты скрыл окно, это не означает, что окна не существует. Посмотри справку на FindWindowEx.
А во-вторых, помоему у тебя все смешалось в кучу, процессы, приложения, окна. Ты можешь конкретно сказать, что тебе надо?
Lasciate ogni speranza, voi ch'entrate.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 19.03.2005 (Сб) 21:35

Эх, свершу доброе дело...
Вложения
sample.zip
Один инстанс приложения
(6.05 Кб) Скачиваний: 106
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 19.03.2005 (Сб) 21:39

Maitris:Позволю себе усомниться, в том, что процесс с окном как-то принципиально отличается от процесса без оного. Процессом он называется в любом случае.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 20.03.2005 (Вс) 8:20

Прочитал все в голове перекрутилось, вообщем вывод:
1.Процесс может имееть окна, а может не имееть, это по желанию.
2.Форма = окно
الفيجوال بيسك الرابح

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 20.03.2005 (Вс) 8:53

Угу.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 22.03.2005 (Вт) 14:28

И все таки, я конечно извиняюсь за треп, но, IMHO:

1.) Форма это не обязательно окно.
Ведь если форма невидимая - она только является контейнером для элементов управления, но не окном.

2.)Видимый процесс (с окнами, таскбаром или с другими элементами пользовательского интерфейса) это - приложение.
А вот процесс типа svchost приложением явно не назовешь :), это просто процесс.

3.) Не прорисованное окно - форма. Окно - элемент ВИЗУАЛЬНОГО пользовательского интерфейса.

Немного запутано, но все же думаю понятно.
Последний раз редактировалось Maitris 22.03.2005 (Вт) 14:41, всего редактировалось 1 раз.
----

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 22.03.2005 (Вт) 14:33

Maitris, окно может быть окном, даже если оно невидимо.

Приложение - это вовсе не видимый процесс.

Вообще, есть мнение что тебе надо прочесть:



1) Программирование для платформы Windows - основные понятия и концепции

2) VB для чайников.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList