Kriege WinApi nicht zum laufen
-
Hallo,
ich benutze VC++ Express und hab ein Problem mit der WinApi. Ich habe aber schon die SDK installiert, wie in dem Tutorial hier beschrieben:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-143003.htmlIch krieg aber diese Zeile nicht zum laufen:
WinApi.setWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOACTIVATE);Er sagt er kennt WinApi nicht aber wenn ich es weglasse kennt er setWindowPos nicht.
Meine includes:
#include "stdafx.h" #include "Form1.h" #include <windows.h>Die windows.h habe ich aber erfolgreich zum laufen bekommen mit dem Tut oben.

Weiß jetzt nicht was das Problem ist...
-
Was soll denn "WinApi" sein ? Nimm mal nur SetWindowPos ().
-
Ok dann kriege ich den Fehler:
SetWindowPos": Durch keine der 2 Überladungen konnten alle Argumenttypen konvertiert werden.
-
So ich habs so:
SetWindowPos(hWnd, int HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOACTIVATE);Jetz kriege ich noch einen Fehler hier:
static void Sticky(IntPtr hWnd) { Send(hWnd); IntPtr ProgmanHandle = GetShellWindow(); SetParent(hWnd, ProgmanHandle); }'HWND' kann nicht in 'System::IntPtr' konvertiert werden

-
Darf man fragen nach welchem Tutorial du da vorgehst?
System::IntPtr gibt es in reiner WinAPI nicht.
Das hört sich stark nach .NET an!
-
Also mittlerweile ist es ein C# projekt wollte es erst in C++ umsetzen.
Ich habs jetz so hinbekommen das es eigentlich super funktioniert ich hab nur noch ein Problem. Und zwar kennt er die Flags bei SetWindowsPos nicht:SetWindowPos(hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOOWNERZORDER | SWP_NOACTIVATE);Fehler 1 Der Name "SWP_NOMOVE" ist im aktuellen Kontext nicht vorhanden
usw usw
-
Ok habs hinbekommen. Musste die constanten erst definieren!
Danke für die Hilfe!
-
Die Defines sind auch in der WINAPI definiert, nehm ich an!
-
Ja das dachte ich ja auch aber er hat sie ja nicht gefunden, also hab ich selbst hinzugefügt

-
Ich sag ja , die sind in der WINAPI definiert, udn nicht in .NET! d.h. du musst sie manuel einfügen in dein Programm! Wenn du die WINAPI funktion in dein Programm einbaust, heist es nich das die Definitionen dabei sind!
-
Wer es noch nicht kennt: http://pinvoke.net/
Steuerst du von .NET aus nen Fremdfenster? Oder was machst du das was im .NET-Framework selbst nicht möglich ist?