GetAsyncKeyState Problem....



  • Habe ein Problem:

    Wenn ich GetAsyncKeyState() aufrufe schreit der Compiller förmlich und sagt mir:

    1>Test.obj : error LNK2028: Nicht aufgelöstes Token (0A000010) ""extern "C" short __stdcall GetAsyncKeyState(int)" (?GetAsyncKeyState@@$$J14YGFH@Z)", auf das in Funktion ""private: void __clrcall KEYLOGGA::Form1::Form1_Load(class System::Object ^,class System::EventArgs ^)" (?Form1_Load@Form1@KEYLOGGA@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)" verwiesen wird.
    1>Test.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" short __stdcall GetAsyncKeyState(int)" (?GetAsyncKeyState@@$$J14YGFH@Z)" in Funktion ""private: void __clrcall KEYLOGGA::Form1::Form1_Load(class System::Object ^,class System::EventArgs ^)" (?Form1_Load@Form1@KEYLOGGA@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)".
    1>C:\Dokumente und Einstellungen\****\Eigene Dateien\C++ Projekte\Test\Debug\Test.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
    

    Der Code ist:

    if(GetAsyncKeyState('A') == -32767) {
    
    MessageBox::Show("A wurde gedrückt","Erfolg");
    }
    

    Stimmt vielleicht etwas mit der windows.h nicht? 🙂

    Hilfe?!??!



  • Nicht native mit C++/CLI mischen, geht meist schief...



  • Felize schrieb:

    Nicht native mit C++/CLI mischen, geht meist schief...

    an der Stelle nicht ... probleme gibt es beim Pointer durchreichen etc. ... hier muss nur noch die richtige LIB eingebunden werden ... welche - steht in der MSDN bei GetAsyncKeyState()



  • Naja, es geht deswegen meistens schief, weil sich die Programmierer nicht im klaren sind, was sie dabei anstellen... geschweige denn, dass sie den unterschied wüssten... 😞



  • mogel schrieb:

    Felize schrieb:

    Nicht native mit C++/CLI mischen, geht meist schief...

    an der Stelle nicht ... probleme gibt es beim Pointer durchreichen etc. ... hier muss nur noch die richtige LIB eingebunden werden ... welche - steht in der MSDN bei GetAsyncKeyState()

    Also mein Code sieht jetzt so aus:

    #include <windows.h>
    #include <winuser.h>
    
    #pragma(lib,"User32.lib")
    

    und dann in der Form halt die GetAsyncKeyState Funktion.

    Kommen aber noch die gleichen Fehlermeldungen?!

    HILFE !



  • Das heisst<:

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

Anmelden zum Antworten