CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Odczyt informacji o zasobach

Odczyt informacji o zasobach

dział ogólny

Odczyt informacji o zasobach

Nowy postprzez dan50 » sobota, 30 października 2010, 21:05

Na samym dole tej strony: patrz serwis Cyfrowy Baron jest skrypt jak odczytywać informacje o zasobach. Gdy wpisałem ten kod do buildera to wyskoczyła informacja o bibliotekę wbemuuid.lib . Znalazłem ją w visualu i dodałem do buildera, ale po kompilacji wyskoczył mi taki błąd: [Linker Error] 'C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\WBEMUUID.LIB' contains invalid OMF record, type 0x21 (possibly COFF).

Z tego co znalazłem w internecie to wina tego że biblioteka którą znalazłem nie jest przystosowana do buildera (w co wątpię).

Dokładnie to szukam informacji jak napisać kod, żeby odczytywał temperaturę z procesora. Dlatego chciałem sprawdzić jak działa ten kod na stronie którą podałem. Gdyby ktoś wiedział jak napisać coś takiego to byłbym wdzięczny.
Avatar użytkownika
dan50
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): sobota, 30 października 2010, 20:42
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: vista
Kompilator: C++ Builder 6.0
Gadu Gadu: 0
    Windows VistaFirefox

Re: Odczyt informacji o zasobach

Nowy postprzez Cyfrowy Baron » niedziela, 31 października 2010, 08:31

Przede wszystkim uzupełnij profil by było wiadomo jakiej wersji środowiska używasz. Biblioteka ze środowiska Visal Basic, czy każdego innego nie będzie współpracowała z bibliotekami środowiska C++Builder, te biblioteki nie są przenośne. Środowisko C++Builder w każdej wersji zawiera bibliotekę wbemuuid.lib, znajduje się ona w katalogu: C:\Program Files\Embarcadero\RAD Studio\7.0\lib\psdk\. Ścieżka dostępu będzie się oczywiście różnić w zależności od wersji środowiska.

Kod przedstawiony w serwisie Cyfrowy Baron w poradzie: Wyliczanie usług systemu Windows (na tą poradę wskazuje przytoczony przez Ciebie link) - tworzyłem i testowałem w środowisku C++Builder 2006, przetestowałem go również w środowisku C++Builder 2010. W obydwu wersjach dołączanie biblioteki WBEMUUID.LIB nie jest potrzebne.




Na samym dole tej strony: http://cyfbar.republika.pl/api6.html jest skrypt jak odczytywać informacje o zasobach


Na samym dole strony więc może chodzić o poradę: Odczytywanie informacji o zasobach komputera za pomocą protokołu WMI.
Jeżeli chodzi o tą poradę, to trzeba oczywiście dołączyć nagłówek #include <Wbemidl.h> oraz bibliotekę wbemuuid.lib.
Bibliotekę *.LIB możesz dołączyć do projektu na jeden z dwóch sposobów. Pierwszy sposób to wybierasz w menu: Project -> Add to project... i szukasz potrzebnej biblioteki *.LIB.
Drugi prostszy sposób to linkujesz bibliotekę w kodzie programu:

KOD cpp:     UKRYJ  
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

#include <Wbemidl.h>
//-------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

#pragma comment(lib, "wbemuuid.lib")   // <-- tutaj dołączasz potrzebną bibliotekę.

TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{

}


można również zamiast: #pragma comment(lib, "wbemuuid.lib") - podlinkować ją w ten sposób:

KOD cpp:     UKRYJ  
#pragma link "wbemuuid.lib"


Drugi sposób jest o tyle lepszy, że nie musisz szukać biblioteki na dysku, gdyż kompilator sam ją odnajdzie.

Usuń tą bibliotekę skopiowaną z Visual'a. Na przyszłość nie kombinuje w ten sposób, gdyż środowisko C++Builder zawiera wszystkie niezbędne biblioteki.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Odczyt informacji o zasobach

Nowy postprzez dan50 » niedziela, 31 października 2010, 13:52

