Wenn ein IE-Benutzer auf den Link einer Datei in SharePoint klickt (und der Benutzer "schreibgeschützten" Zugriff auswählt), wird die Datei in Temporäre Internetdateien kopiert, meine Anwendung wird geöffnet und der Dateiname als Parameter übergeben. Ich versuche, eine "Auschecken" -Schaltfläche in meiner App zu implementieren, sodass ein Benutzer vom Nur-Lesen-Modus zum Auschecken- und Bearbeiten-Modus wechseln kann. Ich habe keine Möglichkeit gefunden, die SharePoint-URL für die Datei zu lernen. Beim Auschecken und Bearbeiten ist das kein Problem: Es gibt einen Registrierungseintrag, der die Datei auf meinem System der URL in SharePoint zuordnet. Ich habe so etwas für schreibgeschützte Dateien nicht gefunden.Temporäre Internetdatei (von SharePoint über IE gelesen). Wie finde ich die URL?
EDIT: Es gibt eine URL-Spalte in Windows Explorer verfügbar, aber wenn ich diese Spalte anzeigen (im Explorer), sind alle Werte leer. Ich kann auch keinen Datei-Information-API-Aufruf finden, der diesen Wert für mich zurückgibt.
UPDATE: Ich fand einige vielversprechende Aufrufe in der wininet.lib: FindFirstUrlCacheEntryEx (und "nächste") zusammen mit FindFirstUrlCacheGroup (und nächste). Sie schienen keine Daten zurückzugeben, und von dem, was ich lese, geben diese nur meine Anwendung der Wininet API Calls Cache - nicht I.E.'s.
Ich habe auch versucht, durch die Liste der COM-Aufrufe, die IE in meine App gemacht, wenn die Datei geöffnet wurde, um zu sehen, welche Schnittstellen es sah, wenn ich unterstützte. Eine, die vielversprechend aussah, war die IMonikerProp-Schnittstelle, die, als ich sie implementierte, aufgerufen wurde ... aber sie lieferte mir nur die MIME-Typ-Eigenschaft, die Classid meiner App und das TrustedDownload-Flag.
Ich habe die Kasse aus dem Fall von SharePoint behandelt; Es gibt Registrierungseinträge, die den lokalen Dateinamen der ausgecheckten URL unter HKEY_CURRENT_USER zuordnen. Ich versuche, den Fall zu öffnen, die Datei ohne Kasse zu öffnen, und dann zu entscheiden, die Datei aus der App heraus zu überprüfen. MS Word tut dies – Steve
ItemCheckedOut und ItemCheckingOut sind die einzigen Ereignisse, die ich finden kann, sie werden definitiv nicht ausgelöst, wenn ein Element als schreibgeschützt angesehen wird? Es fühlt sich so an, als müssten sie, denn laut dem Link, den ich gerade hinzugefügt habe, starten Word/Excel usw. ein ActiveX-Steuerelement, um diese Informationen zu speichern. –