PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : WebDAV + Windows 2000 Pro.


DanDanger
24.09.2004, 18:25
Hallo,

ich habe ein kleines Problem mit WebDAV unter Windows 2000 Professional :
Der WebDAV-Server läuft einwandfrei, und ich kann auch Dateien per "Drag & Drop" aus dem Explorer heraus kopieren/umbenennen/etc.

Mein Problem ist nur : Wenn ich auf eine Datei im Explorer Doppelklicke, die sich im WebDAV-Ordner befindet, wird nicht die damit Verknüpfte Anwendung gestartet; Es tut sich übherhaupt nichts.

Ausserdem ist es nicht möglich, eine Datei DIREKT in einen WebDAV Ordner zu speichern (Ich muss die Datei immer lokal speichern, und dann per Windows-Explorer manuell hochladen).

Seltsam ist nur : Microsoft Office 2000 ist zu all dem in der Lage (Öffnen von Office-Dateien per Doppleklick aus dem WebDAV Ordner, speichern direkt in WebDAV Ordern, etc.) !?

Meine Frage : Was macht den Office 2000 anders als meine Anwendung,
wenn ich z.B. mit SHFileOperations(...) eine Datei kopiere ????

Neugierige Grüsse
DanDanger


Diabolo
26.09.2004, 15:29
Vielleicht verwendet es ShellExecute(), mit dem auch der zugehörige Handler für ein File mitgestartet wird.

Bin mir aber nicht sicher, ist nur einen Versuch wert.

Scavi
26.09.2004, 18:29
Vielleicht nutzt Office eine WebDavprotokollerweiterung?!

DanDanger
26.09.2004, 20:38
Hi,

@Diabolo :
Hmm, ein Versuch ist's bestimmt Wert. Wie komme ich denn an das HANDLE von einer Datei heran, auf die der User Doppelgeklickt hat ?
Die Verknüpfte Anwendung wird ja nicht gestartet, wie kriege ich den Doppelklick dann mit ??

@Scavi :
Das mit der WebDavprotokollerweiterung ist irgendwie zu befürchten :(
Allerdings würde mich auch da interessieren, wie Office den Doppelklick "merkt",
und (was noch viel interessanter ist) wie es an den Benutzernamen und das Passwort für den WebDAV-Ordner kommt (beides ist wohl irgendwo in der Registry gespeichert)......


Ich Versuch das Problem jetzt folgendermassen zu umgehen :
Da das "Speichern" von Dateien ja mit dem IE per "Drag & Drop" tadellos funktioniert, veruche ich nun per
IWebBrowser2 - Interface (in der MSDN mal nach "IWebBrowser2" Suchen)
ein "Unsichtbares"-Explorer-Fenster zu erstellen.
Per
IWebBrowser2->Navigate2(FileName, NULL, NULL, NULL, NULL) ;
Navigiere ich dann in das WebDAV-Verzeichniss, und löse dort
per
IWebBrowser2->ExecWB(OLECMD_PASTE, 0, NULL, NULL) ;
eine Paste-Nachricht aus.

Das problem ist nur :
Das erstellen des IE Web-Browser-Fensters, und das Navigieren in's WebDAV-Verzeichniss klappt schon ganz gut, aber irgendwie nimmt er die "PASTE" Nachricht nicht an (obwohl in der Zwischenablage die "gültigen" Dateien liegen).
Auch ein
SendMessage(IWebBrowser2->get_HWND(), WM_PASTE, 0, 0) ;
bringt leider nichts..... :confused: :(

Hat irgendjemand noch ne' Idee (oder einen Alternativ-Vorschlag) ???

Neugierige Grüsse

DanDanger

Diabolo
29.09.2004, 11:27
Danger, ich muss passen. Sorry. :(