Figured it out, it is being garbage collected. First i had this code:
MouseHookListener mouseListener = new MouseHookListener(new GlobalHooker());
mouseListener.Enabled = true;
mouseListener.MouseDownExt += new EventHandler(mouseListener_MouseDownExt);
Then it only worked until it was being garbage collected. Then i made a
private MouseHookListener mouselistener;
in my class and it is now being referenced througout the lifetime of my application. Now it works perfectly.