Prozessornamen & Geschwindikeit ermitteln



  • Hallo Leute,

    Kann man mit der WINAPI den Prozessornamen und die geschwindikeit ermitteln ?
    und villeicht noch die Features?

    Ich möchte nämlich gern ein Programm schreiben der den Prozessor identifiziert.
    (wie CPU-Z)

    Ich habe leider keine Ahnung wie ich das anstellen soll 😕
    Kann mir das jemand erklären ??

    Bitte helft mir

    Gruß __stdcall*



  • Schau dir mal die WMI-Klasse Win32_Processor an - für den Umgang mit WMI wirst du sciher über die Forensuche fündig 🙂



  • __stdcall* schrieb:

    Ich möchte nämlich gern ein Programm schreiben der den Prozessor identifiziert.

    int main(){
       return system("echo %PROCESSOR_ARCHITECTURE% && echo %PROCESSOR_IDENTIFIER% && echo %PROCESSOR_LEVEL% && echo %PROCESSOR_REVISION%");
    }
    


  • volkard schrieb:

    __stdcall* schrieb:

    Ich möchte nämlich gern ein Programm schreiben der den Prozessor identifiziert.

    int main(){
       return system("echo %PROCESSOR_ARCHITECTURE% && echo %PROCESSOR_IDENTIFIER% && echo %PROCESSOR_LEVEL% && echo %PROCESSOR_REVISION%");
    }
    

    zu gefährlich. kann man faken 🤡



  • cpu. schrieb:

    zu gefährlich. kann man faken 🤡

    und? warum soll der user nicht faken dürfen? ging es darum, den prozessor rauszufinde, um optimalen code zu bauen, oder ging es nur um nen kopierschutz?



  • es ging wohl darum die echten daten auszugeben aus sicherer quelle.



  • fett danke 🤡

    werd mir jetzt mal die WMI Klasse genauer anschauen,
    P.S: Wenn ich die Win32 Processor WMI-klasse benutz kommt dann am schluss der Name also z.b. Intel Pentium 4 ... raus?

    und welche Dateien muss ich includen ?

    gruß __stdcall*



  • Ich hab vor einiger Zeit Timer Funktionen geschrieben, welche die CPU Frequenz mit CallNtPowerInformation auslesen. Mit der Funktion kann man auch noch einiges mehr machen, allerdings fehlt mir da der Überblick. Vielleicht ist es ja für dich hilfreich.



  • So jetzt hab ich mir in der MSDN die initialisierung von COM und WMI angeschaut.

    Denn Code hier hab ich dann kopiert

    #define _WIN32_DCOM
    #include <iostream>
    using namespace std;
    #include <windows.h>
    #include <comdef.h>
    #include <wbemcli.h>
    #include <objbase.h>
    #include <oledb.h>
    #include <wbemidl.h>
    # pragma comment(lib, "wbemuuid.lib")
    

    Wenn ich eine Win32 Anwendung erstelle und mit WinMain Methode kompilieren will spukt er folgendes aus:

    Kompilierung läuft...
    f.cpp
    c:\programme\microsoft visual studio\vc98\include\comutil.h(101) : fatal error C1001: INTERNER COMPILER- FEHLER
    (Compiler-Datei "msc1.cpp", Zeile 1786)
    Bitte wählen Sie im Menü "?" von Visual C++
    den Befehl "Software Service", oder öffnen Sie die Hilfedatei für den Software Service, um weitere Informationen zu erhalten
    Fehler beim Ausführen von cl.exe.

    Was kann ich da machen 😕 😕

    gruß __stdcall*



  • __stdcall* schrieb:

    Was kann ich da machen 😕 😕

    Nichts! Interne Compiler Fehler kannst du nicht verfolgen, ausser du hast den Compiler Quellcode. 🙂 Ich würde dir empfehlen, eine aktuelle Compiler Version (mindestens 7.1) und ein aktuelles Platform SDK zu verwenden.



  • Des is zum heulen, 😞 😞 bei meinem PC funzt nix!!

    Woher bekomm ich einen aktuellen Compiler ? -> Villeicht VC++ Express Beta2 ?

    Das Platform SDK hab ich mir vor ein paar taken gesaugt.

    gruß __stdcall*



  • __stdcall* schrieb:

    Woher bekomm ich einen aktuellen Compiler ? -> Villeicht VC++ Express Beta2 ?

    Zum Bleistift. Es gibt aber auch VC++ Toolkit 2003.



  • lol, des Toolkit hab ich auch. 🕶

    Du sagtest du hast Timerfunktionen geschrieben? kann ich die haben ?

    gruß __stdcall*





  • ein fettes DANKE an alle die mir geholfen haben,
    Ich versuchs einfach (selber beibringe schadet nie 😉 ). irgendwie wird es scho klappe 😃

    Gruß __stdcall*



  • Ok, jetzt gehts ich hab mir jetzt den Code von CAMEL

    [url]
    http://www.codeproject.com/system/camel.asp
    [/url]

    angeschaut und jezt Funktionierts. 🕶

    Jezt gibt er nämlich den Namen aus. *endlich*

    Ich sag JA: Ich schaffs noch

    Gruß __stdcall*



  • __stdcall* schrieb:

    Du sagtest du hast Timerfunktionen geschrieben? kann ich die haben ?

    Kommt drauf an, was du brauchst. Letztendlich sind es einige Helper Funktionen, die in einer Stoppuhr Klasse landen. Funktioniert mit clock(), QueryPerformanceCounter() und rdtsc. Je nachdem, wie portabel man bleiben will bzw welche Hardware man zur Verfügung hat.


Anmelden zum Antworten