Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Вызвать диалог "Свойства"


Автор: Alca 31.8.2008, 20:35
Вызвать диалог "Свойства"?
Вопрос решен:
Код

#include <shellapi.h>

//---------------------------------------------------------------------------
void __fastcall TfrmMain::vShowDlgProperties(const AnsiString &casFilePath) {
    typedef BOOL (WINAPI *SHOBJECTPROPERTIES)(HWND hwnd, DWORD dwType, LPCWSTR lpObject, LPCWSTR lpPage);

    #ifndef SHOP_FILEPATH
    #define SHOP_FILEPATH                0x00000002
    #endif

    #define SHOP_EXPORT_ORDINAL            178

    SHOBJECTPROPERTIES pSHObjectProperties = NULL;

    pSHObjectProperties = (SHOBJECTPROPERTIES)::GetProcAddress(::LoadLibrary("shell32"), "SHObjectProperties");

    if (!pSHObjectProperties) {
        pSHObjectProperties = (SHOBJECTPROPERTIES)::GetProcAddress(::LoadLibrary("shell32"), (LPCSTR)SHOP_EXPORT_ORDINAL);
    }

    if (pSHObjectProperties) {
        pSHObjectProperties(Handle, SHOP_FILEPATH, WideString(casFilePath), 0);
    }
}
//---------------------------------------------------------------------------

Автор: THandle 31.8.2008, 21:01
Это что ли?
Код


   ShellExecute(Handle, "open", "rundll32.exe", "shell32.dll, Control_RunDLL Desk.cpl", null, SW_SHOWNORMAL);

Автор: Alca 31.8.2008, 21:42
Мне надо было вызвать диалог свойства какого-либо файла или папки или диска.
THandle, спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)