1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Bildschirmauflösung mit Visual C++ 2005

  • Stephe
  • 8. Juni 2007 um 21:13
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Stephe
    Punkte
    6.038
    Beiträge
    968
    • 8. Juni 2007 um 21:13
    • #1

    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?

  • wolfmann
    Punkte
    1.252
    Beiträge
    238
    • 8. Juni 2007 um 21:48
    • #2

    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.

  • hal
    Punkte
    11.122
    Beiträge
    2.208
    • 8. Juni 2007 um 21:55
    • #3

    Dir fehlt eine Library.

  • robotics
    Punkte
    70
    Beiträge
    9
    • 10. Juni 2007 um 10:49
    • #4
    Zitat von Stephe


    "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.

  • Stephe
    Punkte
    6.038
    Beiträge
    968
    • 10. Juni 2007 um 11:57
    • #5

    und was heißt das jetzt für ganz dumme?

  • Wolfibolfi
    Punkte
    14.936
    Beiträge
    2.942
    • 10. Juni 2007 um 14:08
    • #6

    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.

  • Stephe
    Punkte
    6.038
    Beiträge
    968
    • 10. Juni 2007 um 16:29
    • #7

    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:

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum