Dll Call



  • Moin also wie gesat ich komm von AUtoit und da haben wir eine funktion gehabt namens DllCall um joa Dlls zu callen ^^
    so sieht das da aus:

    $result = DllCall("ImageSearchDLL.dll","str","ImageSearch","int",$x1,"int",$y1,"int",$right,"int",$bottom,"str",$findImage)
    
    $result = DllCall("DLL","Rückegabetyp","Funktion","und hier dan die Parameter")
    

    Wie sieht sowas in C++ aus?





  • ok ich habs mal probiert aber häng irgendwie:

    #include <windows.h>
    
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {
    
        PGNSI pGNSI;
        HINSTANCE ImageSearchDLL;
    
        ImageSearchDLL = LoadLibrary(TEXT("ImageSearchDLL.dll")); 
      //  $result = DllCall("ImageSearchDLL.dll","str","ImageSearch","int",$x1,"int",$y1,"int",$right,"int",$bottom,"str",$findImage)
        while (1)
        {
            pGNSI = GetProcAddress(
            ImageSearchDLL, 
            "ImageSearch");
        };
    }
    


  • Du hast dir da ja auch einen Endlos-Loop gebaut, in dem du dir endlos den FunctionPointer holst. Du musst noch den Functionpointer validieren ( gegen NULL testen und ggfs. im Fehlerfall mit GetLastError die Ursache analysieren ) und dann den Call durchführen und am Ende das Handle auf die Dll mit FreeLibrary wieder freigeben.

    Gruß Kimmi


Log in to reply