How I catch an "open with..." with my app?
Posted: Thu Feb 25, 2021 9:38 pm
On Windows I use ProgramParameter() to get the filename. But on Mac OS it seems not work....
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
ImportC ""
PB_Gadget_SetOpenFinderFiles(Callback)
EndImport
IsGadget(0) ; Ensures the gadget lib is linked as this command is in it
ProcedureC OpenFinderFilesCallback(*Utf8Files)
Protected filecnt,filesin$,filename$
filesin$ = PeekS(*Utf8Files, -1, #PB_UTF8) ; Each file is separated by a 'tab'
If Len(filesin$) ; Here you have the filename to open
MessageRequester("Raw Load...",filesin$+" filecount="+Str(CountString(filesin$,Chr(9)))) ; Use StringField() to iterate easily
For filecnt=1 To CountString(filesin$,Chr(9))+1
filename$=StringField(filesin$,filecnt,Chr(9))
filepath$=GetPathPart(filename$)
filename$=GetFilePart(filename$)
MessageRequester("Loading file...",filePath$+Chr(13)+filename$)
Next
EndIf
EndProcedure
PB_Gadget_SetOpenFinderFiles(@OpenFinderFilesCallback()) ; should be put very early in the code, before any event loop
WTF Fred?!?!Fred wrote: Thu Jun 26, 2025 8:44 am We use it in the IDE, so it should work: https://github.com/fantaisie-software/p ... MacMisc.pb