Integrierte Webcam automatisch deaktivieren, wenn eine externe Webcam angeschlossen ist?

6818
oKtosiTe

Ich benutze meinen Laptop oft als Desktop, in etwa 75% der Fälle. Als Desktop-Setup sind ein Monitor, Lautsprecher, Tastatur, Maus und Webcam extern angeschlossen - die letzten drei über USB.
Es wird dann so positioniert, dass seine integrierte Webcam für Gesichtserkennung und Video-Chats unbrauchbar wird. Einige der von mir verwendeten Programme bieten jedoch keine Möglichkeit, eine Standard-Webcam auszuwählen.

Daher habe ich mich gefragt, ob es eine Möglichkeit gibt, die integrierte Webcam durch ein Hilfsprogramm, durch Skripte oder auf andere Weise automatisch zu deaktivieren, wenn eine externe Webcam angeschlossen ist.

(Ich verwende Windows 7 auf einem Asus Zenbook Prime UX32VD, falls dies hilft.)

0
Ich glaube, ich habe ein Skript, das das erledigen sollte. Können Sie bestätigen, dass durch das Deaktivieren der integrierten Webcam alle Programme die externe Kamera erkennen müssen? and31415 vor 10 Jahren 0
@ and31415, ich werde es versuchen und mich so schnell wie möglich bei Ihnen melden. oKtosiTe vor 10 Jahren 0
Ja, das Deaktivieren des Geräts im Geräte-Manager hat den gewünschten Effekt. @ und31415 oKtosiTe vor 10 Jahren 0
Haben Sie die Ereignisanzeige auf Ereignisse geprüft? tumchaaditya vor 10 Jahren 0
@tumchaaditya: warum? Was für Veranstaltungen? oKtosiTe vor 10 Jahren 0
Sie können eine geplante Aufgabe für diese Ereignis-ID erstellen und eine Batch-Datei ausführen, die die erforderlichen Geräte aktiviert / deaktiviert tumchaaditya vor 10 Jahren 1

3 Antworten auf die Frage

5
and31415

Theorie zuerst

  • Wir müssen regelmäßig prüfen, ob die externe Webcam an den Computer angeschlossen ist.
  • Wenn die externe Webcam angeschlossen, die eingebaute in einem sollte deaktiviert .
  • Das eingebaute Gerät sollte dann wieder aktiviert werden, nachdem die externe Kamera vom Stromnetz getrennt wurde .

Vorläufige Schritte

Die vorgeschlagene Lösung verwendet Batch-Scripting- und Task-Scheduling-Techniken, um all dies zu handhaben. Bevor wir tatsächlich zu den saftigen Stücken springen können, müssen wir einige Dinge tun.

Beziehen Sie das Dienstprogramm Device Console (DevCon)

DevCon ist ein Befehlszeilentool, das detaillierte Informationen zu Geräten anzeigt und Sie über die Befehlszeile nach Geräten suchen und diese bearbeiten können. DevCon aktiviert, deaktiviert, installiert, konfiguriert und entfernt Geräte auf dem lokalen Computer und zeigt detaillierte Informationen zu Geräten auf lokalen und Remote-Computern an.

  1. Laden Sie das entsprechende .cabPaket je nach Betriebssystem herunter :

  2. Öffnen Sie das .cabArchiv und extrahieren Sie die Datei mit dem Namen fil[some letters and numbers]. Es sollte ungefähr 80 KB sein.

  3. Benennen Sie es in um devcon.exe.

Hinweis Damit ein Gerät aktiviert / deaktiviert werden kann, devcon.exemuss es mit Administratorrechten ausgeführt werden.

Bestimmen Sie die erforderlichen Hardwarekennungen

Windows identifiziert Geräte und die zugehörigen Setup-Klassen mithilfe eines speziellen Satzes von Bezeichnern. Diese Bezeichner werden verwendet, um Hardwaregeräte mit den Gerätetreibern abzugleichen, die ihnen die Kommunikation mit Windows ermöglichen.

Eine oder mehrere Geräte-IDs werden einem Gerät vom Hersteller zugewiesen. Eine davon, die Hardware-ID, ist sehr spezifisch - abhängig von Hersteller, Modell und sogar der Firmware-Version des Geräts. Andere Geräte-IDs werden ebenfalls zugewiesen und sind allgemeiner, wobei die IDs möglicherweise anderen Geräten des Herstellers zugewiesen werden, die auf einer bestimmten Ebene kompatibel sind.

Quelle: Ermitteln von Hardware-IDs und Geräteeinrichtungsklassen für Ihre Geräte

  1. Schließen Sie die externe Webcam an.
  2. Öffnen Sie den Geräte-Manager ( devmgmt.msc).
  3. Finden Sie Ihre eingebaute Kamera in der Liste.
  4. Klicken Sie mit der rechten Maustaste auf den Eintrag für das Gerät, und klicken Sie dann auf Eigenschaften .
  5. Wählen Sie die Registerkarte Details aus, und wählen Sie in der Eigenschaftsliste Hardware-IDs aus.
  6. Klicken Sie mit der rechten Maustaste auf den ersten angezeigten Wert und kopieren Sie ihn. Notieren Sie den Wert irgendwo.
  7. Wiederholen Sie die Schritte 3 bis 6 für die externe Webcam.

