GetModuleFileNameW(hModule, lpProcName, 256); // <--- вот так получаем полное имя модуля
18192123
23.10.2008 5:25
Скажи пожалуйста, а можно по дескриптору получить просто имя модуля, без пути?
volvo
23.10.2008 6:31
Ну, это придется разбивать на части полное имя... Либо PathFindFileName, либо что-то типа fnsplit
18192123
23.10.2008 18:29
Цитата(volvo @ 23.10.2008 3:31)
....PathFindFileName
Снова что-то напутала....Ошибка: 1>main.obj : error LNK2019: unresolved external symbol __imp__PathFindFileNameW@4 referenced in function "void __cdecl OnClickTerminateJob(struct HWND__ *)" (?OnClickTerminateJob@@YAXPAUHWND__@@@Z)
GetWindowText(hEditPathMod,(LPWSTR)lpProcName,256);//по полному имени всё остальное wsprintf(pszStrPID,_T("%d"),(hModule = GetModuleHandle(lpProcName))); // запоминаем hModule SendMessage(hEditDMod,WM_SETTEXT, 0, (LPARAM)(LPCSTR)pszStrPID); wsprintf(pszStrPID,_T("%d"), (PathFindFileName(lpProcName))); SendMessage(hEditNMod,WM_SETTEXT, 0, (LPARAM)(LPCWSTR)pszStrPID);
volvo
23.10.2008 18:43
Проблема при линковке, линкер просто не может найти реализацию PathFindFileName.
Цитата(MSDN)
Import library shlwapi.lib
Подключила эту библиотеку?
Добавлено через 10 мин. Хотя можно сделать и совсем просто:
wchar_t s[200];
// здесь получила в s полное имя модуля...
wchar_t *just_name = s + wcslen(s) - 1; for(; *just_name != (wchar_t)92; --just_name); // ну, или сравниваем с '\\' just_name += 1;
// just_name указывает на первый символ имени файла ...
18192123
23.10.2008 19:06
Цитата(volvo @ 23.10.2008 15:43)
Проблема при линковке, линкер просто не может найти реализацию PathFindFileName. Подключила эту библиотеку?
Добавлено через 10 мин. Хотя можно сделать и совсем просто:
wchar_t s[200];
// здесь получила в s полное имя модуля...
wchar_t *just_name = s + wcslen(s) - 1; for(; *just_name != (wchar_t)92; --just_name); // ну, или сравниваем с '\\' just_name += 1;
// just_name указывает на первый символ имени файла ...
Я добавила #include "Shlwapi.h"... p.s. Спасибо за альтернативный вариант!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.