SetCurrentConsoleFontEx Problem



  • HANDLE handle = LoadLibrary("Kernel32.dll");
        if ( handle == 0 )
        {
           cout<<GetLastError(); return 0;
        }
    
    void *Addr = GetProcAddress(handle,"SetCurrentConsoleFontEx");
    cout<<hex<<Addr<<endl;
    

    Wieso wird immer 0 Ausgeben? Laut MSDN ist die Funktion SetCurrentConsoleFontEx in der Kernel32.dll enthalten ...



  • Welche Windows Version verwendest du?
    BTW: die KERNEL32.DLL würde ich mir über GetModuleHandle holen, da sie sowieso schon geladen sein muss.



  • FontProb schrieb:

    HANDLE handle = LoadLibrary("Kernel32.dll");
        if ( handle == 0 )
        {
           cout<<GetLastError(); return 0;
        }
    
    void *Addr = GetProcAddress(handle,"SetCurrentConsoleFontEx");
    cout<<hex<<Addr<<endl;
    

    Wieso wird immer 0 Ausgeben? Laut MSDN ist die Funktion SetCurrentConsoleFontEx in der Kernel32.dll enthalten ...

    Eine etwas bessere Beschreibung wo der Fehler genau auftritt wäre gut gewesen.

    Den Einsprung SetCurrentConsoleFontEx scheint es in der Kernel32.dll unter XP nicht zu geben. Egal wie man die Kernel32.dll läd.

    In der Doku weist "Minimum supported client: Windows Vista" darauf hin.

    Möglicherweise hilft das weiter.

    http://andrew-grechkin.googlecode.com/svn-history/r23/trunk/MinCE/src/setconsoleinfo.cpp

    Hier wird folgende Alternative verwendet

    ci.FontSize.X = inSizeX;
    ci.FontSize.Y = inSizeY;
    
    SetConsoleInfo(inConWnd, &ci);
    

Anmelden zum Antworten