Velena Skrevet 14. juni 2008 Del Skrevet 14. juni 2008 (endret) Jeg vanker vanligvis i C# forumet, men har nå kommet i en situasjon hvor jeg trenger å vite hvordan syntaksen for å importere funksjoner ser ut i C++. Er det noen som kan vise meg dette? C# versjonen ser slik ut: [DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern bool PostMessage(int hhwnd, uint msg, int wparam, int lparam) Endret 14. juni 2008 av Velena Lenke til kommentar
Giddion Skrevet 15. juni 2008 Del Skrevet 15. juni 2008 (endret) C++ har vel ingen direkte mulighet til å gjøre det du gjøre C# uten å linke med biblioteket filen, men du kan gjøre en runtime linking som vist under (windows). typedef bool (*PostMessageFnc)(int hhwnd, unsigned int msg, int wparam, int lparam); //spesifiserer funksjonen PostMessageFnc PostMessage;//global variable #include <windows.h> int main() { HMODULE hDLL; hDLL = LoadLibrary("User32.dll"); if(!hDLL) return 1;//problemer med lasting av user32.dll //PostMessage == null hvis funksjonen ikke finnes. PostMessage = (PostMessageFnc) GetProcAddress(hDLL,"PostMessage"); FreeLibrary(hDLL);//ferdig med dll fila }; Endret 15. juni 2008 av Giddion Lenke til kommentar
Velena Skrevet 16. juni 2008 Forfatter Del Skrevet 16. juni 2008 Takk for svar, men hadde allerede løst problemet. Lenke til kommentar
GeirGrusom Skrevet 17. juni 2008 Del Skrevet 17. juni 2008 Legger bare inn en oppklaringspost Statisk linking er nesten lik i som i C++ men du må også ta med .lib fil for at det skal funke (user32.lib) som blir inkludert automatisk av Visual Studio. extern BOOL PostMessage(HWND hWnd, UINT msg, LPARAM lParam, WPARAM wParam) Men i dette tilfellet må du inkludere windows.h så slipper du å gjøre noe som helst. Men det er du sikkert klar over. Lenke til kommentar
亚历山大 Skrevet 27. juli 2008 Del Skrevet 27. juli 2008 Er ikke heilt sikker, men går kanskje ann å loade PostMessage dynamisk. Mener jeg så et eksempel på rohitab.com om det her for ei stund siden hvordan man kunne loade WIN-API's dynamisk. Men husker ikke heilt - Aleksander - Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå