Главная страница
    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.036 c
3-1091002043
Wolfram
2004-07-28 12:07
2004.08.22
Проблемы при переходе с Paradox на Access


3-1090925763
Domkrat
2004-07-27 14:56
2004.08.22
Проблема с запросом(хп)


1-1092041712
Evgeniy
2004-08-09 12:55
2004.08.22
Вопрос о Memo (добавление в файл).


1-1091796158
MacroDenS
2004-08-06 16:42
2004.08.22
Edit и буфер обмена...


1-1091781776
Jiuraasdasd
2004-08-06 12:42
2004.08.22
Как предотвратить мерцание окон в MDI приложении?





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