Главная страница
    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.46 MB
Время: 0.039 c
14-1091345889
Protoss
2004-08-01 11:38
2004.08.22
Просто интересно


1-1091484317
denkop
2004-08-03 02:05
2004.08.22
"Правильное" завершение работы программы


14-1091433130
peypivo
2004-08-02 11:52
2004.08.22
mp3 бесплатно


14-1091621952
ArMellon
2004-08-04 16:19
2004.08.22
Вин ХР Интернет через общий доступ...


1-1091809567
Niakris
2004-08-06 20:26
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский