Хочу написать программу на PureBasic, которая смогла бы заменить просмотр фотографий Windows. Смысл обычный, кликаем на файл с картинкой - и она открывается в окне. Это всё что нужно от программы. Потом в идеале поставить этот просмоторщик по умолчании в системе. Понимаю, что проще программы не бывает, но всё таки, это давно наболевшая тема. Подскажите, как наиболее проще это осуществить.
Просмотр фотографий Windows
Сообщений 1 страница 8 из 8
Поделиться217.02.2021 18:32:54
поставь IrfanView в нём уже всё сделали, куда проще
ну или накачай разных просмотрщиков, может какой понравится
Смысл обычный, кликаем на файл с картинкой - и она открывается в окне. Это всё что нужно от программы.
а если несколько фоток посмотреть, а если много? задолбися окна открывать
нееее, прога листать фотки должна
Поделиться317.02.2021 22:29:16
не, задача была другая - кликнуть на файл картинки, и чтоб наша прога открылась и показала её. Я не хочу себе просмоторщик, я хочу это реализовать на нашем любимом Пурике. Нужны примера кода, кто как это видит.
Поделиться417.02.2021 22:38:31
Хрен с ним, скажу по другому, как кликнув по файлу, сделать так, чтоб он очутился в моей программе??? (а там я его и покажу... и что хочу с ним и сделаю)
Поделиться518.02.2021 01:17:52
UseJPEGImageDecoder() : UseJPEG2000ImageDecoder() : UsePNGImageDecoder() UseTIFFImageDecoder() : UseTGAImageDecoder() : UseGIFImageDecoder() Procedure ProcLoadImage (Filename$) hImage = LoadImage( #PB_Any, Filename$) If hImage OpenWindow(0,#PB_Ignore, #PB_Ignore, ImageWidth(hImage), ImageHeight(hImage), GetFilePart(Filename$)) ImageGadget(1, 0, 0, ImageWidth(hImage), ImageHeight(hImage), ImageID(hImage)) Repeat EventID = WaitWindowEvent() Until EventID = #PB_Event_CloseWindow FreeImage(hImage) EndIf EndProcedure File$ = ProgramParameter(0) If File$ ProcLoadImage (File$) Else Pattern$ = "Images (*.png;*.bmp;*.jpg;*.tga;*.gif)|*.png;*.bmp;*.jpg;*.tga;*.gif|All files (*.*)|*.*" File$ = OpenFileRequester("Please choose file to load", StandardFile$, Pattern$, 0) ProcLoadImage (File$) EndIf
ПКМ на файле изображения > Открыть с помощью > Выбрать другое приложение > Ещё приложения > Найти другое приложение на этом компьютере и выбираешь скомпиленную прогу
ПКМ на файле изображения > Открыть с помощью > Выбрать другое приложение > находишь с списке свою прогу, ставишь галочку на "Всегда использовать эту программу"
читалово:
https://winitpro.ru/index.php/2017/01/2 … indows-10/
https://windata.ru/windows-7/optimizaci … windows-7/
Отредактировано Lin (18.02.2021 02:11:33)
Поделиться618.02.2021 03:29:45
как кликнув по файлу, сделать так, чтоб он очутился в моей программе?
Если делать это программно, то нужно в реестр прописывать ассоциации файлов, если раньше это было понятно, то сейчас в Win10 изменили концепцию. Возьми к примеру Aimp, он не прописывает ассоциации самостоятельно, а предлагает через движок винды выбрать файлы, потом при удалении должны в приоритете остаться предыдущая по списку программа ранее открывавшая эти файлы. Оно и раньше так было, но либо не все это использовали, либо это плохо работало. Видимо винда запретила доступ к ассоциациям напрямую, а через свой движок пожалуйста. Ранее в Aimp ставил галочки в интерфейсе самого Aimp, а сейчас каждая 2-я прога предлагает виндовое окно выбора.
Но это можно предоставить пользователю самому определить программу для файлов через свойства или через "Отправить" или через самодельное меню.
Скачай код-архив, сделай поиск по файлам слово "ассоц", найдёшь примеры как получить класс расширения и туда надо прописывать свою прогу. Как работать с реестр ищи там же в код-архиве "Codes из winapi_library/Реестр". Как сделать собственное меню смотри тут
Поделиться718.02.2021 19:44:31
спс, попробую, потом напишу что получилось
Поделиться827.02.2021 04:49:44
потом напишу что получилось
А "потом" это когда? уже неделя прошла, мы уже начинаем переживать...