Запустить окно свойств диска

Тема в разделе "LANGS.C", создана пользователем ams007, 18 июн 2008.

  1. ams007

    ams007 New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2007
    Сообщения:
    86
    кто-нибудь знает, как можно решить эту задачу?
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    ams007
    Код (Text):
    1. ...
    2. SHELLEXECUTEINFO sei;
    3.  
    4. RtlZeroMemory(&sei, sizeof(sei));
    5.  
    6. sei.cbSize = sizeof(SHELLEXECUTEINFO);
    7. sei.fMask  = SEE_MASK_INVOKEIDLIST;
    8. sei.lpVerb = "properties";
    9. sei.lpFile = "C:";      /* <-- буква диска тут */
    10. sei.nShow  = SW_SHOW;
    11.  
    12. ShellExecuteEx(&sei);
    13. ...
    afaik этот диалог запускается в отдельном потоке вызвавшего его процесса, следовательно, он будет _автоматически_ убит, когда программа вызовет ExitProcess. Т.е. если вся программа - _только_ этот код, то диалог даже не появится.
     
  3. ams007

    ams007 New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2007
    Сообщения:
    86
    q_q
    Спасибо, я не докопался до lpVerb = "properties". )
    Тогда еще один вопросик: Как вызвать это самое окно свойств с заданной вкладкой?
    У меня есть свой shellExtension , делает закладку скажем с именем "абвгд", хотелось бы в идеале, чтобы она м была открыта по умолчанию.
    Заранее спасибо. )
     
  4. ams007

    ams007 New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2007
    Сообщения:
    86
    Все, разобрался:
    Код (Text):
    1. ...
    2. sei.lpParameters = "абвгд";
    3. ...