Я пытаюсь скрыть или отключить следующую кнопку из пользовательского действия. Я искал возможные способы сделать это, но все, что я нашел, это установить переменную в моем настраиваемом действии и установить следующую кнопку, чтобы включить, когда эта переменная равна значению.
Теперь я нашел учебники по сокрытию кнопки отмены. Интересно, можно ли использовать этот же метод для кнопки «Далее» (или любого другого поля в этом отношении!), Но я просто не понимаю две функции в ней.
это MsiCreateRecord () и MsiRecordSetInteger ().
Может ли кто-нибудь объяснить, где находится связь между созданием записи с заданным номером поля и использованием этой записи, чтобы скрыть кнопку «Отмена»?
Вот функция с веб-сайта Microsoft, которая ее использует.
#include <windows.h>
#include <stdio.h>
#include <Shellapi.h>
#include <msi.h>
#include <Msiquery.h>
UINT __stdcall HideCancelButton(MSIHANDLE hInstall)
{
PMSIHANDLE hRecord = MsiCreateRecord(2);
if ( !hRecord)
return ERROR_INSTALL_FAILURE;
if (ERROR_SUCCESS != MsiRecordSetInteger(hRecord, 1, 2)
|| ERROR_SUCCESS != MsiRecordSetInteger(hRecord, 2, 0))
return ERROR_INSTALL_FAILURE;
MsiProcessMessage(hInstall, INSTALLMESSAGE_COMMONDATA, hRecord);
return ERROR_SUCCESS;
}