What do you think mouse.mi.dx and mouse.mi.dy equals to?
and what mouse.mi.mouseData and time equals to?
Currently it is junk. That means your mouse can suddenly jump everywhere (and click everywhere), send some random data to the system and doing strange things with time (I do not know what it si supposed to do).
As for why this happens, WinAPI is written to target the C language as opposed to C++ which you are probably more used to. So the objects it provides do not have constructors which is why any data members that are not specifically initialized are in an undefined state.