Batch-Skript erstellen

  1. Speichern Sie den folgenden Code als WebcamCheck.cmd:

    @echo aus  REM stellen dort mindestens 2 Parameter sicher wenn "% ~ 2" == "" exit / b 2  REM verifizieren, dass devcon.exe nicht fehlt cd / d "% ~ dp0" Wenn nicht vorhanden, devcon.exe exit / b 3  REM setzt das Intervall auf 15 Sekunden, falls nicht angegeben Wenn "% ~ 3" == "" (Set Intervall = 15), sonst (Set Intervall =% 3)  :Umfrage for / f "tokens = 1 delims = \" %% G in ("% ~ 2") do (devcon.exe sucht * %% G * | findstr / i / c: "% ~ 2"> nul) gehe zu: check% errorlevel%  : check0 devcon.exe status "% ~ 1" | findstr / i / c: "disabled"> nul if% errorlevel% == 1 (devcon.exe deaktiviert "% ~ 1")  :warten Timeout / t% Intervall% / Nobreak> nul goto: umfrage  : check1 devcon.exe status "% ~ 1" | findstr / i / c: "disabled"> nul Wenn% errorlevel% == 0 (devcon.exe aktiviert "% ~ 1") gehe zu: warte 
  2. Kopieren Sie die devcon.exeDatei und fügen Sie sie in das gleiche Verzeichnis wie die gerade gespeicherte Datei ein.

Wie es funktioniert

Das Skript benötigt drei Parameter: Der erste ist die Zielgeräte-ID (die integrierte Webcam). die zweite ist die Trigger-Geräte-ID (die externe Webcam); Der dritte ist das Abfrageintervall (in Sekunden) und optional.

Zuerst stellt das Skript sicher, dass genügend Parameter vorhanden sind und das devcon.exenicht fehlt.

Wenn kein Abrufintervall angegeben ist, wird stattdessen der Standardwert verwendet (15 Sekunden). Der Wert wird verwendet, um zu bestimmen, wie viele Sekunden zwischen den einzelnen Geräteüberprüfungen verstreichen sollen. Wenn der Wert gesenkt wird, ist die Erkennung schneller, was wiederum zu mehr Systemaufwand führt. Bevor Sie einen anderen Wert testen, testen Sie ihn mit dem Standardwert und sehen Sie, wie er funktioniert. In jedem Fall würde ich nicht empfehlen, unter 10 Sekunden zu gehen.

Das Batch-Skript erfordert generische Geräte-IDs, die das folgende Format verwenden:

XXX\VID_YYYY&PID_ZZZZ 

XXXist die Geräteklasse (z. B. USB, PCI usw.); YYYYist die Vendor-ID, ein eindeutiger Wert, der Hardware-Herstellern zugewiesen wird. ZZZZ ist die Produkt-ID, die das Gerätemodell identifiziert.

Wenn Sie beispielsweise eine Geräte-ID wie folgt erhalten:

USB\VID_1D4D&PID_1002&REV_0039&MI_00 

Die generische ID wäre:

USB\VID_1D4D&PID_1002 

Nach der Prüfung, ob das Auslösergerät (externe Webcam) angeschlossen ist, deaktiviert oder aktiviert das Skript das Zielgerät (integrierte Webcam), sofern es nicht bereits deaktiviert ist.

Planen Sie es ein

Jetzt müssen wir nur noch das Batch-Skript beim Anmelden automatisch starten.

  1. Öffnen Sie den Taskplaner ( taskschd.msc) und klicken Sie auf Aktion> Aufgabe erstellen .
  2. Nennen Sie es WebcamCheck.
  3. Klicken Sie auf der Registerkarte Allgemein auf Benutzer oder Gruppe ändern .
  4. Geben Sie systemin das Textfeld ein, klicken Sie auf Namen überprüfen und klicken Sie dann auf OK .
  5. Aktivieren Sie die Option Mit höchsten Berechtigungen ausführen.
  6. Ändern Sie den Wert für Konfigurieren für Windows 7, Windows Server 2008 R2 .
  7. Wählen Sie die Registerkarte Trigger und klicken Sie auf Neu .
  8. Ändern Sie den Task Beginnen in Bei Anmeldung und drücken Sie OK .
  9. Wechseln Sie zur Registerkarte Aktionen und klicken Sie auf Neu .
  10. Geben Sie "X:\Path\to\WebcamCheck.cmd"in der Programm / Skript Textbox, es mit dem tatsächlichen Dateipfad zu ersetzen.
  11. Geben Sie "XXX\VID_YYYY&PID_ZZZZ" "AAA\VID_BBBB&PID_CCCC"im Textfeld Argumente hinzufügen die Geräte-IDs durch die richtigen Werte ein.
  12. Klicken Sie auf die Registerkarte Bedingungen und deaktivieren Sie das Kontrollkästchen Task nur starten, wenn der Computer mit Strom versorgt wird .
  13. Wählen Sie die Registerkarte Einstellungen aus, und deaktivieren Sie sowohl die Aufgabe Ausführen der Aufgabe bei Bedarf als auch Stoppen der Aufgabe, wenn sie länger als Felder ausgeführt wird.
  14. Aktivieren Sie die Task "Ausführen" so bald wie möglich, nachdem ein geplanter Start verfehlt wurde .
  15. Behalten Sie für alle anderen Einstellungen die Standardwerte bei und drücken Sie OK .

