Ok c ma faute.
Voici la fonction winmain de mon prog:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
CreateMutex(NULL,TRUE,"testmutex" );
if(GetLastError() != ERROR_ALREADY_EXISTS)
{
try
{
Application->Icon->LoadFromFile("CDIcon.ico" );
}
catch(...)
{
}
Application->ShowMainForm=false;
Application->CreateForm(__classid(TMyDivPlayerByLetoAtISIMA), &MyDivPlayerByLetoAtISIMA);
Application->CreateForm(__classid(TFirstWindow), &FirstWindow);
Application->Run();
}
else
{
HANDLE test=FindWindow("TMyDivPlayerByLetoAtISIMA",NULL);
/*ShowWindow(test,SW_RESTORE);
SetForegroundWindow(test);*/
SendMessage(test,MYWM_NOTIFY,1,1);
//BringWindowToTop(test);
}
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
la fonction qui répond au message MYWM_NOTIFY:
void __fastcall TMyDivPlayerByLetoAtISIMA::MyNotify(TMessage& msg)
{
//ShowWindow(Handle,SW_SHOWNORMAL);
//BringWindowToTop(Handle);
//SetFocus();
WINDOWPLACEMENT test;
RECT test2;
test2.left=Left;
test2.right=Left+Width;
test2.top=Top;
test2.bottom=Height+Top;
test.showCmd=SW_SHOWNORMAL;
test.length=sizeof(WINDOWPLACEMENT);
test.rcNormalPosition=test2;
SetWindowPlacement(Handle,&test);
SetForegroundWindow(Handle);
}
vous pouvez voir passé en commentaires les autres essai infructueux