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

Вниз

Folder.   Найти похожие ветки 

 
ASoft   (2004-12-10 12:05) [0]

Уважаемые мастера!
Не сочтите за труд, подскажите функцию открытия Change Folder в Windows.
До этого, я юзал компонент Disk Control.
Спасибо.


 
Cosinus ©   (2004-12-10 12:15) [1]

Если я правильно понял вопрос, то...
uses
 ShellAPI, ShlObj;
...

procedure TForm1.Button1Click(Sender: TObject);
var
 TitleName : string;
 lpItemID : PItemIDList;
 BrowseInfo : TBrowseInfo;
 DisplayName : array[0..MAX_PATH] of char;
 TempPath : array[0..MAX_PATH] of char;
begin
 FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
 BrowseInfo.hwndOwner := Form1.Handle;
 BrowseInfo.pszDisplayName := @DisplayName;
 TitleName := "Please specify a directory";
 BrowseInfo.lpszTitle := PChar(TitleName);
 BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
 lpItemID := SHBrowseForFolder(BrowseInfo);
 if lpItemId <> nil then
 begin
   SHGetPathFromIDList(lpItemID, TempPath);
   ShowMessage(TempPath);
   GlobalFreePtr(lpItemID);
 end;
end;



 
ASoft   (2004-12-10 12:39) [2]

Cosinus ©
 Я как-то раз пробовал SHBrowseForFolder(), но что-то Delphi ругалась, щас не помню. Спасибо за инфу


 
DiamondShark ©   (2004-12-10 12:53) [3]


> GlobalFreePtr(lpItemID);

Ни разу не так.

var
 ...
 Malloc: IMalloc;
begin
 ...
 SHGetMalloc(Malloc);
 Malloc.Free(lpItemID);


 
VMcL ©   (2004-12-10 12:58) [4]

MSDN, в принципе говорит, что:
>SHGetMalloc Function

--------------------------------------------------------------------------------

Not currently supported.

Remarks

This function should no longer be used. Use the CoTaskMemFree and CoTaskMemAlloc functions in its place.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1102619614
AlexHawk
2004-12-09 22:13
2004.12.26
MEMO ограничения в строке


3-1101654116
Nikolay_2
2004-11-28 18:01
2004.12.26
MS SQL


8-1096480482
Riddler
2004-09-29 21:54
2004.12.26
Как проиграть midi файл


3-1101298230
keymaster
2004-11-24 15:10
2004.12.26
Client-Servet виснет


4-1097473620
Rentgen
2004-10-11 09:47
2004.12.26
Включить компьютер.