Autor Beitrag
Gahero
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 193

Win Vista HP 64bit
Delphi 2007 Pro
BeitragVerfasst: Sa 28.07.07 18:03 
Hallo,

für mein Programm brauche ich eine Funktion, die mir den Grafikartenspeicher zurückgibt?
Gibts sowas oder lässt sich sowas proggen? Eine Funktion für den Arbeitsspeicher kann man schließlich auch einfach basteln.


Moderiert von user profile iconUGrohne: Topic aus Sonstiges (Delphi) verschoben am So 29.07.2007 um 10:14
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 28.07.07 18:23 
Mit WMI:
CIMV2
Win32_VideoController
AdapterRAM
Gahero Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 193

Win Vista HP 64bit
Delphi 2007 Pro
BeitragVerfasst: Sa 28.07.07 18:38 
Hab Nachsicht mit jmd der erst seid 1 Jahr delphi lernt und von dem was du da postets leider nichts versteht...^^
Hab bisschen über die Sachen gegoogelt, aber wie verbind ich das jetzt mit meinem Programm?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 28.07.07 20:03 
Hier steht gibts ein Beispiel zu dem Thema, das du natürlich ein wenig anpassen musst (du willst ja nur einen Wert auslesen und keine Liste):
www.delphipraxis.net...a+wmi+ermitteln.html
Gahero Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 193

Win Vista HP 64bit
Delphi 2007 Pro
BeitragVerfasst: Sa 28.07.07 22:20 
Ok, hab den code erstma eingefügt. beid er Unit WbemScripting_TLB sagt er mir die ist nicht da. Verständlicherweise, denn die WMI Scripting library fehlt. Hab ich durch google rausbekommen. Nur wo lad ich das teil runter un diwe binde ich es dann ein?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 28.07.07 22:29 
Hier haben andere das selbe Problem und da stehen auch noch andere Sachen zu WMI.
www.delphipraxis.net/topic43931,20.html
Und hier ist die Datei auch angehängt, die fehlt:
www.delphipraxis.net/post77262.html
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 29.07.07 15:49 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,
  ActiveX, WbemScripting_TLB;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Label1: TLabel;
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  aLoc: ISWbemLocator;
  aSrv: ISWbemServices;
  aObjSet: ISWbemObjectSet;
  pEnum: IEnumVARIANT;
  vOut: OleVariant;
  dwRetrieved: LongWord;
  hRes: HResult;
  cWQL, sWQL: string;
  st: TStringList;

implementation

{$R *.dfm}

function GetWMIstring (wmiHost, wmiClass, wmiProperty : string):string;
var  // These are all needed for the WMI querying process
  Locator:  ISWbemLocator;
  Services: ISWbemServices;
  SObject:  ISWbemObject;
  ObjSet:   ISWbemObjectSet;
  SProp:    ISWbemProperty;
  Enum:     IEnumVariant;
  Value:    Cardinal;
  TempObj:  OleVariant;
  SN: string;
begin
  try
  Locator := CoSWbemLocator.Create;
   Services :=  Locator.ConnectServer(wmiHost, 'root\cimv2''''''',''0nil);
  ObjSet := Services.ExecQuery('SELECT * FROM '+wmiClass, 'WQL',
    wbemFlagReturnImmediately and wbemFlagForwardOnly , nil);
  Enum :=  (ObjSet._NewEnum) as IEnumVariant;
  while (Enum.Next(1, TempObj, Value) = S_OK) do
  begin
    SObject := IUnknown(tempObj) as ISWBemObject;
    SProp := SObject.Properties_.Item(wmiProperty, 0);
    if VarIsNull(SProp.Get_Value) then
      result := ''
    else
    begin
      SN := SProp.Get_Value;
      result :=  SN;
    end;
  end;
  except // Trap any exceptions (Not having WMI installed will cause one!)
   on exception do
    result := '';
   end;
end;


procedure TForm1.FormActivate(Sender: TObject);
var tmpstr : string;
begin
tmpstr := getWMIstring('','Win32_VideoController ','AdapterRAM');
  if tmpstr <> '' then Label1.caption:= tmpstr +' Bytes VideoRAM';
end;

end.
Gahero Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 193

Win Vista HP 64bit
Delphi 2007 Pro
BeitragVerfasst: So 29.07.07 20:11 
Danke funktioniert...