Убрать звук обновления в .NET WebBrowser - C++

365
12 марта 2017, 04:11

Не могу перевсти данный код с C# в C++ или C++/CLI Цель в заголовке.

    const int FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;
const int SET_FEATURE_ON_PROCESS = 0x00000002;
[DllImport("urlmon.dll")]
[PreserveSig]
[return: MarshalAs(UnmanagedType.Error)]
static extern int CoInternetSetFeatureEnabled(int FeatureEntry,
                                              [MarshalAs(UnmanagedType.U4)] int dwFlags,
                                              bool fEnable);
static void DisableClickSounds()
{
    CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS,
                                SET_FEATURE_ON_PROCESS,
                                true);
}
Answer 1

Переписал ваш код на C++/CLI:

using namespace System;
using namespace System::Runtime::InteropServices;

[DllImport("urlmon.dll")]
int CoInternetSetFeatureEnabled(int FeatureEntry, [MarshalAs(UnmanagedType::U4)] int dwFlags, bool fEnable);

public ref class PInvoke abstract sealed
{
private:
literal int FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;
literal int SET_FEATURE_ON_PROCESS = 0x00000002;
public:
static void DisableClickSounds() {
    CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_PROCESS, true);
};
};

Вызывайте метод так

PInvoke::DisableClickSounds();
Answer 2

Ну вот же ваша функция.

Вы должны подключить

#include "urlmon.h"

и вызвать просто вот точно так же

CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS,
                            SET_FEATURE_ON_PROCESS,
                            true);

Как ни странно, код ничем не отличается, даже константы определены так, как надо.

Не забудьте прилинковать urlmon.lib.

READ ALSO
Какой командой можно найти документ по имени ключа поля?

Какой командой можно найти документ по имени ключа поля?

Допустим есть запрос на обновление из учебника:

258
Ошибка “Undefined property: Illuminate\Database\Eloquent\Builder”

Ошибка “Undefined property: Illuminate\Database\Eloquent\Builder”

Пытаюсь сделать выборку по id в своем проекте по документации (стоит laravel 53)

408
Не работает cUrl с поддоменом

Не работает cUrl с поддоменом

Пытаюсь с основного домена (domainru) отправить cUrl запрос на поддомен (s1

304
При вызове phpinfo() — выдает ошибку: «502 Bad Gateway». В чем может быть причина?

При вызове phpinfo() — выдает ошибку: «502 Bad Gateway». В чем может быть причина?

Здравствуйте! Установил phpstormПрописал путь к php-интерпритатору, который был установлен вместе с OpenServer

296