20.05.2007, 20:51
общий
это ответ
Здравствуйте, Sov!
Просто можете создать в длл поток, который ожидает событие синхронизации.
и тогда с главного приложения можно подать сигнал сразу всем потокам...
Смотрите в сторону mutex.. createmutex
вот так ждем-сс сигнала
<code>
DWORD WINAPI name(LPVOID lpThreadParameter)
{
SECURITY_ATTRIBUTES sa = {0};
sa.nLength = sizeof(sa);
sa.bInheritHandle = FALSE;
BOOL bGotSA = FALSE;
SECURITY_DESCRIPTOR sd;
if(InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION))
{
if(SetSecurityDescriptorDacl(&sd, TRUE, (PACL)NULL, FALSE))
{
bGotSA = TRUE;
sa.lpSecurityDescriptor = &sd;
}
}
HANDLE hMutex;
int nErr;
if(bGotSA)
{
hMutex = CreateEvent(&sa, true, false, "name");
}
else
{
hMutex = CreateEvent(NULL, true, false, "name");
}
if(WaitForSingleObject(hMutex, INFINITE)==WAIT_OBJECT_0)
{
close this...;
}
if(hMutex)
{
CloseHandle(hMutex);
}
return 0;
}
</code>
а вот так даем сигнал, если не ошибаюсь
<code>
HANDLE hEv2 = CreateEvent(0, true, false, "name");
SetEvent(hEv2);
CloseHandle(hEv2);
</code>