WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  проверка на то, что приложение уже запущено

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   проверка на то, что приложение уже запущено
el dot f опубликован 18-11-2000 02:00 MSK   Click Here to See the Profile for el dot f   Click Here to Email el dot f  
Я пытаюсь использовать FindWindow(...),
но в нем надо указать имя зарегистрированного класса окна. так вот,
как задать имя класса окна для dialog-based приложений?
я пробовал через PreCreateWindow(), но CDialog его не наследует от CWnd.
А в других методах - уже поздно, класс зарегистрирован.
Подскажите, пожалуйста.
Eugene_Yavorsky1 опубликован 20-11-2000 15:50 MSK     Click Here to See the Profile for Eugene_Yavorsky1  Click Here to Email Eugene_Yavorsky1     
1. А зачем задавать класс? Если достаточно уникальное... как это по-русски... Caption окна, задаешь класс=NULL - и нет проблем.
2. Если нужна ЖЕЛЕЗНАЯ уверенность - используй глобальные атомы или семафоры.
el dot f опубликован 20-11-2000 20:22 MSK     Click Here to See the Profile for el dot f  Click Here to Email el dot f     
мне нужно искать по классу окна, т.к. caption меняется ;(
использование семафоров дает ответ: есть приложение или его нет, а мне надо при нахождении запущенного моего приложения передать на него упраление.
вот так-с.
Eugene_Yavorsky1 опубликован 24-11-2000 20:50 MSK     Click Here to See the Profile for Eugene_Yavorsky1  Click Here to Email Eugene_Yavorsky1     
Ну, тогда у меня 2 предложения:
1. Используя файл-маппинги, создаем именованный маппинг куска своп-файла первым экземпляром, и суем туда HWND его диалога.
2. А кто мешает зарегистрировать класс окна (и создать само окно в первом экземпляре приложения со стилем WS_VISIBLE=0), которое не будет нифига делать, а только отвечать на сообщение типа WM_USER_GET_MAIN_HWND (или как тебе его захочется обозвать)?
OlegO опубликован 02-02-2000 14:09 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
Не проще ли использовать Mutex ???
в InitInstance() например

HANDLE m_Mutex = NULL;
m_Mutex = OpenMutex(MUTEX_ALL_ACCESS,TRUE,_T("MutexID"));
/// Если существует то выход иначе создаем
if(m_Mutex) return FALSE;

m_Mutex = CreateMutex(NULL,TRUE,_T("MutexID"));

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.