Главная страница
    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.47 MB
Время: 0.04 c
2-1191237333
matt
2007-10-01 15:15
2007.10.21
Ini-файлы


15-1190281655
Flikik
2007-09-20 13:47
2007.10.21
Delphi


4-1176883424
evgenij_
2007-04-18 12:03
2007.10.21
Stay on Top


1-1186483022
OlegM
2007-08-07 14:37
2007.10.21
Незакрываються динамически созданные Panel


2-1191036769
Arkadiy
2007-09-29 07:32
2007.10.21
числа в строковом поле





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский