A method for invoking an input method performed by a desktop serving end deployed on a server, wherein the method comprises steps of: obtaining, by the desktop serving end, a picture of a virtual desktop provided by the server, and sending the picture of the virtual desktop to a terminal; monitoring, by the desktop serving end, an operating system to determine that an application is in an editing state; wherein the monitoring step includes detecting that the application invokes an interface SetCaretPos() that is used to set an input position of a current cursor and set the cursor to be in an editing state, and that is provided by an operating system, OS, or detecting that the application invokes an interface ImmGetContext() of an input method by using the OS for obtaining a configuration parameter of the input method; if said invoking interface is detected, it is determined that the application is in an editing state; and when the application is in the editing state, sending, by the desktop serving end to the terminal, a message indicating that the application is in the editing state; wherein the method further comprises: monitoring, by the desktop serving end, the operating system to determine that the virtual desktop is not in the editing state of the application by detecting that the OS invokes an interface used to hide the window of the application or an interface used to disable the input method; and when the virtual desktop is not in the editing state of the application, sending, by the desktop serving end to the terminal, a message indicating that the virtual desktop is not in the editing state of the application. obtaining, by the desktop serving end, a picture of a virtual desktop provided by the server, and sending the picture of the virtual desktop to a terminal; monitoring, by the desktop serving end, an operating system to determine that an application is in an editing state; wherein the monitoring step includes detecting that the application invokes an interface SetCaretPos() that is used to set an input position of a current cursor and set the cursor to be in an editing state, and that is provided by an operating system, OS, or detecting that the application invokes an interface ImmGetContext() of an input method by using the OS for obtaining a configuration parameter of the input method; if said invoking interface is detected, it is determined that the application is in an editing state; and when the application is in the editing state, sending, by the desktop serving end to the terminal, a message indicating that the application is in the editing state; wherein the method further comprises: monitoring, by the desktop serving end, the operating system to determine that the virtual desktop is not in the editing state of the application by detecting that the OS invokes an interface used to hide the window of the application or an interface used to disable the input method; and when the virtual desktop is not in the editing state of the application, sending, by the desktop serving end to the terminal, a message indicating that the virtual desktop is not in the editing state of the application. monitoring, by the desktop serving end, the operating system to determine that the virtual desktop is not in the editing state of the application by detecting that the OS invokes an interface used to hide the window of the application or an interface used to disable the input method; and when the virtual desktop is not in the editing state of the application, sending, by the desktop serving end to the terminal, a message indicating that the virtual desktop is not in the editing state of the application.