Hjælp til "SHBrowseForFolder"
HejProblem:
Jeg kan ikke angive en UNC-path som "initial folder"(default stien når dialogboxen vises). Hvis jeg mapper et drev er der ingen problemmer???
Er det ikke muligt at angive en UNC-path?
Jeg har prøvet forskellige metoder uden held. Her er noget kode jeg arbejder på lige nu:
-----------------------------------------------------------
function BrowseForFolderCallBack(Wnd: HWND; uMsg: UINT;
lParam, lpData: LPARAM): Integer stdcall;
begin
if uMsg = BFFM_INITIALIZED then
SendMessage(Wnd,BFFM_SETSELECTION, 1,
Integer(@lg_StartFolder[1]));
result := 0;
end;
//////////////////////////////////////////////////////////////////////////
// This function allows the user to browse for a folder
//
// Arguments:-
// browseTitle : The title to display on the browse dialog.
// initialFolder : Optional argument. Use to specify the folder initially
// selected when the dialog opens.
//
// Returns: The empty string if no folder was selected (i.e. if the user
// clicked cancel), otherwise the full folder path.
//////////////////////////////////////////////////////////////////////////
function BrowseForFolder(const browseTitle: String;
const initialFolder: String =''): String;
var
browse_info: TBrowseInfo;
folder: array[0..MAX_PATH] of char;
find_context: PItemIDList;
begin
FillChar(browse_info,SizeOf(browse_info),#0);
lg_StartFolder := initialFolder;
browse_info.pszDisplayName := @folder[0];
browse_info.lpszTitle := PChar(browseTitle);
browse_info.ulFlags := BIF_RETURNONLYFSDIRS;
browse_info.lpfn := BrowseForFolderCallBack;
find_context := SHBrowseForFolder(browse_info);
if Assigned(find_context) then
begin
if SHGetPathFromIDList(find_context,folder) then
result := folder
else
result := '';
end
else
result := '';
end;
-----------------------------------------------------------
På forhånd tak...