https://www.lidl.de/p/crivit-usb-digitalmikroskop/p100395031 (https://www.lidl.de/p/crivit-usb-digitalmikroskop/p100395031)
This device didn't have any software with it's package, nor links for them.
Windows 7 DirectX can show this device, but i can't find an old WebCAM code right now.
That device works in Windows 1x, but those apps aren't so good.
That device isn't allowed use by children under 8 years.
Perhaps more to come later.
Translation with Deepl
CRIVIT USB Digital Microscope
Features
High-quality zoom lens with up to 1000x magnification
With USB interface for direct transfer to your computer monitor
Includes software for high-quality photo and video recording
Dimmable ring light with 8 neutral white LEDs for optimal illumination
Flexible use – handheld or via adjustable mini stand with practical clip mount
1.36 m connection cable with USB-C plug incl. USB-A adapter
Included accessories: mini stand, storage box, instructions
Windows software in English, German, French, Spanish, Italian, Portuguese
MacOS software in English
Not suitable for children under 8 years of age
Translated with DeepL.com (free version)
Hi Timo,
I can't find an old WebCAM code right now.
Did you try some sites like the Internet Archive to find the software?
https://archive.org/
Actually i want to find an old code from 2014 - 2015,
when i tested COM typelib from quartz.dll
With this code device is available, even WinMCI stopped working with it.
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>
#include "dshow.h"
#pragma comment(lib, "ole32.lib")
#pragma comment(lib, "oleaut32.lib")
#pragma comment(lib, "uuid.lib")
//#pragma comment(lib, "strmiids")
const GUID CLSID_SystemDeviceEnum = {0x62be5d10,0x60eb,0x11d0,{0xbd,0x3b,0x0,0xa0,0xc9,0x11,0xce,0x86}};
const GUID CLSID_AudioInputDeviceCategory = {0x33d9a762,0x90c8,0x11d0,{0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86}};
const GUID CLSID_VideoInputDeviceCategory = {0x860bb310,0x5d01,0x11d0,{0xbd,0x3b,0x0,0xa0,0xc9,0x11,0xce,0x86}};
const GUID IID_ICreateDevEnum = {0x29840822,0x5b84,0x11d0,{0xbd,0x3b,0x0,0xa0,0xc9,0x11,0xce,0x86}};
HRESULT EnumerateDevices(REFGUID category, IEnumMoniker **ppEnum)
{
// Create the System Device Enumerator.
ICreateDevEnum *pDevEnum;
HRESULT hr = CoCreateInstance(&CLSID_SystemDeviceEnum, NULL,
CLSCTX_INPROC_SERVER, &IID_ICreateDevEnum, (void**)&pDevEnum);
if (SUCCEEDED(hr))
{
// Create an enumerator for the category.
hr = pDevEnum->lpVtbl->CreateClassEnumerator(pDevEnum, category, ppEnum, 0);
if (hr == S_FALSE)
{
hr = VFW_E_NOT_FOUND; // The category is empty. Treat as an error.
}
pDevEnum->lpVtbl->Release(pDevEnum);
}
return hr;
}
void DisplayDeviceInformation(IEnumMoniker *pEnum)
{
IMoniker *pMoniker = NULL;
while (pEnum->lpVtbl->Next(pEnum, 1, &pMoniker, NULL) == S_OK)
{
IPropertyBag *pPropBag;
HRESULT hr = pMoniker->lpVtbl->BindToStorage(pMoniker, 0, 0, &IID_IPropertyBag, (void**)&pPropBag);
if (FAILED(hr))
{
pMoniker->lpVtbl->Release(pMoniker);
continue;
}
VARIANT var;
VariantInit(&var);
// Get description or friendly name.
hr = pPropBag->lpVtbl->Read(pPropBag, L"Description", &var, 0);
if (FAILED(hr))
{
hr = pPropBag->lpVtbl->Read(pPropBag, L"FriendlyName", &var, 0);
}
if (SUCCEEDED(hr))
{
printf("%ls\n", var.bstrVal);
VariantClear(&var);
}
//hr = pPropBag->lpVtbl->Write(pPropBag, L"FriendlyName", &var);
// WaveInID applies only to audio capture devices.
hr = pPropBag->lpVtbl->Read(pPropBag, L"WaveInID", &var, 0);
if (SUCCEEDED(hr))
{
printf("WaveIn ID: %d\n", var.lVal);
VariantClear(&var);
}
hr = pPropBag->lpVtbl->Read(pPropBag, L"DevicePath", &var, 0);
if (SUCCEEDED(hr))
{
// The device path is not intended for display.
printf("Device path: %ls\n", var.bstrVal);
VariantClear(&var);
}
pPropBag->lpVtbl->Release(pPropBag);
pMoniker->lpVtbl->Release(pMoniker);
}
}
int main(void)
{
HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if (SUCCEEDED(hr))
{
IEnumMoniker *pEnum;
hr = EnumerateDevices(&CLSID_VideoInputDeviceCategory, &pEnum);
if (SUCCEEDED(hr))
{
DisplayDeviceInformation(pEnum);
pEnum->lpVtbl->Release(pEnum);
}
hr = EnumerateDevices(&CLSID_AudioInputDeviceCategory, &pEnum);
if (SUCCEEDED(hr))
{
DisplayDeviceInformation(pEnum);
pEnum->lpVtbl->Release(pEnum);
}
CoUninitialize();
}
return 0;
}
icspring camera
Device path: \\?\usb#vid_32e6&pid_9005&mi_00#7&11de6da0&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
Interesting project:
DirectShow Camera Project (https://github.com/ahmdvnd/DirectShowCameraProject)