Red de conocimiento informático - Aprendizaje de código fuente - ¿Cómo logra Yi Language el cambio de estado del método de entrada del sistema? ¡Esperando en línea, se agregará después de la implementación!

¿Cómo logra Yi Language el cambio de estado del método de entrada del sistema? ¡Esperando en línea, se agregará después de la implementación!

Puede realizar el cambio de estado del método de entrada del sistema. .

Conjunto ventana conjunto 1

. Identificador del método de entrada de variable ensamblada, , , "0"

Subrutina __StartWindow_Create_Complete

Método de entrada de variable local, entero

Variable de variable local, entero

Número de métodos de entrada de variables locales, entero

Nombre de variable local, tipo de texto

Número de métodos de entrada = . GetKeyboardLayoutList (0, InputMethodHandle)

Redefinir matriz (InputMethodHandle, false, InputMethodNumber)

GetKeyboardLayoutList (InputMethodNumber, InputMethodHandle).

Primero realice un ciclo de conteo (recuento del método de entrada, variable)

Nombre = obtener texto en blanco (255)

ImmGetDescriptionA (identificador del método de entrada [variable], nombre, tome la longitud del texto (nombre))

Si es verdadero (variable = 1)

Nombre = "Inglés (EE. UU.)"

. Fin si es verdadero

ComboBox1.AddItem (Nombre, Variable)

Si es verdadero (FindText (Nombre, "Ortografía completa", , Falso) ≠ -1)

ActivateKeyboardLayout (InputMethodHandle [Variable], 0)

ComboBox1.CurrentSelected = Variable - 1

Si es verdadero final

Cuenta el final del bucle ()

Subrutina _ComboBox1_ListItemsSelected

ActivateKeyboardLayout (InputMethodHandle [ComboBox1.FetchItemValue (ComboBox1. Elemento actualmente seleccionado)], 0)

.Versión 2

.DLL Comando GetKeyboardLayout, entero , , "GetKeyboardLayout". Parámetros dwLayout, entero

.DLL comando GetKeyboardLayoutList, entero, "GetKeyboardLayoutList" Parámetro nBuff, entero. Parámetro lpList, número entero, matriz

.Comando DLL ImmGetDescriptionA, número entero, "imm32.dll", "ImmGetDescriptionA". Parámetro hkl, número entero lpsz, tipo de texto. p>.DLL comando ActivateKeyboardLayout, entero, "ActivateKeyboardLayout". Parámetro hkl, número entero.

Indicadores de parámetros, entero

Comando .DLL GetCurrentProcessId, entero, "kernel32", "GetCurrentThreadId".