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

Вниз

Как вызвать диалоговое окно свойств файла?   Найти похожие ветки 

 
Wolfram ©   (2005-05-06 22:32) [0]

Мне нужно из моей программы вызвать стандартное окно свойств файла, как из контекстного меню (пункт "свойства") проводника Windows. Как это сделать?


 
GuAV ©   (2005-05-06 22:55) [1]

SHObjectProperties


 
Wolfram ©   (2005-05-06 22:57) [2]

Можно чуть-чуть более доступно объяснить?


 
Ученик   (2005-05-06 23:07) [3]

>Wolfram ©   (06.05.05 22:32)  



{ Project JEDI Code (JCL Library} }

cVerbProperties = "properties";

function DisplayPropDialog(const Handle: HWND; const FileName: string): Boolean;
var
 Info: TShellExecuteInfo;
begin
 FillChar(Info, SizeOf(Info), #0);
 with Info do
 begin
   cbSize := SizeOf(Info);
   lpFile := PChar(FileName);
   nShow := SW_SHOW;
   fMask := SEE_MASK_INVOKEIDLIST;
   Wnd := Handle;
   lpVerb := cVerbProperties;
 end;
 Result := ShellExecuteEx(@Info);
end;



 
GuAV ©   (2005-05-06 23:42) [4]

Wolfram ©   (06.05.05 22:57) [2]
Можно чуть-чуть более доступно объяснить?


const
SHOP_PRINTERNAME = 1;
SHOP_FILEPATH = 2;
SHOP_VOLUMEGUID = 4;

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

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


Но теперь мне больше код [3] нравится.


 
Wolfram ©   (2005-05-07 23:04) [5]

Ответ [3] работает, а [4] почему-то нет.
Да и здесь
cVerbProperties = "properties";
кажется должно было быть
const cVerbProperties = "properties";

Еще один вопрос по теме:
Если из моей проги вызвать это окно свойств для файлов avi, а потом запустить любую прогу на фулскрин (игру или хранитель экрана), то моя прога падает (Project1.exe has en...). Такое наблюдается и для любой другой программы, вызывающей эти диалоговые окна для avi файлов (explorer, Total Commander etc), значит проблема в винде, а скорее всего в com-сервере, который создает дополнительные вкладки для файлов avi.
Когда я удалил из реестра раздел
HKEY_CLASSES_ROOT\AVIFile\shellex\ContextMenuHandlers
то глюк исчез, а с ним, сами понимаете, ещё кое-что. Кто-нибудь сталкивался с такой проблемой и знает, в чем же дело?



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

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

Наверх




Память: 0.45 MB
Время: 0.043 c
4-1115051030
rolex
2005-05-02 20:23
2005.06.29
Как определить работает ли уже данное приложение или это его перв


1-1118321930
arant
2005-06-09 16:58
2005.06.29
ClientDataSet с вложенным набором данных


1-1117622833
chili
2005-06-01 14:47
2005.06.29
Подскажите как работать с libpq.dll для 8.0?


1-1118260453
Gopher
2005-06-08 23:54
2005.06.29
Синтаксис


10-1094805884
Ragazor
2004-09-10 12:44
2005.06.29
Как в Excel после работы с файлом закрыть без сохранения





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