Hi
Is this code for changing an application's window procedure correct , cuz im having trouble with it

Code:
while(TRUE)
	{
	hwnd = GetForegroundWindow();
	if((WNDPROC)GetWindowLong(hwnd,GWL_WNDPROC) != NULL)
		OldWindowProc = (WNDPROC)GetWindowLong(hwnd,GWL_WNDPROC);
	SetWindowLong(hwnd,GWL_WNDPROC,(LONG)fakeWinProc);
	Sleep(5000);
	}