Computer-implemented method for assisting a user during the operation of at least one predetermined computer program whereby, during the execution of the computer program, at least one user interface object of the computer program is displayed on a display device, whereby the operation of the computer program comprises a number of process steps to be executed, whereby each process step is represented by a predetermined user interaction with a predetermined user interface object in a predetermined context of the computer program, whereby a navigation file contains the user interactions with the computer program that are necessary for the operation of the computer program, whereby the user interactions are stored as process steps in the navigation file and whereby, for at least one process step stored in the navigation file, - the at least one stored process step is loaded (S0; S9), - the current context of the computer program is determined, - it is checked whether the current context of the computer program coincides with the context of the loaded process step, - in case the current context of the computer program coincides with the context of the loaded process step, the one user interface object of the computer program displayed on the display device is determined, that corresponds to the user interface object of the loaded process step and - the determined user interface object of the computer program is accentuated on the display device for the user, characterized in that a user interaction is received and the received user interaction is validated by means of rules that are associated to the user interaction of the loaded process step, whereby the reception and validation of the user interaction comprises at least the following steps: - production of a system hook for intercepting user inputs before they are forwarded passed transmitted to the computer program (S7.1), - for each user input that is intercepted by the system hook - verification if the action type of the user input corresponds to the action type of the loaded process step (S7.2), - as far as the action types correspond to each other, validation of the user input (S7.3) whereby, for the validation of the user input, a distinction will be made between a user input based on a pointer and a user input based on a keyboard, whereby - for a user input based on a pointer it is checked if the input has been received by the user interface object of the loaded process step (S7.3.1), - for a user input based on a keyboard it is checked if the entered value corresponds to the input specifications associated to the loaded process step (S7.3.2). - the at least one stored process step is loaded (S0; S9), - the current context of the computer program is determined, - it is checked whether the current context of the computer program coincides with the context of the loaded process step, - in case the current context of the computer program coincides with the context of the loaded process step, the one user interface object of the computer program displayed on the display device is determined, that corresponds to the user interface object of the loaded process step and - the determined user interface object of the computer program is accentuated on the display device for the user, - production of a system hook for intercepting user inputs before they are forwarded passed transmitted to the computer program (S7.1), - for each user input that is intercepted by the system hook - verification if the action type of the user input corresponds to the action type of the loaded process step (S7.2), - as far as the action types correspond to each other, validation of the user input (S7.3) whereby, for the validation of the user input, a distinction will be made between a user input based on a pointer and a user input based on a keyboard, whereby - for a user input based on a pointer it is checked if the input has been received by the user interface object of the loaded process step (S7.3.1), - for a user input based on a keyboard it is checked if the entered value corresponds to the input specifications associated to the loaded process step (S7.3.2). - for a user input based on a pointer it is checked if the input has been received by the user interface object of the loaded process step (S7.3.1), - for a user input based on a keyboard it is checked if the entered value corresponds to the input specifications associated to the loaded process step (S7.3.2).