OLE y el RegistroOLE y el RegistroWow, ahora estamos de regreso en el Registro. Eso fue un montón de cosas a cubrir, sólo para captar la situación de los conceptos básicos de OLE. Como ya he mencionado, OLE colabora ampliamente con el Registro. Cuando una aplicación se registra con OLE como un servidor de aplicaciones potenciales, este proceso de registro consiste en añadir un número de entradas en el Registro. Para aplicaciones de OLE, tales como los controles ActiveX, estas entradas son relativamente simples y fáciles de seguir. Las aplicaciones más complejas de tomar OLE de Microsoft Word como un ejemplo-tienen cientos de entradas en el registro y son típicamente difíciles de entender. Echemos un vistazo a un control OLE sencillo el control ActiveX llamado Control de calendario 10.0, que es una aplicación disponible de Microsoft ( como parte de Office XP) que permite a los usuarios insertar un calendario en su documento. Sí, Control de calendario 10.0 es incorporable en un documento Word (también se puede incrustar en muchos otros tipos de documentos). Este uso, que es típico, es muy útil pensar en cuántas veces usted necesita incluir un calendario en un documento. Echa un vistazo a la Figura 6.4 para ver Word y Control de calendario 10,0 trabajar juntos. En el documento que he usado para esta figura, efectivamente utilizadas a la fecha que estaba escribiendo este tutorial. Tamaño y la colocación de ...
Control de calendario 10.0 permite cambiar el tamaño de la mano. Sin embargo, algunas versiones de los controles ActiveX no funcionan tan bien cuando se inscriben en Word. Se puede crear una ventana de fondo que hace que el tamaño de la ventana principal de control es difícil. Debido a esto, el control integrado tiende a cambiar el tamaño de su pantalla de forma inesperada. Este comportamiento no es aceptable, debo añadir. Si incrusta un objeto que es difícil cambiar el tamaño, intente esto: En primer lugar cambiar el tamaño del control de ofender para hacerlo más pequeño, y rápidamente, antes de Word puede cambiar su tamaño, haga clic en la ventana de base subyacente. Esto bloquea la ventana de base para que pueda cambiar el tamaño de la ventana del control, según corresponda. Un simple doble clic en cualquier lugar dentro de la ventana de base restaura la pantalla normal. Calendar Control 10.0 Microsoft permite una gran interacción con otros documentos y aplicaciones, se puede establecer el mes y año según sus preferencias mediante el menú desplegable cuadros de lista. Sin embargo, ¿por qué que usted, un usuario, quiere otra interacción? Fácil! Un ejemplo clásico es la de insertar Control Calendar en una página Web, un documento cuya aplicación es el navegador web. Otro ejemplo es el control Calendar para incrustar en un mensaje de correo electrónico. Ding! ¿La luz se van? E-mail a todos en su equipo e incluir en el mensaje de los detalles de una reunión virtual con el calendario que muestra la fecha correspondiente. Se pueden modificar las propiedades de los objetos incrustados. Generalmente hay dos formas de configurar las propiedades del objeto. La primera es utilizar la interfaz de programación (geek-véase la Figura 6.5). También puede usar objetos del objeto cuadro de diálogo Propiedades (ver Figura 6.6). La interfaz de programación permite el acceso a todas las propiedades de lo posible, mientras que el cuadro de diálogo Propiedades del objeto permite la modificación rápida y sencilla de las propiedades del objeto seleccionado. Por lo tanto, tenemos un 10,0 Calendario de Microsoft de Control aplicación de servidor OLE implementado como un control ActiveX. Echemos un vistazo a las entradas del Registro de Control de calendario. En primer lugar están las entradas en HKEY_LOCAL_MACHINE \ Software \ Classes \ CLSID. Estas entradas se definen gran parte de la interfaz OLE: (8E27C92B-1264-101C-8A2F-040224009C02)] @ = "Calendar Control 10.0" Las líneas de arriba son de la colmena (HKEY_LOCAL_MACHINE), clave (Software), y subclaves (Classes \ CLSID), seguido por los valores que estas claves pueden contener. Un valor en forma de @ = datos denota la entrada de valor por defecto en todas las claves del Registro y subclave. Nota: el CLSID de Windows XP es idéntico el CLSID de Windows 2000 NT. ¿Sorprendido? No se, como el CLSID proviene de la aplicación, no el sistema operativo. Además, Control Calendar 10.0 probablemente tiene el CLSID mismo que Control Calendar 9.0. La primera subclave contiene el CLSID para el control Calendar 10,0 servidor. Esta CLSID pasa a ser 8E27C92B-1264-101C-8A2F-040224009C02, aunque otras versiones del Calendario de control (si es que eran sustancialmente diferentes) puede tener CLSID diferente. La variable por defecto de datos contiene una cadena que describe el programa. Observe que esta cadena se encuentra también en la segunda sección del registro, HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar.7, se describe a continuación. (8E27C92B-1264-101C-8A2F-040224009C02) \ CLSID @ = "8E27C92B-1264-101C-8A2F-040224009C02" Windows utiliza la subclave AuxUserType para abreviar, los nombres legibles para la aplicación. Menús, tanto regulares como pop-up, utilizar estos nombres cortos. Microsoft recomienda que los nombres en AuxUserType limitarse a no más de 15 caracteres. La entrada, InprocHandler32, le indica al sistema lo que en controlador de proceso se usará. (8E27C92B-1264-101C-8A2F-040224009C02) \ InprocServer32 @ = "C: \ Archivos de programa \ Microsoft Office \ Office10 \ MSCAL.OCX" Muchas aplicaciones utilizan InprocServer.dll como su controlador en el proceso, aunque esto no es un requisito. Otro uso común en el controlador de proceso es MAPI32.DLL, que es utilizado por muchos electrónico objetos habilitados: Para uso con Windows XP, la entrada Insertable indica al sistema que la aplicación aparece en la lista de inserción del nuevo objeto Insertar cuadro de diálogo: (8E27C92B-1264-101C-8A2F-040224009C02) \ Insertable @ = "" La siguiente entrada contiene la aplicación completa ruta de acceso y nombre de archivo ejecutable. Esta cadena no es un REG_EXPAND_SZ, así que no usan las variables de sustitución: (8E27C92B-1264-101C-8A2F-040224009C02) \ MiscStatus @ = "131473" Nota En MiscStatus, combine los valores utilizando binario o bit a bit, además, la forma más fácil de hacer un bit a bit es simplemente agregar los valores. Por ejemplo, una aplicación con las banderas: "El objeto establece el sitio del cliente primero" (131072), "objeto de activar, cuando sea visible" (256) "El objeto está al revés" (128) "El objeto no se puede vincular dentro "(16), y" al cambiar el tamaño, el objeto se recompone "(1) se almacena un valor de (131072 + 256 + 128 + 16 + 1) = 131473 en MiscStatus, que es exactamente el valor que está en nuestro calendario MiscStatus objeto de control. En algunas entradas, la subclave para imprimir denota un objeto OLE que admite el método iPrint (para imprimir no se encuentra en todos los objetos, sólo los que se pueden imprimir utilizando el método de iPrint): (8E27C92B-1264-101C-8A2F-040224009C02) \ imprimir @ = "" Para que un objeto que puede ser insertado, no debe ser un valor ProgID asociados (ProgID es la abreviatura de "identificador de programación"). Este valor se compone de un nombre corto, un tipo, y un valor numérico (el valor numérico es a menudo un número de versión): (8E27C92B-1264-101C-8A2F-040224009C02) \ ProgID @ = "MSCAL.Calendar.7" Una sección del registro es creado con ese nombre (ver la entrada siguiente), donde los valores más registro serán almacenados para este objeto: (8E27C92B-1264-101C-8A2F-040224009C02) \ Verb @ = "" Los verbos indican los tipos de acción que el objeto puede tomar. Siempre numerados consecutivamente en el registro, hay tres componentes en las entradas verbo, como se muestra aquí: (8E27C92B-1264-101C-8A2F-040224009C02) \ verb \ 0 @ = "& Editar, 0,2" Este verbo de la muestra, Edición, muestra tres cosas. En primer lugar, el texto utilizado en el menú, y Editar. El & indica que la siguiente carta será de relieve y se utiliza como valor de tecla rápida. Hay una segunda sección del Registro para el Control de calendario 10,0 objeto OLE. Esta sección, en HKEY_LOCAL_MACHINE \ Software \ Classes, se llama MSCAL.Calendar.7. En la subclave MSCAL.Calendar, hay dos entradas de valor posible. Uno se muestra a continuación: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar] @ = "Calendar Control 10.0" La entrada primer valor es el valor por defecto (@ =) que contiene el nombre ( "Calendar Control 10.0") utilizados en la lista de inserción del cuadro de diálogo Insertar objeto. Un segundo valor que algunos objetos se podrán utilizar EditFlags, que contiene la edición banderas, expresado en valores hexadecimales. CLSID La subclave contiene el CLSID del objeto: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ CLSID] @ = "(8E27C92B-1264-101C-8A2F-040224009C02)" Cuando está presente, la subclave siguiente (que funciona con la tecnología de Microsoft OLE DocObject) pueden contener información acerca de las capacidades del objeto OLE: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar.7 \ DocObject] @ = "0" Para uso en Windows 2000 y Windows XP, la entrada siguiente indica al sistema que la aplicación debe aparecer en la lista de inserción de la nueva caja de diálogo Insertar objeto: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ Insertable] @ = "" La subclave del protocolo se utiliza para la compatibilidad con OLE 1 envase (cliente) las solicitudes: @ [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol] = "" Hay una sola subclave en el protocolo, llamado StdFileEditing. Dentro de StdFileEditing, hay una serie de elementos, como se muestra aquí: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocolo \ StdFileEditin g] @ = "" La entrada por defecto en StdFileEditing es una cadena vacía. [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocolo \ StdFileEditin g \ servidor] @ = "C: \ \ ARCHIV ~ 1 \ \ MICROS ~ 2 \ \ winword.exe" La primera subclave en StdFileEditing es la subclave de servidor. Dentro de servidor por defecto es la cadena que contiene el nombre completo del servidor de archivos ejecutables. (El control de calendario no tiene esta entrada, así que he puesto de manifiesto la entrada de Word.) Debido a que esta cadena es REG_SZ, no usar ninguna variable de sustitución, como% SystemRoot%, en el mismo. @ [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocolo \ StdFileEditing \ verbo] = "" La subclave siguiente en StdFileEditing es verbo. Dentro de verbo son uno o más subclaves numeradas, los números empiezan con 0 y deben ser consecutivas. Cada verbo que la aplicación OLE utiliza en un menú se incluirá, como se muestra aquí: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocolo \ StdFileEditing \ verb \ 0] @ = "& Editar" Este verbo es la selección del menú Editar. El texto utilizado en el menú y Edición. El & indica que la siguiente carta será de relieve y se utiliza como valor de tecla. Por último, una versión-se crea ProgID independiente. Incluso cuando se actualiza el control, esta entrada no va a cambiar: HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID \ (8E27C92B-1264-101C-8A2F-040224009C02) \ VersionIndependentProgID @ = "MSCAL.Calendar" Al igual que ProgID, este identifica el programa, sin ninguna referencia versión. un artículo presentado por Mathenes Dessue Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito. Importante: Este artículo "OLE y la Secretaría", fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.
|
|||||
| Online: 268 users browsing the articles directory |
|
|