OLE und der KanzleiOLE und der KanzleiWow, jetzt sind wir zurück in die Registrierung. Das ist eine Menge Sachen zu decken war, nur, um ein von den Grundlagen der OLE-Griff. Wie ich bereits erwähnt habe, arbeitet OLE intensiv mit der Registrierung. Wenn eine Anwendung registriert sich mit OLE als potenzieller Server-Anwendung, besteht dieser Prozess der Eintragung Hinzufügen einer Anzahl von Einträgen in der Registry. Für OLE-Anwendungen, wie ActiveX-Steuerelemente, werden diese Einträge relativ einfach und leicht zu folgen. Komplexere OLE-Anwendungen zu Microsoft Word als Beispiel-haben Hunderte von Einträgen in der Registry und sind in der Regel schwer zu verstehen. Lassen Sie uns ein einfaches OLE-Steuerelement der Look-ActiveX-Control namens Calendar Control 10.0, dem ein Antrag von Microsoft erhältlich ist ( als Teil von Office XP), dass die Nutzer zu einem Kalender, in ihr Dokument einfügen können. Ja, das ist 10,0 Kalender-Steuerelement in ein Word-Dokument bündig (Sie können auch eingebettet in viele andere Arten von Dokumenten). Diese Verwendung, was typisch ist, ist sehr nützlich, man denke an, wie oft man benötigt, um einen Kalender in einem Dokument enthalten. Check out Abbildung 6.4 zu sehen, Word-und Kalender-Steuerelement 10,0 zusammenarbeiten. In dem Dokument, dass ich für diese Figur, ich tatsächlich verwendet das Datum, das ich schrieb dieses Tutorial. Größe und Platzierung ...
10,0 Kalender-Steuerelement ermöglicht eine einfache Einstellung der Geometrie. Allerdings werden einige Versionen von ActiveX-Steuerelementen nicht so gut funktionieren, wenn sie in Word eingebettet. Sie können zu einer zugrunde liegenden Fenster, das Sizing der Kontrolle Hauptfenster erschwert. Aus diesem Grund strebt der Embedded Control, um seine Anzeige auf unerwartete Weise zu ändern. Das ist kein akzeptables Verhalten, wie ich hinzufügen. Wenn Sie ein Objekt, das schwierig ist, die Größe, versuchen Sie dies: Erstens die Größe des Verstoßes Kontrolle zu machen, kleiner, und dann schnell, bevor es von Word die Größe können Sie auf Basis der zugrunde liegenden Fenster einbinden. Damit wird die Basis-Fenster, so dass Sie das Control-Fenster als angemessen zu ändern. Ein einfacher Doppelklick auf eine beliebige Stelle innerhalb des Basis-Fenster wieder in den normalen Anzeigemodus. Microsoft Kalender-Steuerelement 10.0 können eine Menge Interaktion mit anderen Dokumenten und-Anwendungen können Sie den Monat und das Jahr nach Belieben über den Dropdown-Listenfeldern. Dennoch, warum Würden Sie ein Benutzer, andere Wechselwirkungen wollen? Einfach! Ein klassisches Beispiel ist die Einbettung von Kalender-Steuerelement in eine Webseite, ein Dokument, dessen Anwendung ist die Web-Browser. Ein weiteres Beispiel ist die Einbettung von Kalender-Steuerelement in eine E-Mail-Nachricht. Ding! Hat der Ampel fahren Sie ab? E-mail jeder in Ihrem Team und sind in der Nachricht die Details zu einem virtuellen Treffen mit dem Kalender zeigt das entsprechende Datum. Sie können die Eigenschaften der eingebetteten Objekte ändern können. Es gibt normalerweise zwei Möglichkeiten, um die Eigenschaften des Objekts. Die erste besteht darin, die programmatische Schnittstelle (geeky-siehe Abbildung 6.5). Sie können auch das Objekt Object Dialogfeld "Eigenschaften" (siehe Abbildung 6.6). Die Programmierschnittstelle ermöglicht den Zugriff auf alle möglichen Eigenschaften, während das Dialogfeld Objekteigenschaften schnelle und einfache Modifikation der ausgewählten Objekt-Eigenschaften ermöglicht. Also, haben wir ein Microsoft Kalender-Steuerelement 10,0 OLE-Server-Anwendung als ActiveX-Steuerelement implementiert. Schauen wir uns die Registrierungseinträge für Kalender-Steuerelement. Erstens sind die Einträge in HKEY_LOCAL_MACHINE \ Software \ Classes \ CLSID. Diese Einträge definieren, viel von der OLE-Schnittstelle: (8E27C92B-1264-101C-8A2F-040224009C02)] @ = "Calendar Control 10.0" Die obigen Zeilen sind die Struktur (HKEY_LOCAL_MACHINE), Schlüssel (Software) und Unterschlüssel (Classes \ CLSID), durch alle Werte, die diese Schlüssel enthalten könnten folgen. Ein Wert in Form von @ = Daten der Standardwert bezeichnet Eintrag gefunden in jedem Registrierungsschlüssel und Unterschlüssel. Hinweis: Die Windows XP CLSID ist identisch mit dem Windows NT 2000 CLSID. Überrascht? Lassen Sie sich nicht, wie die CLSID kommt aus der Anwendung, nicht das Betriebssystem. Auch Calendar Control 10,0 hat wahrscheinlich die gleichen CLSID als Kalender-Steuerelement 9.0. Der erste Teilschlüssel enthält die CLSID für das Kalender-Steuerelement 10,0 Server. Diese CLSID passiert zu sein 8E27C92B-1264-101C-8A2F-040224009C02, obwohl auch andere Versionen von Kalender-Steuerelement (wenn sie sich wesentlich voneinander unterscheiden) können unterschiedliche CLSIDs haben. Die Standard-Daten Variable enthält eine textuelle Beschreibung des Programms. Beachten Sie, dass dieser String auch im zweiten Abschnitt der Registrierung, HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes gefunden \ MSCAL.Calendar.7, beschrieben wird. (8E27C92B-1264-101C-8A2F-040224009C02) \ CLSID @ = "8E27C92B-1264-101C-8A2F-040224009C02" Windows verwendet das AuxUserType Unterschlüssel für kurz-, Menschen-lesbare Namen für die Anwendung. Menus, reguläre und Pop-up, mit diesen kurzen Namen. Microsoft empfiehlt, dass die Namen in AuxUserType nicht mehr als 15 Zeichen beschränkt werden. Der Eintrag, InProcHandler32, meldet das System, welche In-Prozess-Handler verwendet werden. (8E27C92B-1264-101C-8A2F-040224009C02) \ InprocServer32 @ = "C: \ Program Files \ Microsoft Office \ Office10 \ MSCAL.OCX" Viele Anwendungen verwenden InprocServer.dll als In-Prozess-Handler, obwohl dies nicht erforderlich ist. Eine weitere häufig in-Prozess verwendet Handler MAPI32.DLL, die von vielen E-Mail verwendet wird aktivierten Objekte: für den Einsatz mit Windows XP, die Insertable Eintrag wollten darauf hinweisen, das System, dass der Antrag im Insert-Liste der aufgeführten Neues Objekt einfügen Dialog: (8E27C92B-1264-101C-8A2F-040224009C02) \ Insertable @ = "" Der nächste Eintrag enthält die Anwendung vollständig qualifizierten Pfad und exe-Datei. Dieser String ist kein REG_EXPAND_SZ, verwenden Sie also nicht Substitutionsvariablen: (8E27C92B-1264-101C-8A2F-040224009C02) \ MiscStatus @ = "131473" Hinweis: In MiscStatus kombinieren Werte mit Hilfe von binären oder bitweise Addition, der einfachste Weg, eine bitweise zu tun ist, einfach die Werte hinzufügen. Zum Beispiel setzt eine Anwendung mit den Fahnen: "Das Objekt der Client-Seite erste" (131072), "Aktivieren Objekt, wenn es sichtbar ist" (256) "Das Objekt ist von innen nach außen" (128) "Das Objekt kann keine Verbindung innen "(16), und" bei Änderung der Größe, wird das Objekt neu bilden "(1) wäre ein Wert von (131.072 + 256 + 128 + 16 + 1) = 131.473 in MiscStatus, was genau der Wert ist, dass in unserem Kalender ist speichern Control-Objekts MiscStatus. In einigen Einträgen, bezeichnet die Druckversion Unterschlüssel ein OLE-Objekt, das die IPrint Methode (Druckversion ist nicht in allen gefundenen Objekte-Unterstützung wird nur diejenigen, die printable sind mit dem IPrint Methode): (8E27C92B-1264-101C-8A2F-040224009C02) \ Printable @ = "" Für ein Objekt, das eingefügt werden können, muss es eine zugehörige ProgID Wert (ProgID ist eine Abkürzung für "programmatischen Kennung"). Dieser Wert besteht aus einem kurzen Namen, einen Typ und einen numerischen Wert (der numerische Wert ist oft ein Versions-Nummer): (8E27C92B-1264-101C-8A2F-040224009C02) \ ProgID @ = "MSCAL.Calendar.7" Ein Abschnitt der Registrierung wird mit diesem Namen angelegt (siehe den nächsten Eintrag), wo mehr Registry-Werte für dieses Objekt gespeichert werden: (8E27C92B-1264-101C-8A2F-040224009C02) \ Verb @ = "" Verben zeigen Arten von Maßnahmen, die das Objekt treffen kann. Immer fortlaufend numeriert in der Registrierung gibt es drei Komponenten Verb-Einträge, wie hier gezeigt: (8E27C92B-1264-101C-8A2F-040224009C02) \ Verb \ 0 @ = "& Edit, 0,2" Dieses Beispiel Verb, Bearbeiten, sind drei Dinge. Zunächst wird der Text in das Menü verwendet werden, und bearbeiten. Das & zeigt an, dass das Schreiben folgenden wird unterstrichen und als Hotkey Wert verwendet. Es gibt einen zweiten Abschnitt der Registrierung für das Kalender-Steuerelement 10,0 OLE-Objekt. Dieser Abschnitt, in HKEY_LOCAL_MACHINE \ Software \ Classes, heißt MSCAL.Calendar.7. In der MSCAL.Calendar Unterschlüssel, gibt es zwei mögliche Wert-Einträge. Man ist unten dargestellt: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar] @ = "Calendar Control 10.0" Der erste Wert Eintrag ist der Standardwert (@ =), dass der Name enthält ( "Calendar Control 10.0") im Insert-Liste der Dialogfeld Objekt einfügen verwendet. Ein zweiter Wert, der einige Objekte verwenden kann, ist EditFlags, die das Bearbeiten Fahnen, als Hex-Werte zum Ausdruck enthält. CLSID Der Unterschlüssel enthält das Objekt CLSID: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ CLSID] @ = "(8E27C92B-1264-101C-8A2F-040224009C02)" Wenn vorhanden, den nächsten Unterschlüssel (die mit dem Microsoft OLE DocObject Technologie arbeitet) können Informationen zu den Funktionen des OLE-Objekts enthalten: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar.7 \ DocObject] @ = "0" Für den Einsatz in Windows 2000 und Windows XP, den folgenden Eintrag wollten darauf hinweisen, das System, dass die Anwendung im Insert-Liste der Neues Objekt einfügen Dialogfeld aufgeführt werden: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ Insertable] @ = "" Das Protokoll Unterschlüssel ist für die Kompatibilität mit OLE-1 Container (Client) Anwendungen eingesetzt: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol] @ = "" Es ist ein Unterschlüssel in Protokoll, genannt StdFileEditing. Innerhalb StdFileEditing, gibt es eine Reihe von Elementen, wie hier gezeigt: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocol \ StdFileEditin g] @ = "" Der Standard-Eintrag in StdFileEditing ist eine leere Zeichenfolge. [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocol \ StdFileEditin g \ server] @ = "C: \ \ PROGRA ~ 1 \ MICROS ~ 2 \ \ Winword.exe" Die erste Teilschlüssel in StdFileEditing ist der Server Unterschlüssel. Inside-Server ist der Standard-Zeichenfolge mit dem voll qualifizierten Namen des Servers ausführbare Datei. (Das Calendar-Steuerelement nicht über diesen Eintrag, so habe ich den Eintrag für Word angezeigt.) Weil diese Zeichenfolge REG_SZ, verwenden Sie keine austauschbare Variablen, wie z. B.% SystemRoot%, in ihm. [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol \ StdFileEditing \ verb] @ = "" Die nächsten Unterschlüssel in StdFileEditing ist verb. Inside Verb werden ein oder mehrere nummerierten Unterschlüssel; Nummern beginnen mit 0 und sollten aufeinander folgen. Jedes Verb, dass der OLE-Anwendung verwendet, in einem Menü ausgewiesen werden, wie hier gezeigt: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol \ StdFileEditing \ verb \ 0] @ = "& Edit" Dieses Verb ist die Auswahl im Menü Bearbeiten. Der Text im Menü verwendet wird und bearbeiten. Das & zeigt an, dass das Schreiben folgenden wird unterstrichen und als Hotkey verwendet Schließlich Wert.,-A-Version ProgID erstellt wird. Selbst wenn das Steuerelement aktualisiert wird, wird dieser Eintrag nicht ändern: HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID \ (8E27C92B-1264-101C-8A2F-040224009C02) \ VersionIndependentProgId @ = "MSCAL.Calendar" Wie ProgID, legt diese dem Programm, ohne jede Version Referenzen. Ein Artikel vorgelegten Dessue Mathenes Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle. Wichtig: Dieser Artikel "OLE und dem Register" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.
|
|||||
| Online: 305 users browsing the articles directory |
|
|