Page 1 sur 1

Lecteur de PDF

Publié : lun. 18/août/2014 11:51
par falsam
Sur une astuce de Rashad (Forum Anglais), ce code fonctionne bien sous Windows 7 et j'aimerais savoir si ce code fonctionne aussi sous Linux, Mac OS, Windows XP et Windows 8. Merci :)

Code : Tout sélectionner

Enumeration 
  #MainForm  
EndEnumeration

Enumeration Gadgets
  #Reader
EndEnumeration

FileName.s=""

If OpenWindow(#MainForm, 0, 0, 600, 400, "PDF Viewer", #PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget |#PB_Window_ScreenCentered )
  WebGadget(#Reader, 10, 10, 580,380, "")
  
  FileName = OpenFileRequester("Fichier à ouvrir", "","Acrobat Reader (*.pdf)",0)
  If Len(FileName) > 0
    SetGadgetText(#Reader, "file://"+FileName)
  EndIf 

  Repeat
    Select WaitWindowEvent(100)
      Case #PB_Event_CloseWindow
        End
                
      Case #PB_Event_SizeWindow
        ResizeGadget(0,10,10,WindowWidth(0)-20,WindowHeight(0)-20)
        
    EndSelect                
  ForEver
EndIf

Re: Lecteur de PDF

Publié : lun. 18/août/2014 12:10
par flaith
Marche nickel sous Windows 8.1 x64

Re: Lecteur de PDF

Publié : lun. 18/août/2014 13:59
par majikeyric
C'est sur, fallait y penser :lol: :)

Re: Lecteur de PDF

Publié : lun. 18/août/2014 14:10
par majikeyric
Y a un truc que je ne comprends pas, Rashad dit qu'on peut aussi inclure l'exe de CoolPDFReader (par exemple) en datasection et l'exécuter pour avoir accès à des fonctionnalités PDF. On peut exécuter un programme en datasection ??? première nouvelle...

Code : Tout sélectionner

2nd. option :
- Download CoolPDFReader.exe (it is free 1 MB)
- Include it in DataSection
- Run it from memory as a Child to a ContainerGadget

Re: Lecteur de PDF

Publié : lun. 18/août/2014 15:29
par Backup
majikeyric a écrit :On peut exécuter un programme en datasection ??? première nouvelle...

voir ici :roll:
http://www.purebasic.fr/french/viewtopi ... =6&t=14702

c'est pas vraiment exécuté en DataSection mais le prg est d'abords Pondu sur disque , puis exécuté
utile pour se faire un installateur de prg...
j'utilisais ça pour installer mes Librairies ....

par contre il existe un moyen d’exécuter du code en Ram .... "Recherche" :)
meme de faire du code automodifié ;)

Re: Lecteur de PDF

Publié : lun. 18/août/2014 16:28
par Patrick88
marche nickel sur windows xp 32 sp3 + Maxthon Browser 3.4.5.2000

Re: Lecteur de PDF

Publié : lun. 18/août/2014 16:33
par Good07
Marche aussi nickel sur Mac OS 10.9.4.

Re: Lecteur de PDF

Publié : lun. 18/août/2014 16:51
par falsam
Merci pour ces réponses. On doit pouvoir ce faire assez facilement une bibliothèque de fichier pdf intégrant ce lecteur.

Re: Lecteur de PDF

Publié : lun. 18/août/2014 18:32
par majikeyric
Dobro a écrit : c'est pas vraiment exécuté en DataSection mais le prg est d'abords Pondu sur disque , puis exécuté
utile pour se faire un installateur de prg...
Lui il marque pourtant : "run it from memory", (exécuter à partir de la mémoire) ce qui porte à confusion. un EXE ne peut pas être exécuté directement dans l'état, il est relogé et les adresses re-calculée au chargement.

edit: ce que fait le code de falsam à l'aide des APIs http://www.purebasic.fr/french/viewtopi ... =6&t=14704

Re: Lecteur de PDF

Publié : lun. 18/août/2014 18:43
par falsam
je ne sais pas si il y a plus simple, mais le code sur ce lien permet de lancer en mémoire un exe tiers se trouvant dans la datasection sans qu'il soit existant sur le disque de l'utilisateur.

:idea: http://www.purebasic.fr/french/viewtopi ... =6&t=14704

Re: Lecteur de PDF

Publié : lun. 18/août/2014 18:53
par majikeyric
...

Re: Lecteur de PDF

Publié : lun. 18/août/2014 22:27
par graph100
en revanche lancer un truc dans la mémoire depuis des data ça doit faire couiner les antivirus (rapport à l'autre sujet qui fait parler sur le forum anglais)

Re: Lecteur de PDF

Publié : mar. 19/août/2014 14:18
par Ollivier
Au lieu de piquer l'exe d'un autre, allez plutôt droit au but.
C'est légal, carré, etc... Vous ne connaissez pas la fable

"Creusez, fouillez, bêchez, ne laissez nulle place où la main ne passe et repasse..."

Connaissez pas?