Po pierwsze nie mam takiego katalogu Embarcadero\RAD Studio\7.0\lib\psdk\. Szukałem na wszystkich partycjach tej biblioteki i jedynie znalazło w visualu. A jak dołączyłem to co podałeś w drugim sposobie to wyskoczyło: [Linker Fatal Error] Fatal: Unable to open file 'WBEMUUID.LIB'.
Avatar użytkownika
dan50
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): sobota, 30 października 2010, 20:42
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: vista
Kompilator: C++ Builder 6.0
Gadu Gadu: 0
    Windows VistaFirefox

Re: Odczyt informacji o zasobach

Nowy postprzez Cyfrowy Baron » niedziela, 31 października 2010, 17:03

dan50 napisał(a):Po pierwsze nie mam takiego katalogu Embarcadero\RAD Studio\7.0\lib\psdk\.


Przecież napisałem:

Cyfrowy Baron napisał(a):Ścieżka dostępu będzie się oczywiście różnić w zależności od wersji środowiska.


wiec chodzi o katalog: ..\lib\psdk\ który masz na pewno, u Ciebie jest to pewnie: C:\Program Files\Borland\CBuilder6\lib\psdk.

W C++Builder 6 z jakiegoś powodu brak tej biblioteki. Na priv w załączniku wysyłam ci liba. Zobacz czy z nim działa. Skopiuj go do ..\lib\psdk.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
dan50
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Odczyt informacji o zasobach

Nowy postprzez dan50 » niedziela, 31 października 2010, 20:05

Dzięki działa.
Skrypt ze stronki też. Odczytuje informacje o systemie, ale temperatury nie pokazuje. Będę musiał poszukać jak inaczej wydobyć temperaturę.
Informacje o systemie też się przydadzą do programu.

Jeszcze raz dzięki.
Avatar użytkownika
dan50
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): sobota, 30 października 2010, 20:42
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: vista
Kompilator: C++ Builder 6.0
Gadu Gadu: 0
    Windows VistaFirefox

Re: Odczyt informacji o zasobach

Nowy postprzez Cyfrowy Baron » niedziela, 31 października 2010, 20:27

WMI jest bardzo kapryśne. Wydobycie informacji o sprzęcie zależy od tego, czy producent sprzętu dodał do sterowników obsługę WMI.
Jeżeli opracujesz metodę odczytu temperatury to liczę iż podzielisz się tym na forum.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Odczyt informacji o zasobach

Nowy postprzez szatek » piątek, 17 grudnia 2010, 22:19

Również mam Buildera 6 i nie mam biblioteki wbemuuid.lib. Jeżeli ktoś mógłby mi przesłać będę bardzo wdzięczny.
Avatar użytkownika
szatek
Bladawiec
Bladawiec
 
Posty: 2
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Arch Linux
Windows XP SP2
Kompilator: C++ Builder 6
Gadu Gadu: 3401308
    Windows XPFirefox

Re: Odczyt informacji o zasobach

Nowy postprzez porcupino » piątek, 22 kwietnia 2011, 10:21

czy mógłbyś mi przesłać wbemuuid.lib i dll, na adrews grzegorzsol@gmail.com
Avatar użytkownika
porcupino
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): piątek, 22 kwietnia 2011, 07:06
Lokalizacja: Oświęcim, małopolskie
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Win7 64bit
Kompilator: C++ Builder XE4
Gadu Gadu: 0
    LinuxOpera

Re: Odczyt informacji o zasobach

Nowy postprzez Igloczek » piątek, 27 maja 2011, 18:28

Ja też bym poprosił o podesłanie biblioteki WMI do Buildera 6, na meila. Igloczek@gmail.com.

Z góry dziękuję.
Avatar użytkownika
Igloczek
Bladawiec
Bladawiec
 
Posty: 1
Dołączył(a): piątek, 27 maja 2011, 18:26
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows 7Opera

Re: Odczyt informacji o zasobach

Nowy postprzez Cyfrowy Baron » piątek, 27 maja 2011, 19:01

Biblioteki nie wystarczą. Jeżeli środowisko obsługuje WMI to ma już te biblioteki. Sama biblioteka nie wystarczy, potrzebne są inne biblioteki jak chociażby Wbemidl.h, które są dostosowane do wersji środowiska. Jeżeli nie masz takiej biblioteki w swoim środowisku, to znaczy, że nie obsługuje ono WMI i musisz się przesiąść na nowszą wersję środowiska.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 5 gości