Fehler beim Erstellen mit Visual Studio Express 2013: LWPSTR nicht möglich



  • Hallo zusammen,
    ich bin ganz neu in dem Forum und Programmier-Anfaenger.
    Beim Kompilieren meines Projektes bekomme ich an dieser Stelle folgende Meldung

    char* get_module_path(void) {
    //======================================
    static char szModName[MAX_PATH];
    HMODULE hMod;

    GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS +
    GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
    szModName, &hMod);
    GetModuleFileNameEx(GetCurrentProcess(), hMod, szModName,
    sizeof(szModName));
    return szModName;
    }

    Konvertierung von Argument 3 von char[260] in LPWSTR nicht möglich.
    Vorher musst ich auf Unicode umstellen.

    Das ganze lief unter einer aelteren VS2008 ? Version.

    Vielleicht kann mir jemand weiterhelfen.
    Danke im voraus.



  • Benutze TCHAR statt char.



  • Oder besser: benutze gleich die -W-Variante der Funktionen und arbeite im direkten Umgang mit der WinApi mit wchar_t, std::wstring etc.



  • Techel schrieb:

    Oder besser: benutze gleich die -W-Variante der Funktionen und arbeite im direkten Umgang mit der WinApi mit wchar_t, std::wstring etc.

    Was ist daran besser? Man verbaut sich lediglich die Möglichkeit, das Projekt auch mit MBCS zu bauen. RAII kann man auch mit TCHAR erreichen.


Anmelden zum Antworten