CoreApplication.RequestRestartForUserAsync(User, String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
別のユーザーのコンテキストでアプリを再起動します。
public:
static IAsyncOperation<AppRestartFailureReason> ^ RequestRestartForUserAsync(User ^ user, Platform::String ^ launchArguments);
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<AppRestartFailureReason> RequestRestartForUserAsync(User const& user, winrt::hstring const& launchArguments);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<AppRestartFailureReason> RequestRestartForUserAsync(User user, string launchArguments);
function requestRestartForUserAsync(user, launchArguments)
Public Shared Function RequestRestartForUserAsync (user As User, launchArguments As String) As IAsyncOperation(Of AppRestartFailureReason)
パラメーター
- user
- User
アプリを再起動するユーザー。
- launchArguments
-
String
Platform::String
winrt::hstring
再起動されたインスタンスに渡す引数。
戻り値
再起動要求の状態。
- 属性
Windows の要件
デバイス ファミリ |
Windows 10 Fall Creators Update (10.0.16299.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v5.0 で導入)
|
例
private async void RestartAsAnotherUser(string selectedUser)
{
IReadOnlyList<User> users = await User.FindAllAsync();
foreach (User user in users)
{
object accountProperty =
await user.GetPropertyAsync(KnownUserProperties.AccountName);
string accountName = (string)accountProperty;
if (accountName == selectedUser)
{
// Attempt restart, with arguments.
AppRestartFailureReason result = await App.RequestRestartForUserAsync(
user, "-fastInit -mainMenu");
// Restart request denied, tell the user to restart manually.
if (result== AppRestartFailureReason.InvalidUser)
{
SendToast(string.Format("Could not restart as user {0} - please manually restart.", user));
}
}
}
}
注釈
- アプリは、この API を呼び出すときに表示され、フォアグラウンドである必要があります。
- 再起動が失敗しても、ユーザーが後でアプリを手動で起動すると、アプリは正常に起動し、再起動引数は渡されません。
- アプリが通常の方法で起動されなかったが、共有コントラクト、ファイル ピッカー、app-service などによって起動された場合、ユーザーは結果の動作を期待しないため、アプリはこの API を呼び出さないでください。
- アプリは、 User オブジェクトの有効性を確認する役割を担います。 そのユーザーがアプリを実行できないようにするポリシーが設定されている場合、アクティブ化は失敗します。
- この API を呼び出した後、ユーザー エクスペリエンスが低下するため、アプリは拡張実行セッションを要求しないでください。
- アプリがこの API を呼び出すときに実行中のインプロセス バックグラウンド タスクがある場合、これらのタスクは通常の方法で取り消されます。 アウトプロセスバックグラウンドタスクは影響を受けません。
- アプリが再起動されると、 LaunchActivatedEventArgs.PreviousExecutionState の値が Terminated になり、アプリで再開と再起動を区別できるようになります。