사용자 지정 작업 내에서 다음 단추를 숨기거나 비활성화하려고합니다. 나는 그것을 할 수있는 방법을 찾아 보았습니다. 그러나 모든 것은 사용자 정의 액션에서 변수를 설정하고이 변수가 값과 같을 때 사용할 다음 버튼을 설정하는 것이 었습니다. 이제 취소 버튼을 숨기는 방법에 대한 자습서를 찾았습니다. 나는이 동일한 메소드가 다음 버튼 (또는 그 문제의 다른 필드!)에도 사용될 수 있을지 궁금해하지만, 단지 두 개의 함수를 이해하지 못한다. 이들은 MsiCreateRecord() 및 MsiRecordSetInteger()입니다. 필드 수를 설정하여 레코드를 생성하고이 레코드를 사용하여 취소 단추를 숨기는 방법에 대한 설명을 제공 할 수 있습니까?MSI 설치 프로그램에서 사용자 지정 작업으로 다음 단추를 누름
다음은이 기능을 사용하는 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;
}
나라면 HIDEBUTTON = 1과 같은 속성을 설정하고 상호 배타적 인 ControlEvents를 사용하여 단추를 표시 또는 비 표시로 설정한다고 가정합니다. 내가 놓친 게 있니? –
죄송합니다. 제어 조건을 의미했습니다. :-) –
그리고 기본 UI에 대한 제어 조건을 어떻게 설정합니까? 오,이 실수는 질문에서 실제로 묻지 않은 것입니다. 다음 버튼에 대해 그 부분을 놓쳤습니다. –