Red de conocimiento informático - Aprendizaje de código fuente - Cómo escribir un menú en el título de la ventana _inicio_ en un lenguaje sencillo

Cómo escribir un menú en el título de la ventana _inicio_ en un lenguaje sencillo

El código para usar la API es el siguiente:

. Versión 2

. Ventana de ensamblaje 1

Variable de configuración del programa lProcOld

. Subrutina __StartWindow_Created

Variable local lhSysMenu

Variable local lRet

lhSysMenu = fetchSysMenu handle_(_LaunchWindow. Obtener identificador de ventana (), 0)

lRet = Agregar elemento de menú_ (lhSysMenu, 2048, 0, "")

lRet = Agregar elemento de menú_ (lhSysMenu, 0, 1000, "about") ' Quieres que aparezca El día de la expresión de texto

lProcOld = Establecer información de la ventana_ (_Iniciar ventana. Obtener el identificador de la ventana (), -4, que es un número entero (amp; SysMenuHandler)) ' GWL_WNDPROC = -4

.Subrutina SysMenuHandler, entero

. Parámetro hWnd, entero

. Parámetros iMsg, entero

. Parámetro wParam, entero

lParam, entero

. Parámetro lParam, entero

. Si es verdadero (iMsg = 274) ' WM_SYSCOMMAND = 274

.Si es verdadero (wParam = 1000) ' IDM_ABOUT = 1000

Cargar (Acerca de, _Launch Window, true) ' Complete su El tiempo de respuesta deseado al presionar este botón de menú

. Si es verdadero final

.Si es verdadero final

Retorno (dirección de la función de ventana de llamada _ (lProcOld, hWnd, iMsg, wParam, lParam))

DLL API función utilizada:

.Versión 2

.DLL comando CallWindowFunctionAddress_, entero, "user32.dll", "CallWindowProcA"

Parámetros ventana anterior Dirección de función, entero

. Identificador de la ventana de parámetros, entero

Valor del mensaje de parámetro, entero

. Parámetros Parámetros adicionales 1, entero

comando .DLL GetSystemMenu_, entero, "user32", "GetSystemMenu", obtiene el identificador del menú del sistema de la ventana especificada. En el entorno VB, el nombre oficial de "Menú del sistema" es "Menú de control", que es el menú que aparece al hacer clic en el cuadro de control en la esquina superior izquierda de la ventana. Si la ejecución es exitosa, se devolverá un identificador del menú del sistema; devolver 0 indica un error. Si bRevert se establece en "verdadero", también se devuelve cero (simplemente se restaura el menú original del sistema)

. Parámetros identificador de ventana (identificador de ventana), entero, identificador de ventana

.

Respuesta del parámetro, número entero, si se establece en "verdadero", significa recibir el menú del sistema original;

comando .DLL AddMenuItem_, número entero, "user32.dll", "AppendMenuA", distinto de cero significa éxito, cero significa éxito Fallo

.Parameters MenuHandle, integer, , hMenu, MenuHandle

.ParameterMenu banderas constantes, integer, , wFlags, ver ayuda relacionada

.Parameter newMenuItemID, entero, wIDNewItem, especifique el nuevo ID de comando del elemento del menú

Parámetros flagValue, tipo de texto, lpNewItem, consulte la ayuda relacionada

.DLL comando SetProcessWorkingSetSize, entero. , , "SetProcessWorkingSetSize ", , Optimización de memoria

Parámetro hProcess

Parámetro dwMinimumWorkingSetSize

Parámetro dwMaximumWorkingSetSize

. , integer," user32", "SetWindowLongA", , Establece el valor anterior de los datos especificados para la información de la ventana especificada en la estructura de la ventana

Parámetro Identificador de ventana (identificador de ventana), entero, ,. hwnd, el identificador de la ventana para obtener la información

. Parámetros windowInfoValue (valor de información de la ventana), entero, nIndex, consulte la descripción del parámetro nIndex de la función GetWindowLong

. Parámetros windowInfoNewLong, entero, dwNewLong, el nuevo valor de la información de la ventana especificada por nIndex

¡Gracias por adoptar! Este artículo está impreso palabra por palabra, ¡no presione Ctrl C V!