Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.21;
Скачать: CL | DM;

Вниз

Как открыть веб-папку программно?   Найти похожие ветки 

 
clickmaker ©   (2007-07-13 15:06) [0]

Ту что с SharePoint, Web DAV. В ИЕ она открывается путем установки флажка в диалоге Open, либо через скрипт со спаном специального вида.. а вот программно как?
в WebBrowser.Navigate параметров не нашел...


 
Lacmus ©   (2007-07-27 16:22) [1]

EXPLORER.EXE ,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{BDEADF00-C265-11d0-BCED-00A0C90AB50F}\путь папки


 
clickmaker ©   (2007-07-27 16:31) [2]


> [1] Lacmus ©   (27.07.07 16:22)

ого! про гуиды была у меня мысля, но до такого не допер
Спасибо


 
clickmaker ©   (2007-07-27 16:45) [3]

а нет... рано радовался.
Так работает только, если есть такая папка в NetHood, т.е. либо открывали ее уже, либо надо создавать сначала


 
Lacmus ©   (2007-07-27 17:53) [4]

Есть предположение, что Internet Explorer создает при открытии папку в NetHood


 
clickmaker ©   (2007-07-30 13:39) [5]


> [4] Lacmus ©   (27.07.07 17:53)
> Есть предположение, что Internet Explorer создает

создает
но только после успешного логина на веб-шару
Должен же быть какой-то программный способ создания ярлыка на веб-папку, аналог мастера Add network place...


 
Rouse_ ©   (2007-07-31 13:00) [6]

My Network Places?
так этож ярлыки:

program GetNetHoodData;

{$APPTYPE CONSOLE}

uses
 Windows, SysUtils, ShlObj, ActiveX, ComObj;

const
 CSIDL_NETHOOD = $13;

Function GetFileNamefromLink(LinkFileName: String): String;
var
 MyObject: IUnknown;
 FileInfo: TWin32FINDDATA;
 WidePath: array [0..MAX_PATH - 1] of WideChar;
 Buff: array [0..MAX_PATH - 1] of Char;
begin
 MyObject := CreateComObject(CLSID_ShellLink);
 StringToWideChar(LinkFileName, WidePath, SizeOf(WidePath));
 (MyObject as IPersistFile).Load(WidePath, STGM_READ);
 (MyObject as IShellLink).GetPath(Buff, MAX_PATH, FileInfo, SLGP_UNCPRIORITY);
 Result := Buff ;
end;

var
 Path: ShortString;
 SR: TSearchRec;
begin
 CoInitialize(nil);
 SetLength(Path, 255);
 if SHGetSpecialFolderPath(0, @Path[1],
   CSIDL_NETHOOD, False) then
 begin
   Path := IncludeTrailingPathDelimiter(String(PChar(@Path[1])));
   FindFirst(Path + "*.*", faAnyFile, SR);
   repeat
     if DirectoryExists(Path + SR.Name) then
       Writeln(SR.Name + " : " +
         GetFileNamefromLink(Path + SR.Name));
   until FindNext(SR) <> 0;
 end;
 Readln;
end.


 
clickmaker ©   (2007-07-31 13:37) [7]

сделал через создание ярлыка на папку в nethood с последующим открытием.


 
Lacmus ©   (2007-07-31 16:39) [8]

>clickmaker ©   (30.07.07 13:39) [5]



uses
 ActiveX, ComObj, ShlObj;

const
 csWebFolders = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{BDEADF00-C265-11d0-BCED-00A0C90AB50F}";

procedure CreateWebFolder(aParent: HWnd; const aWebFolder: WideString);
var
 BindCtx: IBindCtx;
 BindOpts: BIND_OPTS;
 dwFlags, dwNumChars: DWord;
 DesktopFolder: IShellFolder;
 MAlloc: IMAlloc;
 WebFolderPIDL: PItemIDList;
 wsPath: WideString;
begin
 dwFlags := 0;
 OleCheck(SHGetDesktopFolder(DesktopFolder));
 OleCheck(CreateBindCtx(0, BindCtx));
 FillChar(BindOpts, SizeOf(BindOpts), 0);
 BindOpts.cbStruct := SizeOf(BindOpts);
 BindOpts.grfMode  := STGM_CREATE;
 OleCheck(BindCtx.SetBindOptions(BindOpts));
 wsPath := csWebFolders + "\" + aWebFolder;
 OleCheck(DesktopFolder.ParseDisplayName(aParent, Pointer(BindCtx), PWideChar(wsPath),
          dwNumChars, WebFolderPIDL, dwFlags));
 OleCheck(SHGetMAlloc(MAlloc));
 MAlloc.Free(WebFolderPIDL)
end;


 
clickmaker ©   (2007-08-01 10:56) [9]


> [8] Lacmus ©   (31.07.07 16:39)

да, это более изящный метод, чем создание ярлыка вручную )
спасибо еще раз


 
$OOFFOO   (2007-08-10 09:35) [10]

ого! а мастера тоже задают вопросы?!



Страницы: 1 вся ветка

Текущий архив: 2007.10.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
15-1190294866
Azize
2007-09-20 17:27
2007.10.21
Новая среда разработки от CodeGear


11-1173903627
VVU
2007-03-14 23:20
2007.10.21
Прямоугольник текста в StrigGrid


15-1190466131
mikezubr
2007-09-22 17:02
2007.10.21
{$E .XXXXXXX}


15-1190435954
vasIZmax
2007-09-22 08:39
2007.10.21
Пятиминутный досуг


2-1191147505
Nikfel
2007-09-30 14:18
2007.10.21
Как получить список дисков с обозначениями.