Ne znam koliko si upoznat sa low-level systemom upravljanja prozorima u WIndowsu. Elem, ukratko, svaki prozor (a tu spada sve što se vidi, uključujući i kontrole) ima svoju "klasu" (pod navodnicima), a svaka klasa ima registrovanu svoju tzv. windows message proceduru koja je dobijala porukice od strane svog thread-a koji ih dobija od Windows-a za skoro sve i svašta. Nisam siguran da možeš da odbiješ fokus pošto ti njega daje sam Windows (samo te obavesti sa WM_ACTIVATEAPP), ali možda možeš da posle obrade dugmeta pošalješ poruku da se povlačiš iz trke, tako što ćeš u sopstveni glavni thread ubaciti WM_KILLFOCUS poruku (pogledaj MSDN za wParam i lParam vrednosti). To bi trebalo da natera tvoju aplikaciju da prepusti focus prethodno aktivnoj, dakle notepad-u
E sad problem, izuzev nekoliko baš prostih poruka (PAINT, MOUSEMOVE, itd) koje su izvedene kao event-i forme, SVE OSTALE poruke moraš ručno da pratiš. Možda će ti ovo parče koda pomoći (mora biti u okviru klase forme):
Code:
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override void WndProc(ref Message m)
{
// Listen for operating system messages.
switch (m.Msg)
{
// The WM_ACTIVATEAPP message occurs when the application
// becomes the active application or becomes inactive.
case WM_ACTIVATEAPP:
// The WParam value identifies what is occurring.
bool appActive = (((int)m.WParam != 0));
// ovde radis nesto kad se tvoja aplikacija (ne forma) aktivira
break;
}
base.WndProc(ref m);
}
Ovaj kod nema direktne veze sa onim što tražiš ali ti je čisto reper kako se presreću WIndows poruke u formi, pošto postoje izvesne security začkoljice oko pozivanja unmannaged koda (koji se nalazi u base.WndProc)
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić