2010-06-10 10 views
7

Sto cercando un modo per leggere le proprietà del documento in C#. Ho sentito parlare di dsofile.dll, ma sembra un vecchio wrapper COM e mi chiedevo se c'è qualcosa di più moderno per .NET framework/C#. Quello che sto effettivamente leggendo non è un file di documento di Office, ma un file Solidworks .SLDDRW, che ha proprietà personalizzate. È possibile visualizzarli e modificarli in Esplora risorse facendo clic con il pulsante destro del mouse sul file e andando alla finestra Proprietà, scheda Personalizza.Come leggere le proprietà del file personalizzato in C#

Qualcuno sa come leggere queste proprietà personalizzate in C#/.NET 3.5?

Grazie!

risposta

6

Il sistema SolidWorks utilizza l'API OLE Proprietà documento. Come hai sottolineato, Microsoft offre un campione, Dsofile.dll, che permette di accedere a queste proprietà:

http://support.microsoft.com/kb/224351

L'API di SolidWorks ha anche il supporto robusto per queste proprietà, ma si deve caricare Solidworks utilizzare l'API, quindi non è sempre la soluzione ideale. Si noti che se il file è già aperto in Solidworks, tuttavia, non sarà possibile modificare le proprietà personalizzate utilizzando DSOfile.dll.

La semplice risposta alla tua domanda è che non esiste un'API aggiornata per queste proprietà; allo stesso modo molte altre API legacy (DDE, ad esempio) continuano ad apparire in ambienti di produzione, DSOFile soddisfa le necessità e onestamente non sarebbe del tutto appropriato per l'aggiornamento a causa della sua natura piuttosto bassa. DSOFile, tuttavia, è perfettamente in grado di gestire le tue esigenze e funziona in modo abbastanza pulito con .NET. L'origine è disponibile e può essere compilata a 64 bit se questo è un problema per i tuoi utenti; Significa che hai bisogno di un'installazione separata a 64 bit, ma questo è un piccolo prezzo da pagare (oltre a SolidWorks non è esattamente adatto ai test di verifica incrociati per cominciare).

+1

È possibile trovare una copia compilata a 64 bit di 'DSOFile.dll' [qui] (http://www.keysolutions.com /blogs/kenyee.nsf/d6plinks/KKYE-79KRU6). Sembra anche possibile compilare la versione a 32 bit per un sistema a 64 bit usando 'regsvr32.exe' in' C: \ Windows \ SysWOW64' invece di quello in 'C: \ Windows \ system32'. – Wingman4l7

Problemi correlati