DEV-C++ mag <winuser.h> nicht

DEV-C++

Ich möchte die Funktion SendInput sowie Strukturen etc benutzen die in der <winuser.h> definiert sind

aber es kommt immer der Fehler:
`xxxx` undeclared (first use this function)

(für xxxx sezt man eine Funktion/Struktur ein)
 
zeig mal bitte deinen code. und poste auch mal die vollständige fehlermeldung ohne das ersetzen mit "xxxx".
 
@reg2,

hast Du wirklich geschaut, ob die von Dir aufgerufene Funktion wirklich
im Header deklariert ist?

Wird der Header < winuser.h> oder "winuser.h" aufgerufen?

Ist die Headerdatei Original DEV-C oder etwa bei einem
anderen Compiler geborgt?


Golgy.
 
Original von ivegotmail
zeig mal bitte deinen code. und poste auch mal die vollständige fehlermeldung ohne das ersetzen mit "xxxx".


Code:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

//[...]

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
{
    INPUT put[1]; //Fehlermeldung: `INPUT' undeclared (first use this function)
    put[0].type = INPUT_MOUSE; //Fehlermeldung: `INPUT_MOUSE' undeclared(first use this function) 
    // +++ put undeclared(first use this function)
    put[0].mi.dx = 0;
    put[0].mi.dy = 0;
    put[0].mi.mouseData =0;
    put[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;

    SendInput(1,put,sizeof(INPUT)); //Fehlermeldung: `SendInput' undeclared (first use this function)

//[...]
}

nochmal die Fehlermeldungen:
C:\Dev-Cpp\Projects\KlikKlik\main.cpp In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
27 C:\Dev-Cpp\Projects\KlikKlik\main.cpp `INPUT' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
27 C:\Dev-Cpp\Projects\KlikKlik\main.cpp expected `;' before "put"
28 C:\Dev-Cpp\Projects\KlikKlik\main.cpp `put' undeclared (first use this function)
28 C:\Dev-Cpp\Projects\KlikKlik\main.cpp `INPUT_MOUSE' undeclared (first use this function)
33 C:\Dev-Cpp\Projects\KlikKlik\main.cpp `SendInput' undeclared (first use this function)
C:\Dev-Cpp\Projects\KlikKlik\main.cpp In function `void klick()':
// [...]




Original von Golgotha
hast Du wirklich geschaut, ob die von Dir aufgerufene Funktion wirklich
im Header deklariert ist?

Wird der Header < winuser.h> oder "winuser.h" aufgerufen?
Ich habe die <windows.h> inlcuded
und diese included <winuser.h>
in <winuser.h> steht SendInput(...)/etc



Original von Golgotha
Ist die Headerdatei Original DEV-C oder etwa bei einem
anderen Compiler geborgt?
Hmm. keine Ahnung ;)
Habe Dev-C++ installiert und includes so gelassen wie sie sind.
 
Das Problem ist doch hier wohl eher, dass der Datentyp INPUT nicht bekannt ist. Ich code nicht unter Windows, weiss daher nicht, ob der in der windows.h drin ist, aber ich würde erstmal da ansetzen und nachschauen, wo dieser Datentyp definiert ist. Muss ja irgendwo dafür eine typedef geben.
 
Original von bitmuncher
Das Problem ist doch hier wohl eher, dass der Datentyp INPUT nicht bekannt ist. Ich code nicht unter Windows, weiss daher nicht, ob der in der windows.h drin ist, aber ich würde erstmal da ansetzen und nachschauen, wo dieser Datentyp definiert ist. Muss ja irgendwo dafür eine typedef geben.


Er ist ja deklariert, aber es geht trotzdem nicht :(

Auszug aus <windows.h>
Code:
#ifndef _WINUSER_H
#include <winuser.h>
#endif


Auszug aus <winuser.h>
Code:
typedef struct tagINPUT {
  DWORD type;
  _ANONYMOUS_UNION union {
    MOUSEINPUT mi;
    KEYBDINPUT ki;
    HARDWAREINPUT hi;
  } DUMMYUNIONNAME;
} INPUT,*PINPUT,*LPINPUT;
 
Gib mal beim Kompilieren mit der Compiler-Option '-I/pfad/zu/den/headerdateien/' den Include-Pfad mit an um sicherzustellen, dass er die Datei windows.h auch wirklich findet. Bsp: -I"C:/Programme/Dev-Cpp/include/c++/3.4.2/mingw32" (Pfad natürlich entsprechend deinen Gegebenheiten anpassen)
 
Original von bitmuncher
Gib mal beim Kompilieren mit der Compiler-Option '-I/pfad/zu/den/headerdateien/' den Include-Pfad mit an um sicherzustellen, dass er die Datei windows.h auch wirklich findet. Bsp: -I"C:/Programme/Dev-Cpp/include/c++/3.4.2/mingw32" (Pfad natürlich entsprechend deinen Gegebenheiten anpassen)


hat leider nicht funktioniert :/
<windows.h> scheint schon included zu sein, ich kann ein Windows Fenster machen.

Aber <winuser.h> will irgendwie nicht.

Original von Golgotha
Heisst der Typ nicht tagINPUT ??


Ersetzt Du es bitte mal und probierst zu compilieren?

Golgy

imo heisst der Datentyp INPUT,*PINPUT,*LPINPUT;

naja, habe es mal in tagINPUT umbenannt, hat auch nicht geholfen.





ich muss wohl etwas fundamentales vergessen haben, ich programmiere sonst kein C und habe Dev-C++ grad erst installiert.
 
Zurück
Oben