С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.07.2007
Сообщений: 5

Количество запущенных экземпляров программы

24.07.2007, 09:04. Показов 1982. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в VB6 проверять, запущена уже эта программа или нет? Если экземпляр уже запущен, то активизировать его. Теоретически API FindWiondow и BringWindowToFront, но хотелось бы увидеть пример
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.07.2007, 09:04
Ответы с готовыми решениями:

Ограничение кол-ва запущенных копий программы.
Народ подскажите как программе на WPF запретить запускать больше одной копии? Код, что ниже не работает. public partial class...

Поиск программы среди запущенных процессов
Доброго времени суток. Мне кажется подобные задачки уже должны быть решены, но гугление мне не помогло. Программа должна...

Ограничение на кол-во запущенных копий программы
Разрабатываю программу по работе с БД. Планирую продавать фирмам. Как реализовать возможность продажи программы на определенное кол-во...

7
Farhad
24.07.2007, 11:41
Вот пример, (не мой, просто попался как-то под руку, надеюсь автор меня извинит)

Make a new project.

Code:
Add this code to the form's load procedure:

Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
If App.PrevInstance = True Then
MsgBox ('This program is already running.')
End
End If
End Sub
2 / 2 / 1
Регистрация: 30.07.2007
Сообщений: 206
30.07.2007, 08:16
http://sharig.webzone.ru/category/programs/run1prog.htm
0
Ghost
06.08.2007, 12:54
FarHad - этот пример для Win16, под Win32 он работать не должен (
0 / 0 / 1
Регистрация: 28.07.2007
Сообщений: 177
07.08.2007, 21:44
Ghost вообще-то я согласен, но в W2K должен - не должен, а работает.

Полные примеры можно посмотреть в MSDN

How to Prevent Multiple Instances of a VB Application
ID: Q142937

HOWTO: Prevent Multiple Instances of a 32-bit VB Application
ID: Q185730
0
Ghost
08.08.2007, 16:34
Леон! Спасибо за примеры (повторени - мать учения, не так ли?) НО:
1. Как я и говорил - пример Q....37 - для 16 bit app's - в Win2K запуск 16bit app идет под виртуальной машиной WoW (Windows on Windows), где эмулируется Win16. Я могу ПОТРЕБОВАТЬ от Win32 (WinNT/Win2K) запуск этого-же приложения под другой WoW - тогда PrevInstance вернет мне фигу
2. Пример Q.....30 - да, это так. Для определения (поиска) другой копии запущенного приложения под Win32 можно использовать FindWindow/SetForeGroundWindow, а можно через Running Object Table
Но это и есть то, о чем я писал выше.

WBW
Ghost
0 / 0 / 1
Регистрация: 28.07.2007
Сообщений: 177
08.08.2007, 16:52
Ghost, и ещё раз я согласен. И всё же пример скопированый из Q..37 без изменений и откомпилированый в VB6 на W2K работает отлично. При этом в моём понимании представляет собой нормальную 32-разрядную аппликацию. Идеи?
0
Ghost
08.08.2007, 22:55
А как быть с тем гробом, под именем msvbVM60.dll?
IMHO, там-то все и крутится.
1. Копирую программу (.exe) в другое место и запускаю - обломись - не детектиться (случай слегка гипотетический - специально программу держать в разных местах не станешь) - т.е. программа детектит свой инстанс еще и по имени.
2. При просмотре через DependViewer - этот .exe зависит только от msvbVM60.dll.
3. Смотрю .exe через hiew.exe - управление сразу уходит в msvbVM60.dll и оттуда не возвращается. (jmp) - но это вполне логично.
4. (личное) я не верю в то, что VB способен создать НАСТОЯЩЕЕ Win32 приложение. Т.е. он, конечно, Win32 ( )) ) но вот только RunTime Support у него что-то очень большой

Я думаю, что PrevInstance является частным мнением msvbVM60.dll но никак не мнением подсистемы Win32 )

Если оно работает - чтож, хорошо. Вот только при попытке портировать сей код на C ()) ) кодера ждут большие неприятности )

WBW
Ghost
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.08.2007, 22:55
Помогаю со студенческими работами здесь

C++ и количество запущенных процессов
Перед мной стоит задача. Вычислить количество процессов, запущенных на системе. Перечисляю процессы я так: PROCESSENTRY32...

Почему несколько запущенных копий программы не влияют на скорость?
Запускаю программу на выполнение, выдает скорость работы. Запускаю 5 экземпляров скорость не меняется. Почему так происходит, хотя вроде...

Нужно контролировать количество запущенных потоков
Предполагается выполнять ресурсоемкие вычисления в 4-х потоках одновременно. Нужно постоянно проверять количество выполняющихся потоков и...

Отлов работающих экземпляров программы.
Мне бы познать технологию, как отловить работающий экземпляр моей программы не по названию процесса, дескриптора окна и т.п. Ну.. так как...

Синхронизация нескольких экземпляров программы
Ребят, подскажите пожалуйста. В общем есть программа, производящая некие операции в браузере (Awesomium) с раными интервалами времени. Я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru