Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для wolkow70

Ветеран


Сообщения: 3206
Благодарности: 845

Профиль | Отправить PM | Цитировать


На системах Windows 7,8 можно вызвать апплет "программы по умолчанию" для конкретной программы таким способом.
!define CLSCTX_INPROC_SERVER 0x1
!define CLSID_ApplicationAssociationRegistrationUI {1968106d-f3b5-44cf-890e-116fcb9ecef1}
!define IID_IApplicationAssociationRegistrationUI {1f76a169-f994-40ac-8fc8-0959e8874710}

System::Call 'OLE32::CoCreateInstance(g "${CLSID_ApplicationAssociationRegistrationUI}",i 0,i ${CLSCTX_INPROC_SERVER},g "${IID_IApplicationAssociationRegistrationUI}",*i.r1)i.r0' ;ptr is now in $1 and hr in $0
${If} $1 <> 0
System::Call '$1->3(w "название программы")i.r0'
System::Call '$1->2()' ;IUnknown::Release

К сожаление, на Windows 10 этот способ не работает. Кто нибудь знает как можно вызвать страницу "программы по умолчанию" для конкретной программы через API или еще как нибудь?

-------
Человек человеку - друг, товарищ и волк!


Последний раз редактировалось wolkow70, 05-09-2015 в 17:56.


Отправлено: 17:41, 05-09-2015 | #1818