Цитата wolkow70:
как в скрипте NSIS вызвать LaunchAdvancedAssociationUI для заданной программы? »
|
Дело это мутное до безобразия...
Был такой код по теме :
Код:
![Выделить весь код](images/misc/selectcode.png)
!include LogicLib.nsh
!define CLSCTX_INPROC_SERVER 0x1
!define CLSID_ApplicationAssociationRegistrationUI {1968106d-f3b5-44cf-890e-116fcb9ecef1}
!define IID_IApplicationAssociationRegistrationUI {1f76a169-f994-40ac-8fc8-0959e8874710} ;[Vista+]
section
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 "MyApp")i.r0' ;IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI
System::Call '$1->2()' ;IUnknown::Release
${EndIf}
sectionend
Только к нему много вопросов... К примеру, используемая функция IApplicationAssociationRegistrationUI, если верить примечанию, не поддерживается на Windows 8
(
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx )
А ты, как мне кажется, хочешь замутить канитель, именно применимо к ассоциированию в Win8 ? (а для других ОС и мутить нечего - всё ясно и традиционно...)