Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.039 c
2-1190724118
alles
2007-09-25 16:41
2007.10.21
Как правильно использовать TServerSocket?


1-1186312251
fd979
2007-08-05 15:10
2007.10.21
ТЕlSideBar


2-1190912375
mfender
2007-09-27 20:59
2007.10.21
Запись TList в файл


1-1186488804
tytus
2007-08-07 16:13
2007.10.21
FastReport 4.1.8 как выбрать кисть для MemoView?


3-1181812956
Antoneiro
2007-06-14 13:22
2007.10.21
DATASET в EXCEL/XML и обратно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский