Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo evitar la opción "Número de copias" en el cuadro de diálogo de impresión de la ventana

Cómo evitar la opción "Número de copias" en el cuadro de diálogo de impresión de la ventana

Utilice el proceso del demonio para encontrar la ventana de impresión que aparece y luego envíe información a la ventana para ocultar los controles relacionados con el "Número de copias impresas".

La siguiente es la información relevante

Encuentre el ejemplo de control de Delphi. Creo que si Delphi puede hacerlo, C++ también debe estar bien.

/yang. /news/detail .asp?id=647

var hWindow:hwnd;

begin <

hWindow:=FindWindowEx(Handle,0,'TEdit' ,nil); //Un parámetro de 0 significa iniciar la búsqueda desde el principio

mientras hWindow<>0

comienza

ListBox1.Lines. Add(Format( '%x',[hWindow]));//poner el identificador en ListBox

hWindow:=FindWindowEx(Handle,hWindow,'TEdit',nil);//buscar el siguiente

end;

end;

También use form1.componentsets[i] para iterar

Después de obtener el identificador de la ventana, cómo iterar todos los controles en la ventana, ¿cómo obtener el identificador del botón "Cancelar" en esta ventana, cómo obtener el identificador del botón "Confirmar" en esta ventana?

var

hh:thandle

sch:array[0..255] de char

begin

hh:=findwindow(nil,título de la ventana);

bringwindowtotop(hh);

bringwindowtotop(hh).

enumchildwindows(hh,@findenum). ,integer(@sch[0]))

end;

función findenum(hh:integer;lparam:longint):boolean;stdcall

var;

búfer: pchar;

comenzar

resultado:=true

getmem(búfer,256); p>getwindowtext(hh,buffer,256);

función findenum(hh:

función findenum(hh: integer;lparam:longint):boolean;stdcall p>if buffer= 'Aceptar' entonces

comenzar

finalizar

if buffer='Cancelar' entonces

comenzar

end;

end;

end;

Habilitando el botón X en la esquina superior derecha del formulario

/319 / 202319.shtml

El botón X en la esquina superior derecha del formulario generalmente se usa para cerrar el programa. Este pequeño botón X en realidad está asociado con el elemento de menú "Cerrar" en el menú del sistema.

No sé qué es el menú del sistema. El menú del sistema es el menú que aparece cuando hacemos clic en el pequeño icono en la esquina superior izquierda del formulario. Parece "Restaurar", "Mover", "Maximizar". "Minimizar", "Cerrar", "apagar", "apagar", "apagar", "apagar", "apagar", etc. , "Minimizar", "Cerrar" y varios botones más. Este menú no se puede editar ni cambiar mediante métodos normales, pero podemos obtener su identificador GetSystemMenu a través de la función API y luego cambiarlo a través de las funciones API relacionadas con el menú. Veamos cómo hacerlo.

Para facilitar el aprendizaje, primero se proporciona el siguiente código fuente, con comentarios detallados en chino:

----------------- --------------------------

Desactiva el botón X en la esquina superior derecha del formulario

- ----------------------------------------------- -

Descripción del programa:

Este ejemplo utiliza la función API GetSystemMenu para obtener el identificador del menú del sistema.

El botón X es un elemento del menú del sistema. menú, y luego usa la función RemoveMenu para eliminar este elemento del menú, incluso si el botón X está deshabilitado. Desactiva el botón X.

------------------------------------------- --

Declaración VB

Función de declaración privada GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long

Descripción

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.

Valor de retorno

Long, si la ejecución es exitosa, se devuelve el identificador del menú del sistema; cero indica un error.

Si bRevert se establece en "verdadero", también se devolverá 0 (simplemente se restaura el menú del sistema original)

Notas

Cuando se usa en vb.NET Framework: el menú del sistema será enviado a la ventana mensaje WM_SYSCOMMAND, no mensaje WM_COMMAND

Lista de parámetros

hwnd --------- -- largo, identificador de ventana

bRevertir --- ----- Largo, si se establece en VERDADERO, significa recibir el menú del sistema original

Función de declaración privada GetSystemMenu Lib "user32" ( _

ByVal hwnd As Integer , _

p>

ByVal bRevertir como entero _

)Como entero

Declaración VB

Función de declaración privada RemoveMenu Lib "user32" (ByVal hMenu Mientras, ByVal nPosition Mientras, ByVal wFlags Mientras) Mientras

Resumen de trivia de VC

/bbs/PostView.asp?BoardID=19&imageID=248&page=1&&. .. amp;imageNum= 88&PostPage=1

11 ¿Cómo hacer que la ventana sea invisible?

Muy simple, usa SW_HIDE para ocultar la ventana, puedes usarlo junto con los controles FindWindow y ShowWindow.

Además, hay una gran cantidad de contenido en esta página como referencia

Otros materiales relacionados

VC++: habilidades de programación

/ 4/2627 .html

Problemas al cambiar el tamaño de los controles

/bbs/jsp/view.jsp?articleID= 2150043&skin=0&forumID=145