#c #windows
Вопрос:
Я пытаюсь ссылаться на некоторые изображения, чтобы этот фрагмент кода мог работать на любом компьютере, а не только на моем собственном.
pictureBox1->ImageLocation = "C:\Users\W10\Desktop\pacanelematii\cireasamtii.png";
Это небольшой проект на c , использующий Windows forms в visual studio. Не могу заставить ссылку работать.
Из того, что я понял, должно выглядеть что-то вроде «..Debugpacanelematiiportocalamatii.png»
или «..pacanelematiiportocalamatii.png», но ни то, ни другое не работает. Я думаю, что, как только путь к файлу будет указан в файле .exe, я смогу легко скопировать всю папку .exe и отправить приложение любому, кто захочет его опробовать. Я скопировал папку «pacanelematii» в «Отладку».
Комментарии:
1.
./
является текущим каталогом,../
является родительским каталогом...Debug/
или..pacanelematii/
это неверный путь.
Ответ №1:
При запуске вашей программы вы должны установить текущий рабочий каталог в папку, содержащую исполняемый файл. С помощью Win32 API вы бы сделали это так:
wchar_t path[MAX_PATH];
GetModuleFileNameW(NULL, path, MAX_PATH);
PathCchRemoveFileSpec(path, MAX_PATH);
SetCurrentDirectory(path);
Затем убедитесь, что изображение помещено в каталог исполняемого файла, и просто используйте его относительный путь.
Например, вы можете поместить его в папку Images
рядом с исполняемым файлом и использовать как Images/imagename.png
.