ServiceInstallerDialogResult Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает возвращаемое значение формы ServiceInstallerDialog.
public enum class ServiceInstallerDialogResult
public enum ServiceInstallerDialogResult
type ServiceInstallerDialogResult =
Public Enum ServiceInstallerDialogResult
- Наследование
Поля
Canceled | 2 | Возвращаемое диалоговым окном значение равно |
OK | 0 | Возвращаемое диалоговым окном значение равно |
UseSystem | 1 | Установите службу с системной учетной записью, а не с учетной записью пользователя. Обычно это значение указывает, что диалоговое окно не отображалось для пользователя. Например, свойству Account присвоено не значение |
Примеры
В следующем примере используется для ServiceInstallerDialog запроса у пользователя учетной записи установки службы.
// Prompt the user for service installation account values.
public:
static bool GetServiceAccount( interior_ptr<ServiceProcessInstaller^> svcInst )
{
bool accountSet = false;
ServiceInstallerDialog^ svcDialog = gcnew ServiceInstallerDialog;
// Query the user for the service account type.
do
{
svcDialog->TopMost = true;
svcDialog->ShowDialog();
if ( svcDialog->Result == ServiceInstallerDialogResult::OK )
{
// Do a very simple validation on the user
// input. Check to see whether the user name
// or password is blank.
if ( (svcDialog->Username->Length > 0) && (svcDialog->Password->Length > 0) )
{
// Use the account and password.
accountSet = true;
( *svcInst)->Account = ServiceAccount::User;
( *svcInst)->Username = svcDialog->Username;
( *svcInst)->Password = svcDialog->Password;
}
}
else
if ( svcDialog->Result == ServiceInstallerDialogResult::UseSystem )
{
( *svcInst)->Account = ServiceAccount::LocalSystem;
( *svcInst)->Username = nullptr;
( *svcInst)->Password = nullptr;
accountSet = true;
}
if ( !accountSet )
{
// Display a message box. Tell the user to
// enter a valid user and password, or cancel
// out to leave the service account alone.
DialogResult result;
result = MessageBox::Show( "Invalid user name or password for service installation."
" Press Cancel to leave the service account unchanged.", "Change Service Account",
MessageBoxButtons::OKCancel, MessageBoxIcon::Hand );
if ( result == DialogResult::Cancel )
{
// Break out of loop.
break;
}
}
}
while ( !accountSet );
return accountSet;
}
// Prompt the user for service installation account values.
public static bool GetServiceAccount(ref ServiceProcessInstaller svcInst)
{
bool accountSet = false;
ServiceInstallerDialog svcDialog = new ServiceInstallerDialog();
// Query the user for the service account type.
do
{
svcDialog.TopMost = true;
svcDialog.ShowDialog();
if (svcDialog.Result == ServiceInstallerDialogResult.OK)
{
// Do a very simple validation on the user
// input. Check to see whether the user name
// or password is blank.
if ((svcDialog.Username.Length > 0) &&
(svcDialog.Password.Length > 0) )
{
// Use the account and password.
accountSet = true;
svcInst.Account = ServiceAccount.User;
svcInst.Username = svcDialog.Username;
svcInst.Password = svcDialog.Password;
}
}
else if (svcDialog.Result == ServiceInstallerDialogResult.UseSystem)
{
svcInst.Account = ServiceAccount.LocalSystem;
svcInst.Username = null;
svcInst.Password = null;
accountSet = true;
}
if (!accountSet )
{
// Display a message box. Tell the user to
// enter a valid user and password, or cancel
// out to leave the service account alone.
DialogResult result;
result = MessageBox.Show("Invalid user name or password for service installation."+
" Press Cancel to leave the service account unchanged.",
"Change Service Account",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Hand);
if (result == DialogResult.Cancel)
{
// Break out of loop.
break;
}
}
} while (!accountSet);
return accountSet;
}
Комментарии
Свойство ServiceInstallerDialog.Result использует это перечисление для указания ответа пользователя на диалоговое окно.