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

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.043 c
3-1090693299
Вовчик
2004-07-24 22:21
2004.08.22
Выборочные поля


14-1091284023
Викусик
2004-07-31 18:27
2004.08.22
А вопрос у меня такой...


4-1089703480
alik-os
2004-07-13 11:24
2004.08.22
Remote Administator


14-1091366437
Dima
2004-08-01 17:20
2004.08.22
Впрос по железу


4-1089291960
дурень
2004-07-08 17:06
2004.08.22
изменения на диске включая подкоталоги.





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