Infos vom Rechner



  • Hallo

    Da ich hier noch nicht lange zu gast bin fällt es mir schwer das richtige Forum für diese Frage zu finden. Darum eine ganz liebe Entschuldigung falls ich ausversehen das falsche Forum erwischt haben sollte.

    Ich habe mit C++ eine Anwendung geschrieben die auf der Konsole läuft. Ich würde sehr gern einige Informationen mit meiner Konsolenanwendung über den Rechner verarbeiten, auf dem die Anwendung läuft. Speichern möchte ich die Informationen in char Variablen.
    Mein Problem ist das ich keine Ahnung habe wie ich an die Informationen komme.

    Jetzt ist natürlich die Frage welche Informationen ich denn brauche. *zwinker*
    Für mein Programm brauche ich:

    - Computernamen
    - Namen des angemeldeten Benutzers
    - Titel des aktiven Fensters in dem der Benutzer zurzeit Arbeitet
    - IP-Adresse des Computers
    - Größe des Prozessors
    - Uhrzeit auf dem Computer (am besten so mit Doppelpunkt in einer Char aber fummel ich mir das selbst zusammen)
    - Größe einzelner Festplatten (also z.B. C: - wie groß ist die Partition)
    - Größe des Arbeitsspeichers
    - Hersteller des Computeres
    - Arbeitsgruppe in der der Computer ist

    Ich denke nicht, das es einen Menschen gibt der mir zu jedem Punkt sagen kann wie ich die Informationen in einer char speichern kann. Aber wenn viele leute etwas wissen kann mir geholfen werden. *freu*

    Ich würd mich wirklich riesig freuen falls mir jemand Antwortet.
    Ich finde dieses Forum hier nämlich wirklich klasse.

    Viele liebe Grüße
    Franzi



  • Über WMI bzw. die WinAPI sollte das meiste abzufragen sein.
    Google danach.
    Simon



  • Ganz bestimmt ist über die API das meiste abzufragen. Da hat simon recht. Kommt nur darauf an welchen Funktionen du benutzt und wo du was zu denen finden tust.
    Der Tipp mit google ist gut aber du findest zu einigen Themen nüscht, selbst als googleperte!

    Zumindest auf zwei sachen weiß ich schonmal ne Antwort:

    Computername

    DWORD nSize;
    char com_name[255]; 
    nSize = sizeof(com_name); 
    GetComputerName(com_name, &nSize);
    

    Benutzername

    DWORD nSize; 
    char user_name[255]; 
    nSize = sizeof(user_name); 
    GetUserName(user_name, &nSize);
    

    Wieviel hast du denn eigentlich schon vom Rest oder hast du noch überhaupt nüscht Franzi?



  • Zunächst mal Danke Sternchen für deine Hilfe - die Funktionen funktionieren klasse.

    Also ich hab total viel zu gesucht um den titel des aktiven Fensters herauszufinden. Nun hab ich folgende API funktion gefunden:

    int GetWindowText(HWND hWnd, LPTSTR lpString, int nMaxCount)
    

    Soweit so gut - nur so wie ich die Funktion aufrufe scheint es falsch zu sein, denn da passiert nix:

    HWND AktivesFenster;
    char Titel[255];
    AktivesFenster = GetActiveWindow();
    GetWindowText(AktivesFenster,Titel,255);
    

    Als alternative zu GetActiveWindow() hab ich auch GetFocus ausprobiert - leider ohne Erfolg.

    Mir scheint als ob ich garnichts in der HWND geladen kriege.

    Freue mich über jede Hilfe.

    Viele Grüße

    Franzi



  • Hallo,

    Fanziska schrieb:

    Zunächst mal Danke Sternchen für deine Hilfe - die Funktionen funktionieren klasse.

    Also ich hab total viel zu gesucht um den titel des aktiven Fensters herauszufinden. Nun hab ich folgende API funktion gefunden:

    int GetWindowText(HWND hWnd, LPTSTR lpString, int nMaxCount)
    

    Soweit so gut - nur so wie ich die Funktion aufrufe scheint es falsch zu sein, denn da passiert nix:

    HWND AktivesFenster;
    char Titel[255];
    AktivesFenster = GetActiveWindow();
    GetWindowText(AktivesFenster,Titel,255);
    

    Als alternative zu GetActiveWindow() hab ich auch GetFocus ausprobiert - leider ohne Erfolg.

    Mir scheint als ob ich garnichts in der HWND geladen kriege.

    Freue mich über jede Hilfe.

    Viele Grüße

    Franzi

    verwende GetForegroundWindow. Aber auch hier kann es sein, dass NULL zurück geliefert wird, ist aber trotzdem besser, weil auch Fenster, die von anderen Threads erstellt wurden, erfasst werden.

    MfG,

    Probe-Nutzer


Anmelden zum Antworten