سلام
در مورد hook نیاز به اطلاعاتی داشتم

1- قالب دستورات مبتنی بر hook چگونه است و این دستورات چگونه عمل می کنند.

2-چرا در کد زیر در صورت عدم تطابق مقدار با ثابت های از پیش تعریف شده برنامه تابع CallNextHookEx را فراخوانی میکند :

LRESULT CALLBACK MyShellProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode<0)
return CallNextHookEx(0,nCode,wParam,lParam);

switch (nCode)
{
case HSHELL_WINDOWACTIVATED:
//handle this message
break;
//handle other messages
}

return 0;
}


بهتر است بقیه سوالاتم را بعد از تست یک برنامه مبتنی بر hook بگم, از دوستان خواهش میکنم کد یک برنامه کوچک مبتنی بر hook را ضمیمه کنند .