Hinweis Wenn Sie möchten, dass die integrierte Webcam so schnell wie möglich deaktiviert wird, schließen Sie die externe an, bevor Sie sich anmelden.


Aktualisieren

Hier ist eine vereinfachte Version des Batch-Skripts, das die externe Kamera nur beim Start überprüft und dann beendet:

@echo off  REM ensure there at least 2 parameters if "%~2" == "" exit /b 2  REM verify devcon.exe is not missing cd /d "%~dp0" if not exist devcon.exe exit /b 3  :check for /f "tokens=1 delims=\" %%G in ("%~2") do (devcon.exe find *%%G* | findstr /i /c:"%~2" >nul) goto :check%errorlevel%  :check0 devcon.exe status "%~1" | findstr /i /c:"disabled" >nul if %errorlevel% == 1 (devcon.exe disable "%~1") exit /b  :check1 devcon.exe status "%~1" | findstr /i /c:"disabled" >nul if %errorlevel% == 0 (devcon.exe enable "%~1") exit /b 
Ich hoffe, ich habe noch genug Zeit, um das zu testen, bevor die Prämie ausläuft. Wenn nicht, kann ich später einen neuen vergeben. Ich muss zwar nicht ständig den Computer für eine externe Kamera überwachen, aber ich glaube, ich werde in der Lage sein, einige nützliche Informationen aus Ihrer Antwort herauszuholen. oKtosiTe vor 10 Jahren 0
Sie meinen, für die externe Kamera zu suchen, während das Einloggen für Sie ausreicht? and31415 vor 10 Jahren 0
Ja absolut. oKtosiTe vor 10 Jahren 0
Auf jeden Fall habe ich noch keine Zeit, um die Antwort zu überprüfen, aber da es so aussieht, als ob Sie in dieselbe Richtung gedacht hätten (devcon und ein Skript) und sich recht viel Mühe geben, ist die Prämie wohlverdiente IMO. Werde es mit ziemlicher Sicherheit später annehmen. Vielen Dank. oKtosiTe vor 10 Jahren 0
0
XcisioN

Sie können versuchen, die Webcam über das Bedienfeld oder im Geräte-Manager zu deaktivieren. Dies sollte die Installation der externen Webcam ermöglichen und die einzige derzeit ausgeführte Webcam sein. Danach können Sie das Gerät immer wieder aktivieren.

Hoffe das hilft.

Ich hoffte, dies irgendwie automatisch zu tun. Es ist immer noch verwirrend für mich, dass Windows keine Einstellung dafür hat ... oKtosiTe vor 10 Jahren 1
@oKtosiTe: Fenster können nicht alles haben, was Sie sich vorstellen können! tumchaaditya vor 10 Jahren 0
@tumchaaditya, und dennoch kann der Ton von den externen Lautsprechern automatisch abgeschnitten werden, wenn Kopfhörer angeschlossen sind, und der Laptopbildschirm wird ausgeschaltet, wenn ein externer Monitor angeschlossen wird. Synetech vor 10 Jahren 1
Externe Lautsprecher werden normalerweise von Audiotreibern und nicht von Fenstern selbst gehandhabt. Durchsuchen Sie SU, und Sie werden Tonnen von Fragen finden, die besagen, dass diese Funktion aufgrund eines Treiberproblems defekt ist. Je nachdem, wie Sie den Laptop beim letzten Anschließen des externen Bildschirms konfiguriert haben, kann es vorkommen, dass Fenster den Laptop-Bildschirm nicht abschneiden. Es erinnert sich nur an diese Einstellung. tumchaaditya vor 10 Jahren 0
@ tumchaaditya: Ob Windows diese Funktion eingebaut hat, ist irrelevant. Ich akzeptiere jede Antwort, die dies irgendwie automatisiert, sei es durch ein Batch-Skript, ein Hilfsprogramm, einen Wrapper-Treiber oder einen Hai, an dessen Kopf ein Frickin-Laser angebracht ist. oKtosiTe vor 10 Jahren 1
0
tarkan dost

Sie können eine Portable-Freeware-Anwendung "WebCam On-Off v1.0" ausprobieren. Außerdem gibt es Cmd-Suppor http://www.sordum.org/8585/webcam-on-off-dont-let-your-webcam-spy-on -Sie/

Willkommen bei Super User! Bitte lesen Sie [Wie empfehle ich Software] (http://meta.superuser.com/questions/5329/how-do-i-recommend-software-in-my-answers/5330#5330), um einige Tipps zu erhalten Sie sollten Software empfehlen. Zumindest sollten Sie einige zusätzliche Informationen zur Software bereitstellen. Mokubai vor 9 Jahren 0