Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Onboard Soundchip auslesen (https://www.delphipraxis.net/81846-onboard-soundchip-auslesen.html)

Mackhack 4. Dez 2006 20:49


Onboard Soundchip auslesen
 
Hi,

weis jemand wie man den Onboard Soundchip auslesen kann?

Danke!

SirThornberry 4. Dez 2006 21:01

Re: Onboard Soundchip auslesen
 
was meinst du mit auslesen? Er stellt sich als normale Soundkarte dar

Mackhack 4. Dez 2006 21:04

Re: Onboard Soundchip auslesen
 
Hi,

ich meine z. B. Realtek 8xxx oder so. Wir haben hier n paar PCs stehen die eigentlich die komplett identische Hardware hat. Aber irgendwie laesst sich auf 2en der Soundtreiber nicht installieren und da wollte ich mal wissen ob es vlt. n anderer Chipset ist.

Muss doch irgendwie gehen oder net?

Sunlight7 5. Dez 2006 00:15

Re: Onboard Soundchip auslesen
 
Hi,

steht das nicht auf dem Chip aufm Board drauf? :gruebel:

MagicAndre1981 5. Dez 2006 00:20

Re: Onboard Soundchip auslesen
 
du musst halt die PCI-Geräte auslesen, schauen wie viele mediageräte da sind und dann liest du die Geräte und Vendor-ID aus, damit erkennst du jedes gerät. Musst halt in einer DB kucken welcher Chip das genau ist.

Mackhack 5. Dez 2006 01:38

Re: Onboard Soundchip auslesen
 
Und wie komm ich da ran?

MagicAndre1981 5. Dez 2006 12:28

Re: Onboard Soundchip auslesen
 
zum Beispeil über WMI. Da sind schon alle sachen dabei, die du wissen willst.

Code:
var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;

var arrComputers = new Array("NOTEBOOK");
for (i = 0; i < arrComputers.length; i++) {
   WScript.Echo();
   WScript.Echo("==========================================");
   WScript.Echo("Computer: " + arrComputers[i]);
   WScript.Echo("==========================================");

   var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2");
   var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_SoundDevice", "WQL",
                                          wbemFlagReturnImmediately | wbemFlagForwardOnly);

   var enumItems = new Enumerator(colItems);
   for (; !enumItems.atEnd(); enumItems.moveNext()) {
      var objItem = enumItems.item();

      WScript.Echo("Availability: " + objItem.Availability);
      WScript.Echo("Caption: " + objItem.Caption);
      WScript.Echo("ConfigManagerErrorCode: " + objItem.ConfigManagerErrorCode);
      WScript.Echo("ConfigManagerUserConfig: " + objItem.ConfigManagerUserConfig);
      WScript.Echo("CreationClassName: " + objItem.CreationClassName);
      WScript.Echo("Description: " + objItem.Description);
      WScript.Echo("DeviceID: " + objItem.DeviceID);
      WScript.Echo("DMABufferSize: " + objItem.DMABufferSize);
      WScript.Echo("ErrorCleared: " + objItem.ErrorCleared);
      WScript.Echo("ErrorDescription: " + objItem.ErrorDescription);
      WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate));
      WScript.Echo("LastErrorCode: " + objItem.LastErrorCode);
      WScript.Echo("Manufacturer: " + objItem.Manufacturer);
      WScript.Echo("MPU401Address: " + objItem.MPU401Address);
      WScript.Echo("Name: " + objItem.Name);
      WScript.Echo("PNPDeviceID: " + objItem.PNPDeviceID);
      try { WScript.Echo("PowerManagementCapabilities: " + (objItem.PowerManagementCapabilities.toArray()).join(",")); }
         catch(e) { WScript.Echo("PowerManagementCapabilities: null"); }
      WScript.Echo("PowerManagementSupported: " + objItem.PowerManagementSupported);
      WScript.Echo("ProductName: " + objItem.ProductName);
      WScript.Echo("Status: " + objItem.Status);
      WScript.Echo("StatusInfo: " + objItem.StatusInfo);
      WScript.Echo("SystemCreationClassName: " + objItem.SystemCreationClassName);
      WScript.Echo("SystemName: " + objItem.SystemName);
   }
}

function WMIDateStringToDate(dtmDate)
{
   if (dtmDate == null)
   {
      return "null date";
   }
   var strDateTime;
   if (dtmDate.substr(4, 1) == 0)
   {
      strDateTime = dtmDate.substr(5, 1) + "/";
   }
   else
   {
      strDateTime = dtmDate.substr(4, 2) + "/";
   }
   if (dtmDate.substr(6, 1) == 0)
   {
      strDateTime = strDateTime + dtmDate.substr(7, 1) + "/";
   }
   else
   {
      strDateTime = strDateTime + dtmDate.substr(6, 2) + "/";
   }
   strDateTime = strDateTime + dtmDate.substr(0, 4) + " " +
   dtmDate.substr(8, 2) + ":" +
   dtmDate.substr(10, 2) + ":" +
   dtmDate.substr(12, 2);
   return(strDateTime);
}
Sonst sollte noch DMI gehen. Hatte nicht mal jemand im Forum eine Funktion um PCI-Geräte auszulesen? :gruebel: :gruebel:

Mackhack 5. Dez 2006 15:01

Re: Onboard Soundchip auslesen
 
Dank dir!

Werde mir das mal ansehen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz