2010-06-10 11 views
7

Szukam sposobu na odczyt właściwości dokumentu w języku C#. Słyszałem o dsofile.dll, ale wygląda na to, że jest starym opakowaniem COM i zastanawiałem się, czy jest coś bardziej nowoczesnego dla platformy .NET/C#. To, co aktualnie czytam, nie jest dokumentem biurowym, ale plikiem SolidS .SLDDRW o niestandardowych właściwościach. Możesz je przeglądać i zmieniać w Eksploratorze Windows, klikając plik prawym przyciskiem myszy i przechodząc do okna Właściwości, na karcie Niestandardowe.Jak odczytać niestandardowe właściwości pliku w C#

Ktoś wie, jak odczytać te niestandardowe właściwości w C#/.NET 3.5?

Dzięki!

Odpowiedz

6

System SolidWorks wykorzystuje API OLE Właściwości dokumentu. Jak już wspomniano, Microsoft oferuje próbki, DSOFile.dll, która pozwala na dostęp do tych właściwości:

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

SolidWorks API ma również solidne wsparcie dla tych właściwości, ale trzeba załadować Solidworks używać API, więc nie zawsze jest to idealne rozwiązanie. Zauważ, że jeśli plik jest już otwarty w Solidworks, nie będziesz mógł edytować właściwości niestandardowych za pomocą DSOfile.dll.

Prostą odpowiedzią na pytanie jest brak zaktualizowanego interfejsu API dla tych właściwości; podobnie jak wiele innych starszych API (np. DDE) nadal pojawia się w środowiskach produkcyjnych, DSOFile odpowiada potrzebom i szczerze mówiąc nie byłoby całkowicie odpowiednie do aktualizacji ze względu na dość niskopoziomowy charakter. Jednak DSOFile jest w stanie obsłużyć twoje potrzeby i działa całkiem nieźle dzięki .NET. Źródło jest dostępne i może być skompilowane do wersji 64-bitowej, jeśli jest to problem dla użytkowników; oznacza to, że potrzebna jest osobna instalacja 64-bitowa, ale jest to niewielka cena do zapłacenia (a ponadto SolidWorks nie jest na początku przyjazny dla wszystkich).

+1

Można znaleźć 64-bitową skompilowaną kopię 'DSOFile.dll' [tutaj] (http://www.keysolutions.com /blogs/kenyee.nsf/d6plinks/KKYE-79KRU6). Wydaje się również możliwe skompilowanie 32-bitowej wersji dla systemu 64-bitowego z użyciem 'regsvr32.exe' w' C: \ Windows \ SysWOW64' zamiast tego z 'C: \ Windows \ system32'. – Wingman4l7

Powiązane problemy