[DELPHI] Wykrywanie karty graficznej...

0

Witam. Mam pytanie czy można napisać program w Delphi, który by wykrył model karty graficznej oraz ilość RAMu karty ? Proszę o odpowiedź oraz o wskazówki :-P Z góry dziękuje i pozdrawiam ;-)

0

To jest gdzies w rejestrze.... wez otworz regedit i wyszukaj swoja karte graficzna.. i jak znajdziesz to prawdobodobnie tam jest zapisywana nazwa karty.

0

To to wiem, ale chodziło mi o wykrycie nazwy ale nie z rejestru.

0

Ale właśnie w rejestrze system przechowuje wirtualne gałęzie, odpowiadające za identyfikację aktualnie podpiętego sprzętu.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}
W powyższym kluczu, każdy podklucz z czterocyfrowym numerem odpowiada kolejnej karcie graficznej (bardziej precyzyjnie - jej sterownikowi). W ciągu:
MatchingDeviceId
zapisany jest identyfikator urządzenia (w innych ciągach też znajdziesz informacje o sterowniku).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\{WARTOŚĆ SPOD KLUCZA MatchingDeviceId}
W kluczu tym znajdziesz więcej informacji o samym urządzeniu (niestety bez ilości pamięci RAM; raczej standardowe informacje dotyczące każdego urządzenia).

0

Kurcze, pisałem że ten sposób znam ... znacie może program Aida ? Teraz zmienił nazwę na Everest. Ten program potrafi wykryć nazwe karty, pamięć bez żadnych rejestrów, nawet sterownik nie musi byc zainstalowany, on po prostu wykrywa sprzęt. Więc można coś podobnego wykonać w Delphi? Chodzi mi o takie funkcje jak: model, ilość ram'u, szyna, obsługa DirectDraw, Direct3D oraz przyśpieszenia AGP. ;]

0

Ujmę to tak: jeśli napiszesz uprzywilejowany sterownik (tu odsyłam do manuala DDK), system operacyjny może Ci pozwolić na bezpośrednie sterowanie sygnałami wysyłanymi po magistralach. W ramach odpowiednich klas urządzeń (na przykład USB, AGP, czy PCI) istnieją standardowe procedury enumeracji i identyfikacji sprzętu [we współczesnym sprzęcie prawie zawsze w oparciu o rozwinięcie Plug and Play].

W takiej sytuacji musisz samodzielnie odpytać każde urządzenie czy nie jest kontrolerem AGP lub PCI, a jeśli jest to czy pod nie podpięta jest poszukiwana karta graficzna. Sprzęt nie dostarcza wszystkich informacji odnośnie wspieranych technologii jak DirectX czy informacji o stanie pracy. Część z nich musisz pobrać z urządzeń nadrzędnych (przyspieszenie pobiera się z płyty głównej, a nie karty graficznej, która jest w nią wpięta), część z plików sterownika (a jak ich nie masz to musisz dysponować własną bazą danych).

Robiłem już takie rzeczy z USB/HID, ale do tego nie potrzebowałem uprzywilejowanego sterownika, bo wystarczył program, otwierający urządzenia jako pliki i komunikujący sie z nimi. Natomiast sterownik potrzebujesz, by zapytać o urządzenia w stylu płyta, ram, procesory, grafika itp, czyli te, które system musi tymczasowo odłączyć byś mógł z nich skorzystać (jak grafika) lub które będzie musiał z Tobą współdzielić (procesory czy płyta główna).

Jeśli pytasz o to (bo nie wiesz czego lub gdzie szukać) i jeszcze próbujesz zaimplementować to w Delphi (nie mówię, że się nie da, ale każda osoba pisząca pod sprzęt wybrałaby raczej C++ ze względu na dostępność plików nagłówkowych DDK i brak potrzeby uzupełniania w nich czegokolwie) to niestety nie wróżę Ci powodzenia.

Więcej szczegółów w DDK, które darmowe nie jest :/

Więcej pomóc Ci nie mogę.

0

Aha, no cuż będę musiał coś innego wykombinować ;-) może jednak wezme z rejestru... dziękuję, za zainteresowanie moim wątkiem :-) pozdrawiam

0

Zobacz komponenty MiTeC ponoć mają w sobie taki bajer :) [niestety są płatne]

0

Oo już lookam. Ale są wersje Trial? Działają na Borland Delphi 7? :-)

0

Trial są owszem :) i działają na D7 nawet chyba na wersji Personal działały ale nie pamiętam już :0

1 użytkowników online, w tym zalogowanych: 0, gości: 1