Recall wskazówki dla deweloperów przeglądarek internetowych

Wiele przeglądarek internetowych obsługuje pojęcie przeglądania "InPrivate", w którym historia użytkownika nie jest zapisywana.

Aby upewnić się, że historia przeglądania użytkownika nie była zapisywana w takich trybach jak ten, twoja aplikacja może używać funkcji Recall, ustawiając zakres danych wejściowych na wartość SetInputScope.

Ważne

Aplikacja musi również mieć zarejestrowany protokół http lub procedurę obsługi https, zanim SetInputScope będzie wspierać zachowanie opisane w tym artykule.

[DllImport("msctf.dll", SetLastError = true)]
private static extern int SetInputScope(IntPtr hwnd, InputScope inputScope);

private new enum InputScope : int
{
    IS_DEFAULT = 0,
    IS_URL = 1,
    IS_FILE_FULLFILEPATH = 2,
    IS_PRIVATE = 61 // Input is treated as private data.
}

private void EnterInPrivateMode()
{
    // Get your HWND. This will vary based on your UI Framework. WPF can use WindowInteropHelper, passing in your current Window.
    IntPtr hwnd = new WindowInteropHelper(this).Handle;

    // Then, set the input scope on the HWND to private
    SetInputScope(hwnd, InputScope.IS_PRIVATE);
}

private void ExitInPrivateMode()
{
    // Get your HWND. This will vary based on your UI Framework. WPF can use WindowInteropHelper, passing in your current Window.
    IntPtr hwnd = new WindowInteropHelper(this).Handle;

    // Then, set the input scope on the HWND to default
    SetInputScope(hwnd, InputScope.IS_DEFAULT);
}

Aplikacja powinna wstrzymać udostępnianie działań użytkownika, gdy użytkownik jest w trybie przeglądania "prywatny".