OLE e il registroOLE e il registroWow, adesso siamo tornati al Registro di sistema. Che era un sacco di roba a coprire, solo per ottenere un handle dei fondamenti di OLE. Come ho detto, OLE lavora molto con il Registro di sistema. Quando uno registra ricorso stesso con OLE come un potenziale applicazione server, il processo di registrazione consiste nell'aggiungere un certo numero di iscrizioni nel Registro di sistema. Per le applicazioni OLE, ad esempio i controlli ActiveX, queste voci sono relativamente semplici e facili da seguire. Applicazioni più complesse OLE-take Microsoft Word come un esempio, sono centinaia di voci nel Registro di sistema e sono in genere di difficile comprensione. Vediamo un semplice controllo OLE, il controllo ActiveX chiamato Calendar Control 10.0, che è un'applicazione disponibile da Microsoft ( come parte di Office XP) che permette agli utenti di inserire un calendario nel loro documento. Sì, Controllo calendario 10.0 è integrabile in un documento Word (potete anche incorporare in molti altri tipi di documenti). Questo utilizzo, che è tipico, è molto utile: pensate a quante volte avete avuto bisogno di inserire un calendario in un documento. Check out Figura 6.4 per visualizzare Word e Controllo calendario 10,0 a lavorare insieme. Nel documento che ho usato per questa figura, in realtà ho usato la data in cui stavo scrivendo questo tutorial. Dimensioni e la posizione ...
Calendario di controllo 10,0 permette di ridimensionare facile. Tuttavia, alcune versioni di controlli ActiveX non funzionano come bene quando incorporato in Word. Essi possono creare una finestra sottostante che rende ridimensionamento finestra principale del controllo difficile. A causa di questo, il controllo embedded tende a ridimensionare la sua visualizzazione in modi inaspettati. Questo comportamento non è accettabile, potrei aggiungere. Se si incorpora un oggetto che è difficile da ridimensionare, provate questo: in primo luogo ridimensionare il controllo incriminato per renderlo più piccoli, e quindi rapidamente, prima che Word è possibile ridimensionare clic sulla finestra di base sottostante. Ciò blocca la finestra di base, in modo è possibile ridimensionare la finestra del controllo a seconda dei casi. Un semplice doppio clic ovunque all'interno della finestra di base ripristina la visualizzazione normale. Controllo calendario di Microsoft 10,0 permette un sacco di interazione con altri documenti e applicazioni, è possibile impostare il mese e l'anno nel modo desiderato utilizzando il menu a discesa caselle di riepilogo. Tuttavia, perché Desideri, un utente, vogliono l'interazione di altri? Facile! Un esempio classico è quello di incorporare Controllo calendario in una pagina Web, un documento la cui applicazione è il browser web. Un altro esempio è quello di incorporare Controllo calendario in un messaggio di posta elettronica. Ding! Ha la luce andarsene? E-mail a tutti la tua squadra e includere nel messaggio i dettagli di un incontro virtuale con il calendario che mostra la data appropriata. È possibile modificare le proprietà degli oggetti incorporati. Di solito ci sono due modi per impostare le proprietà dell'oggetto. Il primo è quello di utilizzare l'interfaccia di programmazione (geniale-vedi Figura 6.5). È inoltre possibile utilizzare oggetti dell'oggetto finestra di dialogo Proprietà (vedi Figura 6.6). L'interfaccia di programmazione consente di accedere a tutte le possibili proprietà, mentre la finestra di dialogo Proprietà oggetto consente la modifica rapida e semplice delle proprietà dell'oggetto selezionato. Quindi, abbiamo un calendario di Microsoft Control 10,0 applicazione server OLE implementato come un controllo ActiveX. Vediamo le voci del Registro di sistema per il controllo Calendar. Primo sono le voci in HKEY_LOCAL_MACHINE \ Software \ Classes \ CLSID. Queste voci definiscono gran parte delle interfacce OLE: (8E27C92B-1264-101C-8A2F-040224009C02)] @ = "Calendar Control 10.0" Le linee di cui sopra sono l'hive (HKEY_LOCAL_MACHINE), chiave (Software), e le sottochiavi (Classes \ CLSID), seguita da tutti i valori che queste chiavi potrebbero contenere. Un valore in forma di @ = dati indica il valore di default di entrata si trovano in ogni chiave di registro e sottochiave. Nota: Il Windows XP CLSID è identica di Windows NT 2000 CLSID. Sorpreso? Non essere, come la CLSID proviene dalla domanda, non il sistema operativo. Inoltre, Controllo calendario 10,0 probabilmente ha lo stesso CLSID di Controllo calendario 9.0. Sottochiave La prima contiene il CLSID per il controllo di calendario 10,0 server. Questo CLSID sembra essere 8E27C92B-1264-101C-8A2F-040224009C02, anche se altre versioni di Controllo calendario (se fossero sostanzialmente diverso) potrebbe avere CLSID diverso. La variabile di dati predefinito contiene una stringa che descrive il programma. Si noti che questa stringa si trova anche nella seconda sezione del Registro di sistema HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Mscal.Calendar.7, descritto di seguito. (8E27C92B-1264-101C-8A2F-040224009C02) \ CLSID @ = "8E27C92B-1264-101C-8A2F-040224009C02" Windows utilizza la sottochiave AuxUserType a breve, i nomi leggibili per l'applicazione. Menus, entrambi regolari e pop-up, utilizzare questi nomi brevi. Microsoft consiglia che i nomi in AuxUserType essere limitata a non più di 15 caratteri. La voce, InprocHandler32, dice al sistema che in-gestore di processo sarà utilizzato. (8E27C92B-1264-101C-8A2F-040224009C02) \ InprocServer32 @ = "C: \ Program Files \ Microsoft Office \ Office10 \ MSCal.ocx» Molte applicazioni utilizzano InprocServer.dll come loro in-gestore di processo, anche se questo non è un requisito. Comunemente usato in un altro gestore di processo è MAPI32.DLL, che viene utilizzato da molti mail-enabled oggetti: previsto per l'utilizzo con Windows XP, la voce Insertable indica al sistema che la domanda è elencata nella lista inserimento dell'inserto New Object finestra di dialogo: (8E27C92B-1264-101C-8A2F-040224009C02) \ Insertable @ = "" La voce successiva contiene l'applicazione pienamente qualificato percorso e il nome del file eseguibile. Questa stringa non è un REG_EXPAND_SZ, quindi non utilizzare le variabili di sostituzione: (8E27C92B-1264-101C-8A2F-040224009C02) \ MiscStatus @ = "131473" Nota: In MiscStatus, si combinano con i valori binari o aggiunta bit per bit, il modo più semplice per fare un bit è semplicemente aggiungere i valori. Ad esempio, un applicazione con il flag: "L'oggetto imposta il sito primo client" (131.072), "oggetto Attiva quando è visibile" (256) "L'oggetto è Inside Out" (128) "L'oggetto non può link dentro "(16), e" Quando il ridimensionamento, l'oggetto è ricomposta "(1) per memorizzare un valore di (131.072 + 256 + 128 + 16 + 1) = 131.473 in MiscStatus, che è esattamente il valore che è nel nostro calendario MiscStatus oggetto di controllo. In alcune voci, la sottochiave stampabile denota un oggetto OLE che supporta il metodo iPrint (stampa non si trova in tutti gli oggetti solo quelli che sono stampabili con il metodo iPrint): (8E27C92B-1264-101C-8A2F-040224009C02) \ stampabile @ = "" Per un oggetto che può essere inserita, ci deve essere un valore ProgID associato (ProgID è l'abbreviazione di "identificatore programmatico"). Questo valore è costituito da un nome breve, un tipo, e un valore numerico (il valore numerico è spesso un numero di versione): (8E27C92B-1264-101C-8A2F-040224009C02) \ ProgID @ = "Mscal.Calendar.7" Una sezione del Registro di sistema è stato creato con questo nome (si veda la voce successiva), dove i valori del Registro di sistema per maggiori informazioni saranno conservate per questo oggetto: (8E27C92B-1264-101C-8A2F-040224009C02) \ Verb @ = "" Verbi indicano i tipi di azione che l'oggetto può prendere. Sempre numerati progressivamente nel Registro di sistema, ci sono tre componenti per le voci del verbo, come illustrato di seguito: (8E27C92B-1264-101C-8A2F-040224009C02) \ Verb \ 0 @ = "& Edit, 0,2" Questo verbo campione, Modifica, mostra tre cose. In primo luogo, il testo utilizzato nel menu, e Modifica. Il & indica che la seguente lettera, che sarà sottolineato e utilizzato come un valore hotkey. Vi è una seconda sezione del Registro di sistema per il controllo calendario 10,0 oggetto OLE. In questa sezione, in HKEY_LOCAL_MACHINE \ Software \ Classes, è chiamato Mscal.Calendar.7. Nella sottochiave MSCAL.Calendar, ci sono due voci di valore possibile. Si è mostrato di seguito: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar] @ = "Calendar Control 10.0" La prima voce di valore è il valore di default (@ =) che contiene il nome ( "Controllo calendario 10.0") utilizzato nella lista inserimento della finestra di dialogo Inserisci oggetto. Un valore che secondo alcuni oggetti possono utilizzare è EditFlags, che contiene la modifica bandiere, espresso in valori esadecimali. La sottochiave CLSID contiene CLSID dell'oggetto: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ CLSID] @ = "(8E27C92B-1264-101C-8A2F-040224009C02)" Quando presente, la sottochiave successiva (che lavora con la tecnologia Microsoft OLE DocObject) possono contenere informazioni sulle funzionalità dell'oggetto OLE: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Mscal.Calendar.7 \ DocObject] @ = "0" Destinati ad essere utilizzati in Windows 2000 e Windows XP, la seguente voce indica al sistema che la domanda dovrebbe essere elencato nella lista inserimento dell'inserto Nuova finestra di dialogo Oggetto: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ Insertable] @ = "" La sottochiave protocollo è utilizzato per compatibilità con OLE 1 contenitore (client) le domande: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol] @ = "" C'è una sottochiave nel protocollo, chiamato StdFileEditing. All'interno StdFileEditing, ci sono una serie di elementi, come illustrato di seguito: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocol \ StdFileEditin g] @ = "" La voce di default in StdFileEditing è una stringa vuota. [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.6 \ protocol \ StdFileEditin g \ server] @ = "C: \ \ PROGRA ~ 1 \ \ MICROS ~ 2 \ \ winword.exe" La sottochiave primo StdFileEditing è la sottochiave server. All'interno del server di default è la stringa contenente il nome completo del file server eseguibile. (Il controllo Calendar non hanno questa voce, così ho mostrato la voce per Word.) Perché questa stringa è REG_SZ, non usare le variabili possibili sostituti, come ad esempio% SystemRoot%, in essa. [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol \ StdFileEditing \ verb] @ = "" La sottochiave prossimo StdFileEditing è verbo. All'interno verbo sono uno o più sottochiavi numerati; i numeri iniziano con 0 e devono essere consecutive. Ogni verbo che l'applicazione OLE utilizza in un menu saranno incluse, come illustrato di seguito: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ MSCAL.Calendar \ protocol \ StdFileEditing \ verb \ 0] @ = "& Modifica" Questo verbo è la selezione dal menu Modifica. Il testo utilizzato nel menu & Edit. Il & indica che la seguente lettera, che sarà sottolineato e utilizzato come un valore hotkey. Infine, un ProgID indipendente dalla versione viene creato. Anche quando il controllo viene aggiornata, questa voce non cambierà: HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID \ (8E27C92B-1264-101C-8A2F-040224009C02) \ VersionIndependentProgID @ = "MSCAL.Calendar" Come ProgID, che identifica il programma, senza riferimenti versione. un articolo presentato dalla Mathenes Dessue Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni. Importante: Questo articolo "OLE e il Registro di sistema" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.
|
|||||
| Online: 249 users browsing the articles directory |
|
|