AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

display device Info API?

Ein Thema von Thurgen · begonnen am 15. Sep 2002 · letzter Beitrag vom 19. Sep 2002
Antwort Antwort
Thurgen

Registriert seit: 11. Sep 2002
27 Beiträge
 
#1

display device Info API?

  Alt 15. Sep 2002, 22:57
Hi,

nochmal eine Frage an die API Profis

wie kann ich den Namen der eingebauten Grafikkarte erfahren (nicht über Registry auslesen)? Ich habe diese API Funktion gefunden

Win32_DisplayConfiguration

http://msdn.microsoft.com/library/de...figuration.asp

aber laut MS geht sie nur mit NT/xp. Kennt einer eine andere Funktion die mir mit allen Win Versionen (win 95 muss es nicht umbedingt sein) den Namen der Grafikkarte anzeigt?
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2
  Alt 16. Sep 2002, 06:29
Guck doch mal im EDH, bzw. in den bekannten Foren, nach der Funktion zum Ändern der Bildschirmauflösung usw. In der dort benutzten Strukur namens "DEVMODE", bzw. "TDeviceMode", gibt es eine "dmDeviceName"-Eigenschaft, die den Namen enthalten müsste.

Ich habe sogar mal ein entsprechendes Beispiel gesehen. Ich weiß bloß nicht mehr wo. Deswegen: schau mal nach.
  Mit Zitat antworten Zitat
Thurgen

Registriert seit: 11. Sep 2002
27 Beiträge
 
#3
  Alt 18. Sep 2002, 12:19
danke, werde gleich mal nachschauen
  Mit Zitat antworten Zitat
Thurgen

Registriert seit: 11. Sep 2002
27 Beiträge
 
#4
  Alt 18. Sep 2002, 23:47
also beim suchen habe ich diese Struktur gefunden, aber so recht schlau werde ich nicht damit

typedef struct _devicemode {
BCHAR dmDeviceName[CCHDEVICENAME];
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
union {
struct {
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
};
POINTL dmPosition;
DWORD dmDisplayOrientation;
DWORD dmDisplayFixedOutput;
};

short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
BYTE dmFormName[CCHFORMNAME];
WORD dmLogPixels;
DWORD dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
union {
DWORD dmDisplayFlags;
DWORD dmNup;
}
DWORD dmDisplayFrequency;
#if(WINVER >= 0x0400)
DWORD dmICMMethod;
DWORD dmICMIntent;
DWORD dmMediaType;
DWORD dmDitherType;
DWORD dmReserved1;
DWORD dmReserved2;
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
DWORD dmPanningWidth;
DWORD dmPanningHeight;
#endif
#endif /* WINVER >= 0x0400 */
} DEVMODE;
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5
  Alt 19. Sep 2002, 11:12
Warum nicht? Da steht´s doch:
Code:
BCHAR dmDeviceName[CCHDEVICENAME];
  Mit Zitat antworten Zitat
Thurgen

Registriert seit: 11. Sep 2002
27 Beiträge
 
#6
  Alt 19. Sep 2002, 12:12
also mein Problem ist es den String auszulesen. DevMode irgendwelche werte zuweisen ist kein Thema

function NewRes(XRes, YRes: DWORD; Frequency: Cardinal): Integer;
var
DevMode: TDeviceMode;
begin
EnumDisplaySettings(nil, 0, DevMode);
DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or DM_DISPLAYFREQUENCY;
DevMode.dmPelsWidth := XRes;
DevMode.dmPelsHeight := YRes;
DevMode.dmDisplayFrequency := Frequency;
Result := ChangeDisplaySettings(DevMode, 0);
end;

aber wie schaffe ich es das DevMode.dmDeviceName einen Wert zugewiesen bekommt mit dem ich was anfangen kann?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz