2016-08-26 6 views
0

Я знаю, что это , вероятно, было задано, но мне нужно исправить. Я попытался изменить его, но опять же эта ошибка продолжает появляться.ОШИБКА: аргумент типа "" несовместим с параметром типа "LPWSTR"

// Get the dll's full path name 
    char buf[MAX_PATH] = { 0 }; 
    GetFullPathName(L"Project1.dll", MAX_PATH, buf, NULL); 
    printf(buf); 
    printf("\n"); 

Если любой из вас может помочь мне, я был бы признателен, тяжело.

Заранее спасибо.

+0

'L" Project1.dll "'? Какой тип? – 5208760

+0

Ошибка Аргумент типа «char» несовместим с типом параметра LPWSTR – AzuLX

+0

Проект представляет собой консольное приложение, почему? – AzuLX

ответ

1

Заменить

char buf[MAX_PATH] = { 0 }; 

С

WCHAR buf[MAX_PATH] = { 0 }; 

Вы, очевидно, вызывая широкий струнный версию GetFullPathName здесь, и ваш первый аргумент wchar_t*, поэтому буфер должен быть, тоже.

Или еще лучше, используйте TCHAR и _T("Project1.dll") вместо L"Project1.dll".

+0

Это сработало, Большое вам спасибо. Но это приводит к другой ошибке на // Ввод нашей основной dll \t if (! Inject (pID, buf)) // buf является ошибкой, снова> :(-аргумент типа «WCHAR *» несовместим с параметром типа «const char *» – AzuLX

+2

@AzuLX: похоже, вам нужно немного научиться стилям строк C++ и WinAPI. Прежде всего, научитесь читать и понимать ошибки компилятора. –

+0

@ Виолет Жираф Большое спасибо за помощь. :) – AzuLX

Смежные вопросы