У меня просто был очень длинный вызов технической поддержки, потому что у клиента не было Микрометра на их ноутбуке. (Глупый я: они сказали, что использовали микрометр ранее, и я никогда не слышал о ноутбуке, не имеющем Микрометр).
Я задаюсь вопросом, существует ли способ обнаружить, существует ли Микрофон (возможность записи) на Windows XP, Vista, 7.
(Мне включили обработку ошибок, и она регистрирует ошибку и затем выходит из Функции, но приложение просто отказывает в Windows 7, если нет никакого Микрофона.)
Я думаю, что единственный способ сделать это в VB 6 - через Direct X:
http://msdn.microsoft.com /en-us/library/bb318770(VS.85).aspx
Вы можете проверить это:
http://msdn.microsoft.com/en-us/library/bb280815 (VS.85). aspx
Класс коллекции CaptureDevices (Microsoft.DirectX.DirectSound)
http://msdn.microsoft.com/en-us/library/ms810619.aspx
, вы также можете вызвать dxdiag ..
{ {1}}Я бы использовал IMMDeviceEnumerator :: GetDefaultAudioEndpoint - это возвращает аудиоустройство по умолчанию для указанной роли и потока данных.
В частности, вы должны использовать:
CComPtr<IMMDeviceEnumerator> pEnumerator;
CComPtr<IMMDevice> pDevice;
hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL,
CLSCTX_ALL, IID_PPV_ARGS(&pEnumerator));
if (SUCCEEDED(hr))
{
hr = pEnumerator->GetDefaultAudioEndpoint(eCapture, eConsole, &pDevice);
}
if (!pDevice || hr == ERROR_NOT_FOUND)
{
// no microphone
}
Определенно используйте вариант 5 - он безопасен и позволяет компилятору оптимизировать (не принимать адрес этой переменной:Кроме того, если он находится в заголовке - поместите его в пространство имен, чтобы избежать загрязнения глобальной области:
// header.hpp
namespace constants
{
const int GLOBAL_CONST_VAR = 0xFF;
// ... other related constants
} // namespace constants
// source.cpp - use it
#include <header.hpp>
int value = constants::GLOBAL_CONST_VAR;
-121--848925- Кроме того, «два» - это конст-чар *, а не ид. всевозможные забавные последствия могут возникнуть при обращении с ним как с ид. замените на @ «два».
Также, если (eachArg) является посторонним.
-121--4817582-Ознакомьтесь с Переключателем аудиоустройств на панели задач
В этом исходном коде VB приведен пример перечисления аудиоустройств ввода-вывода.