Bildschirmauflösung mit Visual C++ 2005

  • Ich will die aktuelle Bildschirmauflösung abfragen.
    Normalerweise geht das mit

    int cx = GetSystemMetrics(SM_CXSCREEN);
    int cy = GetSystemMetrics(SM_CYSCREEN);

    mit vorherigem #include <windows.h>

    Beim kompillieren bekomm ich aber immer ein

    "Nicht aufgelöstes Token (0A000010) ""extern "C" int __stdcall GetSystemMetrics(int)" (?GetSystemMetrics@@$$J14YGHH@Z)", auf das in Funktion ""private: void __clrcall bulbfiction1::Form1::InitializeComponent(void)" (?InitializeComponent@Form1@bulbfiction1@@$$FA$AAMXXZ)" verwiesen wird."

    Was soll denn das wieder heißen?

  • Kommt der fehler wirklich beim compilen? schaut mir eher nach nen linker error aus.

    Welchen Projekt typ hast du? native win 32 oder managed.

    Ausserdem währen die compile und linker flags ganz nützlich.

    -------------------
    “If you hear hoof beats, you should look for horses, not zebras.”
    --
    "You, Sir, are an Idiot!" - George Hamilton

  • Dir fehlt eine Library.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!


  • "Nicht aufgelöstes Token (0A000010) ""extern "C" int __stdcall GetSystemMetrics(int)" (?GetSystemMetrics@@$$J14YGHH@Z)", auf das in Funktion ""private: void __clrcall bulbfiction1::Form1::InitializeComponent(void)" (?InitializeComponent@Form1@bulbfiction1@@$$FA$AAMXXZ)" verwiesen wird."

    Was soll denn das wieder heißen?

    Das ist kein Compiler sondern Linker error. Da fehlt dem Linker wohl die WinApi ImportLib.

  • d.h. dass dein Code mit hoher Wahrscheinlichkeit passt, und du eine lib hinzufügen musst.

    Normale Vorgangsweise:
    1) Nach dem Befehl googeln, in diesem fall nach GetSystemMetrics, eventuell msdn dazuschreiben, wenns ein MS-typischer Befehl ist.
    2) Dein Mausrad liebkosen, bis du am untern Ende der Seite bist, da steht dann, welches File zu includen ist, und welche Lib gelinkt werden muss.
    3) Da steht dann: Header Declared in Winuser.h; include Windows.h. (das hast du ja schon
    Und: Library Use User32.lib.
    4) Da wälzt du dich durch die Projekteinstellungen, und suchst "Linker" und "Input" oder so. Irgendein Textfeld, wo schon einige .lib Dateien stehn, wirst scho finden, da schreibst dann User32.lib dazu, und dann sollts gehn.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • ja das mit User32.lib hab ich schon gelesen, war mir nur nicht ganz klar wo das hingehört ;)

    habs jetzt mit

    #pragma comment(lib, "User32.lib")

    gemacht. funktioniert jetzt :thumb:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!