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

Вниз

Как открыть стандартную панельку со свойствами файла-директории?   Найти похожие ветки 

 
Buster ©   (2004-07-06 18:36) [0]

Есть один рабочий вариант

var
 hDLL:HWND;
 s : PWideChar;
 ss : String;
 SHObjectProperties : function(hwndOwner : HWND; uFlags : Integer; lpstrName, lpstrParameters : LPWSTR) : boolean; stdcall;
begin
 s:=nil;
 hDLL :=LoadLibrary("shell32.dll") ;
 TRY
   if hDll>32 then
   begin
     ss:=Grid.Cells[PATHFILE_FIELD,Grid.Row]+Grid.Cells[NAMEFILE_FIELD,Grid.Row];
     s:=AllocMem(2*Length(ss)+2);
     s:=StringToWideChar(ss,s,2*Length(ss));
     SHObjectProperties:=GetProcAddress(hDll,PChar(178));
     SHObjectProperties(handle,2,s,nil);
   end;
 FINALLY
   if s<>nil then
     FreeMem(s);
   if hDll>32 then
     FreeLibrary(hDLL);
 END;


НО это работает только под 2к, а нужно еще и в 98 и в NT сделать. Подсожите, где копать?
Спасибо.


 
GuAV ©   (2004-07-06 21:24) [1]

function SHObjectProperties(hwndOwner: HWND;
 uFlags: Integer; lpstrName,
 lpstrParameters: PChar): LongBool; stdcall;
   external shell32 index 178;

procedure Properties(const FileName: string);
begin
 SHObjectProperties(Application.Handle, 2,
   PChar(FileName), nil);
end;


 
Buster ©   (2004-07-07 16:41) [2]


> GuAV


Фактически это тоже самое. Не работают оба варианта под Win9x


 
Игорь Шевченко ©   (2004-07-07 17:11) [3]


> index 178


> Не работают оба варианта под Win9x


А там index другой, скорее всего.


 
Buster ©   (2004-07-07 17:58) [4]

Как бы этот индекс надыбать


 
jack128 ©   (2004-07-07 18:13) [5]


> Как бы этот индекс надыбать
а по имени не судьба импортировать?


 
Buster ©   (2004-07-08 10:06) [6]


> jack128


это функция не документирована, везде указываеться ее индекс 178 - народ говорит работает в 98, но у меня нет, а как раз в НТ работает


 
jack128 ©   (2004-07-08 14:17) [7]


> это функция не документирована
Да не уж то? А как же GuAV о ней узнал? Из головы придумал?

Hint: в WinSDK описаны не все WinAPI, а вот в msdn есть все..


 
Buster ©   (2004-07-08 15:32) [8]


> Hint: в WinSDK описаны не все WinAPI, а вот в msdn есть
> все..


в МСДН она вроде как появилась, только в последних версиях


 
Almaz ©   (2004-07-08 15:58) [9]

Функция уже давно как документированна:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shobjectprop erties.asp

Удачи.


 
Buster ©   (2004-07-09 13:20) [10]

Function Information

Minimum DLL Version shell32.dll version 5.0 or later
Custom Implementation No
Header shlobj.h
Import library shell32.lib
Minimum operating systems Windows 2000

Т.е. получаеться, что в 98 она и не должна работать, но как-то же там такое есть.



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
14-1091442179
REP
2004-08-02 14:22
2004.08.22
Что можно подарить ребенку на ДР


1-1091628699
Moss
2004-08-04 18:11
2004.08.22
Распознавание символов


3-1090846354
AleXqwq
2004-07-26 16:52
2004.08.22
ADO+MySql


1-1091616994
Гыук
2004-08-04 14:56
2004.08.22
Строки, файлы... оптимизировать?


3-1091016335
MORA
2004-07-28 16:05
2004.08.22
ищу цивилизованный метод решения проблемы!