Не могу перевсти данный код с 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);
}
Переписал ваш код на 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();
Ну вот же ваша функция.
Вы должны подключить
#include "urlmon.h"
и вызвать просто вот точно так же
CoInternetSetFeatureEnabled(FEATURE_DISABLE_NAVIGATION_SOUNDS,
SET_FEATURE_ON_PROCESS,
true);
Как ни странно, код ничем не отличается, даже константы определены так, как надо.
Не забудьте прилинковать urlmon.lib.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники