There are many ways to do this.
But, it makes sense to use a global variable to make differences of global states: state_poster, state_running_around, state_menu etc..

In a main function you can run a while loop where you switch between the states and run the depending functions.

Pseudo code:

function general_states

while

if key_h && general_state == state_running_around

general_state = state_poster
mouse_mode = 1;
mouse_pointer = 1;
mouse_map = arrow_bmp;


if general_state == state_poster

mouse_pos.x = mouse_cursor.x;
mouse_pos.y = mouse_cursor.y;

if key_h && general_state == state_poster

general_state = state_running_around
....