Вниз
Скачать: CL | DM;

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

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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.036 c
14-1117093103
Drakosha
2005-05-26 11:38
2005.06.29
bat cmd файлы


3-1116571267
~Alex
2005-05-20 10:41
2005.06.29
Блокировки таблиц


14-1117440868
Огшу
2005-05-30 12:14
2005.06.29
WLAN, дальность полета ?


14-1117819399
X9
2005-06-03 21:23
2005.06.29
Прошу помощи математиков ... СРОЧНО plz!


8-1110129109
anamal
2005-03-06 20:11
2005.06.29
Как убрать мигание?




   Наверх