FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Compilateur FBPano
par jean_debord Aujourd'hui à 11:07

» Documentation de KGF
par Klaus Hier à 22:52

» Zoom sur une portion d'écran
par JL35 Hier à 21:51

» KGF_dll - nouvelles versions
par Klaus Hier à 21:31

» double guillemets "" dans un EDIT
par pascal10000 Hier à 21:08

» Recherche d'une expression dans un source
par Marc 37 Hier à 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Mer 6 Aoû 2014 - 19:40

Nouvelle version:
KGF.dll V3.19 du 06/08/2014

Nouveauté:
- amélioration de GetCurrentChromeURL pour réduction du clignotement

Modules modifiés:
KGF.dll
KGF.chm
KGF.doc
KGF.pdf


La doc et les sources sont à jour.

La modification, majeure, consiste à injecter une extension à Chrome et de se servir de cette extension pour obtenir l'URL. Pas de panique: cette extension est écrite par moi et disponible avec toutes les sources sur le WebDav, dossier Dlls\ExtensionChromeCopyUrl\. Copiez le dossier complet. Il contient 2 fichiers:
ChromeExtensionCopyUrl.crx - l'extension proprement-dite
ChromeExtensionCopyUrl.pem - nécessaire pour reconstruire l'extension
et un sous-dossier:
ChromeExtensionCopyUrl - toutes les sources de l'extension

On installe cette extension, au choix, selon une des deux méthodes suivantes:
1. à partir des sources
Dans Chrome, aller dans la page "Paramètres", cliquer sur "Extensions", cocher la case "Mode développeur"
Cliquer sur "Charger l'extension non empaquetée", et un sélecteur de dossier s'ouvre.
Naviquer jusqu'à ...\ChromeExtensionCopyUrl\ChromeExtensionCopyUrl, valider et valider la confiration.
L'extension est alors installée.
2. à partir du fichier crx:
Dans Chrome, aller dans la page "Paramètres", cliquer sur "Extensions", cocher la case "Mode développeur"
A partir de l'explorateur de fichiers, faire glisser le fichier ExtensionChromeCopyUrl.crx n'importe où dans la page "Extensions" de Chrome. Valider et valider la confirmation.
L'extension est alors installée.

Finaliser l'installation
Il restent deux manipulations à faire:
1. Création d'un raccourci clavier
Dans la page "Extensions" de Chrome, dans laquelle on vient d'installer la nouvelle extension, cliquer sur "Raccourci clavier". Une fenêtre s'ouvre dans laquelle il faut saisir une touche raccourci pour activer l'extension. Pour KGF.dll, il faut que ce soit une touche ctrl/... . Je conseille d'utiliser ctrl/W. On frappe donc "control" puis "W" simultanément, et la fenêtre indique "Ctrl+W". Valider par "Ok".
2. Adapter la barre URL
La nouvelle extension apparaît sous forme d'une icône carrée jaune, à droite de la barre URL. Il faut "cacher" cette icône en élargissant la zone de saisie URL de sorte à "chasser" l'icône jaune.

Et attention: la fonction GetCurrentChromeURL a maintenant un paramètre supplémentaire. L'appel est:
Code:
res% = DLL_call3("GetCurrentChromeURL",adr(url$),adr(titre$),adr(car$))
Ce dernier paramètre doit contenir une lettre dont la version control/... servira à invoquer la nouvelle extension.

Et voici le programme de démo adapté à cette version:
Code:
' Tracer_Browser.bas

label close0, tick

' ============= paramètres à adapter
dim kgf$ : kgf$ = "KGF.dll" : ' chemin vers KGF.dll
dim delta% : delta% = 500  : ' délai en ms entre deux vérifications
dim chrome% : chrome% = 1  : ' 1 si Chrome, 0 sinon
dim shortcut$ : shortcut$ = "W"  : ' ctrl/W pour extension Chrome

dim f_trace$, url$, tit$, last_url$, res%


save_dialog 1 : filter 1,"Fichier trace (*.trc)|*.trc"
f_trace$ = file_name$(1)
if f_trace$="_" then terminate
hide 0

if lower$(right$(f_trace$,4))<>".trc" then f_trace$ = f_trace$ + ".trc"
if file_exists(f_trace$)=1 then file_delete f_trace$
file_open_write 1,f_trace$
file_writeln 1,"Trace démarrée le "+date$+" à "+time$+" heures."
file_close 1
on_close 0, close0

timer 2 : timer_off 2 : timer_interval 2,500
  on_timer 2,tick : timer_on 2
dll_on kgf$


end

close0:
  file_open_append 1,f_trace$
  file_writeln 1,"Trace terminée le "+date$+" à "+time$+" heures."
  file_close 1
  return
 
tick:
  timer_off 2
  url$ = string$(255," ")
  tit$ = string$(255," ")
  if chrome%=1
    res% = DLL_call3("GetCurrentChromeURL",adr(url$),adr(tit$),adr(shortcut$))
    if res%<>0 then logit()
  else
    res% = DLL_call2("GetCurrentBrowserURL",adr(url$),adr(tit$))
    if res%=1 then logit()
  end_if
  timer_on 2
  return

sub logit()
    url$ = trim$(url$)
    tit$ = trim$(tit$)
    if url$<>last_url$
      file_open_append 1,f_trace$
      file_writeln 1,"URL visitée le le "+date$+" à "+time$+" heures:"
      file_writeln 1,"==> "+url$
      file_writeln 1,"    "+tit$
      file_close 1
      last_url$ = url$
    end_if
end_sub


Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 7 Aoû 2014 - 22:50

Chrome s' évertue à me bloquer ton extension à chaque ouverture
Rolling Eyes  bounce Mad 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Ven 8 Aoû 2014 - 1:42

Pour le blocage par Chrome: tu as sûrement installé l'extension à partir des sources, par le bouton "Charger l'extension non empaquetée...". Elle est alors chargée en mode "développeur", et il faut la valider à chaque lancement. Alors, désinstalle l'extension, décoche bien la case "mode développeur", puis, à partir de l'explorateur de fichiers, fais glisser le fichier ChromeExtensionCopyURL.crx dans la page "Extensions", valide l'installation, puis refais le raccourci clavier "Ctrl+W". L'extension est alors installée normalement.

Pour ton problème, j'ai modifié deux choses:
- j'ai corrigé le délai d'attente dans la fonction DLL. Il faut donc recharger KGF.dll qui est passé à la version V3.20 du 08/08/2014
- j'ai un peu modifié ton code. En effet, pour que la fonction marche, il faut que Chrome soit en, avant_plan. J'ai donc défini une variable ChromeHnd% qui est chargée au moment de l'identification du browser, s'il s'agit de Chrome, par la fonction GetCurrentChromeHandle. Et ce handle est ensuite utilisé par BringWindowToForeground pour mettre Chrome dans la bonne position, puis GetCurrentChromeURLbyHandle pour récupérer l'URL, puis BringWindowToForeground remet ton programme en avant-plan. Ainsi tout fonctionne bien.

Voici le code modifié (juste l'adresse de KGF.dll à réajuster):
Code:

        Variables()
        Init_pluggins()
        Labels()
        dll_on kgf$
        Gui()
        Init()
        end

        ' ******************************************************************************
        '                                  VARIABLES
        ' ******************************************************************************
        Sub Variables()

        '  Adresse
          dim path$,dest_vid$,dest_aud$,LF_audio$,LF_video$,ChromeHnd%
          path$=dir_current$
          LF_audio$=Path$+"\Audio.ptd"
          LF_video$=Path$+"\Video.ptd"
          dest_vid$="C:\Users\Yannick\Videos"
          dest_aud$="C:\Users\Yannick\Music"
        '  Evenements
          dim clic%,change%

        '  Objets
          dim no%
          dim Frame1%,L_file%,B_add%,O_mp3%,O_mp4%,B_delete%,B_download%,B_Liste%
          dim Frame2%,L_File2%,B_play%,B_Conv_Avi%,B_Conv_Mp3%,B_Export%,B_close%
          dim SB%,PB%,ASB%
          dim mem%
          dim F_lecteur%
        '  Fonctions
          dim ie$,ff$,ch$,browser$
          ie$="iexplore.exe"
          ff$="firefox.exe"
          ch$="chrome.exe"
          dim mode%
          mode%=1
          dim i_LFile%,DL_File$
          dim i_LFile2%,DL_File2$
          dim lect$
        End_sub

        ' ******************************************************************************
        '                                  LABELS
        ' ******************************************************************************
        Sub Labels()
          Label Clic,Change,L
        End_sub

        Clic:
          clic%=number_click
          if clic%=O_mp4%      :Select_mode(1) :end_if
          if clic%=O_mp3%      :Select_mode(2) :end_if
          if clic%=L_file%    :Select_File()  :end_if
          if clic%=B_add%      :Add_File()    :end_if
          if clic%=B_delete%  :Delete_File()  :end_if
          if clic%=B_download% :Download()    :end_if
          if clic%=B_Liste%
              hide Frame1%
              Show Frame2%
              if mode%=1
                active B_Conv_Avi%
                active B_Conv_Mp3%
              else
                inactive B_Conv_Avi%
                inactive B_Conv_Mp3%
              end_if
          End_if
          if clic%=L_file2%    :SelectFileDownload()  :end_if
          if clic%=B_play%    :File_play()          :End_if
          if clic%=B_Conv_Avi% :File_Convert(1)      :End_if
          if clic%=B_Conv_Mp3% :File_Convert(2)      :End_if
          if clic%=B_Export%  :File_Export()        :End_if
          if clic%=B_Close%    :Hide Frame2%  :Show Frame1%  : End_if
        return

        Change:
          change%=number_change
        return

        ' ******************************************************************************
        '                          GRAPHICAL USER INTERFACE
        ' ******************************************************************************
        Sub Gui()
          O_Form(0,0,1,0,0,300,500,"Panoratube Downloader - [Vidéo]")
          font_name 0,"arial" : font_size no%,8

        '  Frame de téléchargement
          no%=no%+1 : Frame1%=no%
          O_Panel(no%,0,1,0,0,240,width(0)-16)

          no%=no%+1 : L_File%=no%
          O_List(no%,Frame1%,1,5,5,210,width(0)-26,"",1)

          no%=no%+1 :O_mp4%=no%
          O_option(no%,Frame1%,1,height(0)-83,5,20,50,"Vidéo")
          font_name no%,"arial" : mark_on no%
          On_click no%,clic

          no%=no%+1 :O_mp3%=no%
          O_option(no%,Frame1%,1,height(0)-83,55,20,50,"Audio")
          font_name no%,"arial"
          On_click no%,clic

          no%=no%+1 : B_add%=no%
          O_Button(no%,Frame1%,1,height(0)-83,width(0)-240,20,50,"Add",1)
          Font_bold no%

          no%=no%+1 : B_delete%=no%
          O_Button(no%,Frame1%,1,height(0)-83,width(0)-190,20,50,"Del.",1)
          Font_bold no%

          no%=no%+1 : B_download%=no%
          O_Button(no%,Frame1%,1,height(0)-83,width(0)-140,20,60,"Download",1)
          Font_bold no%

          no%=no%+1 : B_liste%=no%
          O_Button(no%,Frame1%,1,height(0)-83,width(0)-80,20,60,"Liste",1)
          Font_bold no%

        '  Frame de listing
          no%=no%+1 : Frame2%=no%
          O_Panel(no%,0,0,0,0,240,width(0)-16)

          no%=no%+1 : L_File2%=no%
          O_List(no%,Frame2%,1,5,5,210,width(0)-26,"",1)

          no%=no%+1 : B_play%=no%
          O_Button(no%,Frame2%,1,height(0)-83,width(0)-320,20,60,"Play",1)
          Font_bold no%

          no%=no%+1 : B_Conv_Avi%=no%
          O_Button(no%,Frame2%,1,height(0)-83,width(0)-260,20,60,">> Avi",1)
          Font_bold no%

          no%=no%+1 : B_Conv_Mp3%=no%
          O_Button(no%,Frame2%,1,height(0)-83,width(0)-200,20,60,">> Mp3",1)
          Font_bold no%

          no%=no%+1 : B_Export%=no%
          O_Button(no%,Frame2%,1,height(0)-83,width(0)-140,20,60,"Export",1)
          Font_bold no%

          no%=no%+1 : B_Close%=no%
          O_Button(no%,Frame2%,1,height(0)-83,width(0)-80,20,60,"Close",1)
          Font_bold no%

        '  Statut bar
          no%=no%+1 : SB%=no%
          O_Statut_Bar(no%,0,1,0)

          no%=no%+1 : PB%=no%
          O_Progress_Bar(no%,0,0,height(0)-58,width(0)-180,0,150)

          no%=no%+1 : ASB%=no%
          O_Alpha(no%,0,1,height(0)-56,5,0,0,"")
          font_name 0,"times new roman" :font_size no%,10 :font_color no%,230,0,0

        '  Objets invisibles
          no%=no%+1 : mem%=no%
          O_Dlist(no%,"")
        End_sub

        Sub Action(t$)
          if action%>0
              show action%
          else
              no%=no%+1 :action%=no%
              O_Form(no%,0,1,(top(0)-100)/2,(left(0)-350)/2,100,350,"Avertissement")
              border_hide no%
          end_if
        End_sub

        ' ******************************************************************************
        '                            INITIALISATIONS
        ' ******************************************************************************
        Sub Init()
        '  dim_local prog$
        '  prog$="CMD.exe /c echo off | clip"
        '  Exprog(prog$)
        '  clipboard_string_copy ""
          Detect_Browser()
          if file_exists(LF_Video$)=1
              file_load L_file2%,LF_Video$
          end_if
        End_sub
        ' ******************************************************************************
        '                                FONCTIONS
        ' ******************************************************************************
        Sub Detect_Browser()
          dim_local nav$(2),l$,sep%,res%,lib$,nopt%,img$,mes$,titre$,ie%,ff%,ch%,nb%,nav%(3)

          titre$="Choix du navigateur"
          img$=dir_current$+"\img.jpg"
          lib$="Abandonner;Valider;"

          ie% = DLL_call1("GetProcessWindowHandle",adr(ie$))
          ff% = DLL_call1("GetProcessWindowHandle",adr(ff$))
          ch% = DLL_call1("GetProcessWindowHandle",adr(ch$))

          if ie%<>0 : nb%=nb%+1:nav%(1)=1:lib$=lib$+";Internet Explorer" :end_if
'          if ff%<>0 : nb%=nb%+1:nav%(2)=1:lib$=lib$+";FireFox"          :end_if
          if ch%<>0 : nb%=nb%+1:nav%(3)=1:lib$=lib$+";Chrome"            :end_if

          if nb%=1
              if nav%(1)=1 :browser$="IE"    :end_if
              if nav%(2)=1 :browser$="FF"    :end_if
              if nav%(3)=1 :browser$="Chrome" :end_if
              if browser$="Chrome" then ChromeHnd% = DLL_call0("GetCurrentChromeHandle")
              Exit_sub
          else
              if nb%>1
                l$=reverse$(lib$)
                sep%=instr(l$,";")
                nav$(2)=left$(l$,sep%-1):l$=right$(l$,len(l$)-sep%)
                sep%=instr(l$,";")
                nav$(1)=left$(l$,sep%-1)
                nav$(1)=reverse$(nav$(1))
                nav$(2)=reverse$(nav$(2))

                mes$="Plusieurs navigateurs sont en cours d' utilisation !!!..."+chr$(13)+"Choisissez celui qui vous servira pour naviguer sur Youtube."
                nopt%=nb%
                res% = dll_call6("ShowMessageModalEX",adr(titre$),adr(mes$), adr(img$),3, nopt%, adr(lib$))

                if nopt%=2 and nav$(1)="Internet Explorer" and nav$(2)="FireFox"
                    if res% =1  :browser$=""      :end_if
                    if res% =10 :browser$="IE"    :end_if
                    if res% =18 :browser$="FF"    :end_if
                    Exit_sub
                end_if
                if nopt%=2 and nav$(1)="Internet Explorer" and nav$(2)="Chrome"
                    if res% =1  :browser$=""      :end_if
                    if res% =10 :browser$="IE"    :end_if
                    if res% =18 :browser$="Chrome":end_if
                    if browser$="Chrome" then ChromeHnd% = DLL_call0("GetCurrentChromeHandle")
                    Exit_sub
                end_if
                if nopt%=2 and nav$(1)="FireFox" and nav$(2)="Chrome"
                    if res% =1  :browser$=""      :end_if
                    if res% =10 :browser$="FF"    :end_if
                    if res% =18 :browser$="Chrome":end_if
                    if browser$="Chrome" then ChromeHnd% = DLL_call0("GetCurrentChromeHandle")
                    Exit_sub
                end_if
                if nopt%=3
                    if res% =1  :browser$=""      :end_if
                    if res% =10 :browser$="IE"    :end_if
                    if res% =18 :browser$="FF"    :end_if
                    if res% =34 :browser$="Chrome":end_if
                    if browser$="Chrome" then ChromeHnd% = DLL_call0("GetCurrentChromeHandle")
                    Exit_sub
                end_if
              else
                mes$="Aucun navigateur n'est en cours d' utilisation !!!..."+chr$(13)+"Choisissez celui qui vous servira pour naviguer sur Youtube."
                lib$="Abandonner;Valider;;Internet_Explorer;FireFox;Chrome"
                res% = dll_call6("ShowMessageModalEX",adr(titre$),adr(mes$),adr(img$),3,3,adr(lib$))
                if res% =1  :browser$=""      :end_if
                if res% =10 :browser$="IE"    :end_if
                if res% =18 :browser$="FF"    :end_if
                if res% =34 :browser$="Chrome":end_if
                if browser$="Chrome" then ChromeHnd% = DLL_call0("GetCurrentChromeHandle")
              end_if
          end_if
        End_sub

        Sub Select_mode(m%)
          if m%=1
              mode%=m%
              mark_on O_mp4%
              Caption 0,"Panoratube Downloader - [Vidéo]"
              Clear L_file2%
              if file_exists(LF_Video$)=1 : file_load L_file2%,LF_Video$ :end_if
          else
              mode%=m%
              mark_on O_mp3%
              Caption 0,"Panoratube Downloader - [Audio]"
              Clear L_file2%
              if file_exists(LF_Audio$)=1 : file_load L_file2%,LF_Audio$ :end_if
          end_if
        End_sub

        Sub Select_File()
          i_LFile%=item_index(L_File%)
        End_sub

        Sub Delete_File()
          if i_LFile%>0
              Item_delete L_File%,i_LFile%
              i_LFile%=0
          end_if
        End_sub

        Sub Download()
          dim_local c%,x%,fich1$,fich2$,prog$
          c%=count(L_File%)
          if c%>0
              Min PB%,0 : Max PB%,c% : Position PB%,0 :show PB%
              for x%=1 to c%
                fich1$=trim$(item_read$(L_File%,1))
                caption ASB%,"Téléchargement en cours..."
                if mode%=1
                    prog$="CMD.exe /c "+ytb$+" "+fich1$
                    Exprog(prog$)
                    CopyTo()
                else
                    prog$="CMD.exe /c "+ytb$+" --extract-audio --audio-format mp3 "+fich1$
                    Exprog(prog$)
                    CopyTo()
                end_if
                item_delete L_File%,1
                position PB%,position(PB%)+1
                display
              next x%
              position PB%,0 : hide PB%
              caption ASB%,""
          end_if
        End_sub

        SUB Exprog(prog$)
            ' Exécution d'un programme externe sans la fenêtre noire Ms-DOS
            ' - exemple: Exprog("Cmd.exe /c DIR C:\UTIL >C:\TEMP\Dir.txt")
            DIM_LOCAL scr$, bat$, qu$
            scr$ = path$+"\Vbscript.vbs"
            bat$ = path$+"\Bat.bat"
            qu$ = CHR$(34)
            ' ===== Création du fichier .bat
            FILE_OPEN_WRITE 9, bat$: FILE_WRITELN 9, prog$: FILE_CLOSE 9
            ' ===== Création du script .vbs
            FILE_OPEN_WRITE 9, scr$
            FILE_WRITELN 9, "CreateObject("+qu$+"Wscript.Shell"+qu$+").Run "+qu$+bat$+qu$+",0,True"
            FILE_CLOSE 9
            ' ===== Exécution du script
            EXECUTE_WAIT "WSCRIPT.exe "+scr$
            FILE_DELETE bat$: FILE_DELETE scr$
        END_SUB

        Sub Add_File()
          dim_local res%,url$,tit$,car$
          url$ =string$(255," ")
          tit$ =string$(255," ")
          car$="W"
          if browser$="Chrome"
              res% = dll_call1("BringWindowToForeground",ChromeHnd%)
              res% = DLL_call4("GetCurrentChromeURLbyHandle",ChromeHnd%,adr(url$),adr(tit$),adr(car$))
              res% = dll_call1("BringWindowToForeground",handle(0))
              url$=trim$(url$)
              item_add L_File%,url$
'              url$=""
          else
              res% = DLL_call2("GetCurrentBrowserURL",adr(url$),0)
              url$=trim$(url$)
              item_add L_File%,url$
'              url$=""
          end_if
'          message browser$+chr$(13)+url$
        End_sub

        Sub CopyTo()
          dim_local a$,suf$,titre2$,sep%,b$,dest$,f$
          dir_change path$
          a$=file_find_first$
          a$=file_find_next$
          while a$<>"_"
              suf$=upper$(right$(a$,4))
              if suf$=".MP3" or suf$=".MP4" or suf$=".FLV" or suf$=".AVI"
                DL_File$=a$
              end_if
              a$=file_find_next$
          end_while
          file_find_close

          if DL_File$=""
              Caption ASB%,"URL Protégé !!!
              wait 4000
              Caption ASB%,"Téléchargement en cours..."
              Exit_sub
          else
              suf$=right$(DL_File$,4)
              titre2$=reverse$(DL_File$)
              sep%=instr(titre2$,"-")
              titre2$=right$(titre2$,len(titre2$)-sep%)
              titre2$=reverse$(titre2$)+suf$
              file_rename DL_File$,titre2$

              suf$=upper$(right$(titre2$,4))
              if suf$=".MP4" or suf$=".FLV" or suf$=".AVI"
                dest$=dest_vid$+"\"+titre2$
                if file_exists( dest$)=0
                    file_copy titre2$,dest$
                    fd$=file_extract_name$(dest$)
                    item_add L_file2%,fd$+string$(300-len(fd$)," ")+"|"+date$+"|"+Time$
                else
                    if message_confirmation_yes_no("Fichier existant !!!"+chr$(13)+"Voulez vous renommer le fichier pour le copier ?")=1
                      rename(titre2$,1)
                    end_if
                end_if
                file_delete path$+"\"+titre2$
                file_save L_file2%,LF_Video$
              else
                dest$=dest_aud$+"\"+titre2$
                if file_exists( dest$)=0
                    file_copy titre2$,dest$
                    fd$=file_extract_name$(dest$)
                    item_add L_file2%,fd$+string$(300-len(fd$)," ")+"|"+date$+"|"+Time$
                else
                    if message_confirmation_yes_no("Fichier existant !!!"+chr$(13)+"Voulez vous renommer le fichier pour le copier ?")=1
                      rename(titre2$,2)
                    end_if
                end_if
                file_delete path$+"\"+titre2$
                file_save L_file2%,LF_Audio$
              end_if
          end_if
        End_sub

        Sub rename(f$,type%)
          dim_local titre$,N_titre$,dest$,fd$
          titre$=f$
          L:
          if message_input("Renommer","Nouveau nom :","")=1
              N_titre$=message_text$
          else
              exit_sub
          end_if
          if type%=1
              dest$=dest_vid$+N_titre$
          else
              dest$=dest_aud$+N_titre$
          end_if
          if file_exists(dest$)=0
              file_copy titre$,dest$
              fd$=file_extract_name$(dest$)
              item_add L_file2%,fd$+string$(300-len(fd$)," ")+"|"+date$+"|"+Time$
          else
              goto L
          end_if
        end_sub

        Sub SelectFileDownload()
          if item_index(L_file2%)<>0
              i_LFile2%=item_index(L_file2%)
              DL_File2$=item_index$(L_file2%)
          end_if
        End_sub

        Sub File_play()
            dim_local sep%,fd$,long$,court$,res%
            sep%=instr(DL_File2$,"|")
            if sep%>0
              fd$=left$(DL_File2$,sep%-1)
              fd$=trim$(fd$)
            else
              fd$=DL_File2$
            end_if
            if mode%=1
              fd$=Dest_vid$+"\"+fd$
            else
              fd$=Dest_aud$+"\"+fd$
            end_if
            message fd$
            long$=fd$
            court$=string$(255," ")
            res% = DLL_call2("GetShortName",adr(long$),adr(court$))
            fd$=trim$(court$)
            execute_wait fd$
        End_sub

        Sub File_Convert(type%)
          dim_local arg$,fd$,f1$,f2$,sep%,prog$,long$,court$,res%
          sep%=instr(DL_File2$,"|")
          if sep%>0
              fd$=left$(DL_File2$,sep%-1)
              fd$=trim$(fd$)
          else
              fd$=DL_File2$
          end_if
          if type%=1
              f1$=Dest_vid$+"\"+fd$
              long$=f1$
              court$=string$(255," ")
              res% = DLL_call2("GetShortName",adr(long$),adr(court$))
              f1$=trim$(court$)
              f2$=Dest_vid$+"\"+left$(fd$,len(fd$)-4)+".avi"
              arg$ =" -y -i "+f1$+" -c:v mpeg4 -vtag xvid -q:v 9"
              prog$=ffmpeg$+arg$+" "+f2$
          else
              f1$=Dest_aud$+"\"+fd$
              long$=f1$
              court$=string$(255," ")
              res% = DLL_call2("GetShortName",adr(long$),adr(court$))
              f1$=trim$(court$)
              f2$=Dest_aud$+"\"+left$(fd$,len(fd$)-4)+".mp3"
              arg$ = " -y -vn -ar 44100 -ac 2 -ab 192k -f mp3 "
              prog$=ffmpeg$+" -i "+f1$+arg$+f2$
          end_if
          caption ASB%,"Convertion en cours..."
          Exprog(prog$)
          if file_exists(f2$)=1
              caption ASB%,"Convertion Terminée !!!"
              wait 2000
              Caption ASB%,""
          else
              caption ASB%,"Echec de la convertion !!!"
              wait 2000
              Caption ASB%,""
          end_if
        End_sub

        Sub File_Export()
          dim_local res%,dossier$,racine$,fd$,f1$,f2$,sep%
          sep%=instr(DL_File2$,"|")
          if sep%>0
              fd$=left$(DL_File2$,sep%-1)
              fd$=trim$(fd$)
          else
              fd$=DL_File2$
          end_if
          racine$=":\"
          dossier$=string$(255," ")
          res% = DLL_call4("FolderSelect",adr(racine$),adr(dossier$),len(dossier$),0)
          if res%=1
              dossier$ = trim$(dossier$) : ' pour éliminer des espaces de réservation
              if mode%=1
                f1$=Dest_vid$+"\"+fd$
              else
                f1$=Dest_aud$+"\"+fd$
              end_if
              f2$=dossier$+"\"+fd$
              Caption ASB%,"Exportation en cours..."
              file_copy f1$,f2$
          end_if
          if file_exists(f2$)=1
              Caption ASB%,"Exportation réussie !!!"
              wait 2000
              Caption ASB%,""
          else
              Caption ASB%,"Echec de l' exportation !!!"
              wait 2000
              Caption ASB%,""
          end_if
        End_sub

        ' ******************************************************************************
        '                              BIBLIOTHEQUE OBJETS
        ' ******************************************************************************

        Sub O_Form(No%,P%,V%,T%,L%,H%,W%,C$)
          if No%> 0 then FORM No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 : Top No%,T% : Else : Top No%,(Screen_y-H%)/2 : End_If
          If L% > 0 : Left No%,L%: Else : Left No%,(Screen_x-W%)/2: End_If
          if C$<>"" then Caption No%,C$
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Alpha(No%,P%,V%,T%,L%,H%,W%,C$)
          ALPHA No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if C$<>"" then Caption No%,C$
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Edit(No%,P%,V%,T%,L%,H%,W%,T$,Ch%)
          EDIT No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          If T$<>"" Then Text No%,T$
          If Ch%=1  Then On_Change No%,Change
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Button(No%,P%,V%,T%,L%,H%,W%,C$,Cl%)
          BUTTON No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if C$<>"" then Caption No%,C$
          if Cl%> 0 then on_click No%,Clic
          cursor_point No%
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Container(No%,P%,V%,T%,L%,H%,W%,C$)
          CONTAINER No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if C$<>"" then Caption No%,C$
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Memo(No%,P%,V%,T%,L%,H%,W%,F$)
          MEMO No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if F$<>""
          if file_exists(F$)=1 then file_load No%,F$
          end_if
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Combo(No%,P%,V%,T%,L%,H%,W%,F$,Cl%)
          COMBO No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if F$<>""
          if file_exists F$ then file_load No%,F$
          end_if
          if Cl%> 0 then on_click No%,Clic
        End_Sub
        ' ______________________________________________________________________________
        Sub O_List(No%,P%,V%,T%,L%,H%,W%,F$,Cl%)
          LIST No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if F$<>""
          if file_exists F$ then file_load No%,F$
          end_if
          if Cl%> 0 then on_click No%,Clic
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Picture(No%,P%,V%,T%,L%,H%,W%,P$)
          PICTURE No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if P$<>"" then File_load No%,P$
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Check(No%,P%,V%,T%,L%,H%,W%,C$)
          CHECK No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if C$<>"" then Caption No%,C$
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Option(No%,P%,V%,T%,L%,H%,W%,C$)
          OPTION No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if C$<>"" then Caption No%,C$
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Main_Menu(No%,P%)
          MAIN_MENU No%
          if P% > 0 then Parent No%,P%
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Sub_Menu(No%,P%,C$,Cl%,A%)
          SUB_MENU No%
          if P% > 0 then Parent No%,P%
          if C$<>"" then Caption No%,C$
          If Cl%=1 : on_click No%,Clic  : end_if
          If Cl%=2 : on_click No%,Clic2 : end_if
          If Cl%=3 : on_click No%,Clic3 : end_if
          If Cl%=4 : on_click No%,Clic4 : end_if
          If A%=0 then inactive No%
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Open_Dialog(No%,Out%,DD$,Filtre$,O%)
          dim_local F$
          If Object_Exists(No%)=0
              OPEN_DIALOG No%
          End_if
          if DD$<>"" then Dir_Dialog No%,DD$
          if filtre$<>"" then Filter No%,Filtre$+"|"+Filtre$
          F$=File_name$(No%)
          if variable("File$")=0:Dim File$:End_If
          if F$<>"_"
              if O%=1 then text out%,F$
              if O%=2 then Caption Out%,F$
              if O%=3 then item_add Out%,F$
              if O%=4 then file_load Out%,F$
              if O%=5 then File$=F$
          end_if
          Delete No%
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Save_Dialog(No%,NOut%,DD$,Filtre$,ext$)
          dim_local F$,i%,ext%
            If Object_Exists(No%)=0
              SAVE_DIALOG No%
            End_If
            If DD$<>"" then Dir_Dialog No%,DD$
            If filtre$<>"" then Filter No%,Filtre$
            F$=file_name$(No%)
            If F$<>"_"
              for i%=1 to len(F$)
                  if mid$(f$,i%,1)=".":ext%=1:exit_for:end_if
              next i%
              if ext%=1
                  File_Save NOut%,F$
              else
                  File_save NOut%,F$+ext$
              end_if
            End_If
            Delete No%
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Progress_Bar(No%,P%,V%,T%,L%,H%,W%)
          PROGRESS_BAR No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Dlist(No%,F$)
          dim_local Fic$
          Fic$=F$
          DLIST No%
          if F$<>""
              if file_exists(Fic$)=1 : then file_load No%,Fic$ : end_if
          end_if
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Container_Option(No%,P%,V%,T%,L%,H%,W%,C$)
          CONTAINER_OPTION No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          if C$<>"" then Caption No%,C$
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Statut_Bar(No%,P%,V%,M%)
          Dim_Local No2% ,x% ,a% ,Pa%,OSB2%
          Pa%=P% :No2%=No%
          for x%=1 to Number_Objects:If Object_Type(x%)=13 :a%=1:End_If:Next x%
          If M%=0
              O_Picture(No2%,P%,V%,Height(P%)-61,0,23,width(P%)-16,"")
          Else
              if M%=1
                O_Picture(No2%,P%,V%,Height(P%)-81,0,23,width(P%)-16,"")
              else
                O_Picture(No2%,P%,V%,height(P%)-81,0,23,width(P%)-16,"")
              end_if
          End_If
          OSB2%=No2%
          Adaptation_OSB(No2%,Pa%)
        End_Sub
        ' ______________________________________________________________________________
        Sub O_Button_Picture(num_obj%,No_b%,P%,V1%,V2%,T%,L%,H%,W%,Pict$,Pict2$)
          O_Picture(num_obj%+1,P%,V2%,T%,L%,H%,W%,Pict2$):cursor_point num_obj% +1
          O_Picture(num_obj%,P%,V1%,T%,L%,H%,W%,Pict$):On_click num_obj%,Clic:cursor_point num_obj%
          obj% = obj%+1
          if variable("No2%")=0 : dim No2% :No2%=7000 :End_if
          if Variable("R%")=0 :dim R% :R%=1:else :R%=R%+1 :end_if
          if Object_exists(7000)=0 :O_Edit(7000,P%,0,-190,-200,0,0):End_If
          If Variable("KGF_res%")=0 then dim KGF_res%
          KGF_res% = dll_call2("ClickSetHook",handle(P%),handle(No2%))
          KGF_res% = dll_call5("ClickDefineRect",R%,L%,T%,W%,H%)

          No2%=No_b%
          O_Button(No2%,P%,0,-200,-200,0,0,"",1)
          KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-5,R%)

          No2%=No_b%+1
          O_Button(No2%,P%,0,-200,-200,0,0,"",1)
          KGF_res% = dll_call3("ClickSetLinkRect",handle(No2%),0-6,R%)
        End_Sub
        ' ______________________________________________________________________________
        Sub Adaptation_OSB(No%,P%)
          Dim_Local x% ,y% ,z% ,t$ ,R_osb% ,G_osb% ,B_osb%
          color No%,235,235,239 : y%=width(P%)-27
          Restore
          while t$<>"OSB_Corps.bmp" :read t$:End_while
          Read R_osb% :Read G_osb% :Read B_osb%
          2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb%
          for x%=0 to y% :2d_point x%,z% :next x%
          Restore
          while t$<>"OSB_Fin.bmp" :read t$:End_while
          for x%=y% to y%+10
              for z%=0 to 22
                Read R_osb% :Read G_osb% :Read B_osb%
                2d_target_is No% : 2d_pen_color R_osb%,G_osb%,B_osb%
                2d_point x%,z%
              next z%
          next x%
        Data "OSB_Corps.bmp"
        data 170,165,162
        data "OSB_Fin.bmp"
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 170,165,162
        data 242,239,239
        data 170,165,162
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 242,239,239
        data 170,165,162
        data 170,165,162
        data 242,239,239
        data 170,165,162
        data 170,165,162
        data 242,239,239
        data 170,165,162
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 170,165,162
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        data 239,235,235
        End_Sub
        ' ------------------------------------------------------------------------------
        Sub O_Timer(No%,OO%,Inter%)
          TIMER No%
          if OO%=1 then timer_on No%
          if OO%=0 then timer_off No%
          if inter%>0 then timer_interval No%,inter%
        End_Sub
        ' ------------------------------------------------------------------------------
        Sub O_Spin(No%,P%,V%,T%,L%,H%,W%,Mi%,Ma%,C%)
          SPIN No%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
          Min No%,Mi%
          Max No%,Ma%
          if C% > 0 Then on_change No%,Change
        End_sub
        ' ------------------------------------------------------------------------------
        Sub O_Panel(No%,P%,V%,T%,L%,H%,W%)
          Panel no%
          if P% > 0 then Parent No%,P%
          If V% = 0 Then hide No%
          If H% > 0 Then Height No%,H%
          If W% > 0 Then Width No%,W%
          If T% > 0 Then Top No%,T%
          If L% > 0 Then Left No%,L%
        End_sub
        ' ******************************************************************************
        '                      INITIALISATION DES PLUGGINS
        ' ******************************************************************************


        Sub Init_pluggins()
          dim kgf$,bdr$
          dim ffmpeg$,ytb$,ffprobe$,ffplay$
        '  dim z7$
        '  dim jhead$
        '  dim nconv$
        '  dim pdfdetach$,pdffont$,pdfing$,pdfinfo$,pdfhtml$,pdfpng$,pdfppm$,pdftop$,pdftext$,pdfimg$

          kgf$      ="KGF.dll"
        '  bdr$      ="C:\Users\Yannick\PANORA~1\KGF\BDR.dll"
          ytb$      ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\YOUTUB~1.EXE"
          ffmpeg$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\ffmpeg.exe"
          ffprobe$  ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\ffprobe.exe"
          ffplay$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\ffplay.exe"
        '  z7$        ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\7z.exe"
        '  jhead$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\jhead.exe"
        '  nconv$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\nconvert.exe"
        '  pdfdetach$ ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\PDFDET~1.EXE"
        '  pdffont$  ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\pdffonts.exe"
        '  pdfimg$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\PDFIMA~1.EXE"
        '  pdfinfo$  ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\pdfinfo.exe"
        '  pdfhtml$  ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\PDFTOH~1.EXE"
        '  pdfpng$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\pdftopng.exe"
        '  pdfppm$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\pdftoppm.exe"
        '  pdftop$    ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\pdftops.exe"
        '  pdftext$  ="C:\Users\Yannick\PANORA~1\RESSOU~1\Pluggins\PDFTOT~1.EXE"
        End_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 14:31

Chrome est un chieur de première !

 bounce  Il s' acharne toujours à désactiver ton extension !
Mais, car il y a un mais, il me dit pourquoi.
Il la bloque parcequ' elle ne vient pas ou n' est pas dans chrome webstore. Et il me dit de contacter l' auteur pour qu' il le fasse...
...que je fais donc. Laughing

En gros, il vire tout ce qui ne vient pas de chez lui...

En tout cas, je n' ai plus de problème d' ajout de fichier à la liste
depuis tes dernières modif de la dll (vs 3.20).

Génial ! Bravo Klaus !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 14:45

Fais ce que j'ai proposé dans un de mes posts précédents:
- supprime complètement l'extension en question
- va dans "Paramètres", puis "Extensions"
- dé-coche la case "Mode développeur"
- à partir de l'explorateur de fichiers, fais glisser le fichier ChromeExtensionCopyUrl.crx sur la page "Extensions" de Chrome
- confirme l'installation

C'est tout. Il n'y aura plus de problème.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 14:49

C' est que je fais, mais à chaque re-lancement du navigateur il me la désactive systématiquement.

Je refais la manip et je poste les copies d' écran si j' y arrive.

A dans quelques minutes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 14:55




Ma version de Chrome : Version 36.0.1985.125 m
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 15:33

J"ai la même version, et ça ne pose pas de problème. es-tu sûr d'avoir décoché "Mode développeur" en haut à droite de la page "Extensions" avant d'y glisser le fameux fichier ? Car chez moi, j'avais ce message lorsque je laissais cette case cochée..

Sinon, ce site donne des moyens de le faire. En particulier, la solution 2 me paraît bien adaptée:
Citation :
2ème solution : Ré-autoriser l’installation des extensions ne provenant pas du Chrome Web Store

Si vous installez régulièrement des extensions hors Chrome Web Store, voici une astuce trouvée sur How-to Geek qui permet de désactiver le blocage mis en place dans Chrome 21. Créez un raccourci pointant vers votre navigateur. Via les propriétés de ce raccourci, sélectionnez le champ Cible et ajoutez derrière le chemin de l’exécutable de Chrome les paramètres suivants :

–enable-easy-off-store-extension-install

Fermez toutes le sessions ouvertes de Chrome et relancez le depuis votre raccourci modifié. Vous pouvez désormais installer les extensions ne provenant pas du Chrome Web Store sans blocage de votre navigateur.

Elle est pas belle la vie ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 15:53

Je vais faire des essais et je te tiens au courant de l' évolution de la chose...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 16:51

Rien à faire, il ne veut rien savoir !

Regarde là.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 16:54

J'ai réessayé plusieurs fois, mais le constat est clair: désinstalle, décoche "Mode programmeur" dans la page "Extensions", fais glisser le fichier crx dans cette page et valide - ça marche.

J'ai dépose une nouvelle version sur le WebDav. Seule différence: l'icône est légèrement changée. J'ai essayé de déposer mon extension sur Google Store. Tout est bien accepté, sauf qu'à la fin, on me demande 5,00 Euros... J'ai abandonné.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 17:07

Voici ce que je fais:
1. Je désinstalle tout et je décoche la case "Mode développeur". Je place l'explorateur et Chrome côte à côte:

Je fais glisser le fichier crx dans la page "Extensions":

Je confirme par "Valider" et l'extension est installée:

Je définis le raccourci clavier:

et c'est complet.

Maintenant, je peux arrêter Chrome par la croix rouge, puis le relancer - mon extension est là, rien n'est refusé, et je n'ai pas besoin de validation supplémentaire.

Ma version de Chrome: Version 36.0.1985.125 m (Google Chrome est à jour)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 17:08

J' ai bien décoché le mode programmeur mais rien à faire, il se connecte
et hop ca désactive l' extension... Mad  bounce 

J' ai essayé de faire en lanceur avec les arguments de ton post :
Code:
dim chrome$,arg$,prog$,path$

hide 0
path$="c:\users\yannick\desktop\LANCEU~1"
chrome$="C:\PROGRA~2\Google\Chrome\APPLIC~1\chrome.exe"
arg$=" -enable-easy-off-store-extension-install"
prog$="CMD.exe /c "+chrome$+arg$
Exprog(prog$)
terminate
end

        SUB Exprog(prog$)
            ' Exécution d'un programme externe sans la fenêtre noire Ms-DOS
            ' - exemple: Exprog("Cmd.exe /c DIR C:\UTIL >C:\TEMP\Dir.txt")
            DIM_LOCAL scr$, bat$, qu$
            scr$ = path$+"\Vbscript.vbs"
            bat$ = path$+"\Bat.bat"
            qu$ = CHR$(34)
            ' ===== Création du fichier .bat
            FILE_OPEN_WRITE 9, bat$: FILE_WRITELN 9, prog$: FILE_CLOSE 9
            ' ===== Création du script .vbs
            FILE_OPEN_WRITE 9, scr$
            FILE_WRITELN 9, "CreateObject("+qu$+"Wscript.Shell"+qu$+").Run "+qu$+bat$+qu$+",0,True"
            FILE_CLOSE 9
            ' ===== Exécution du script
            EXECUTE_WAIT "WSCRIPT.exe "+scr$
            FILE_DELETE bat$: FILE_DELETE scr$
        END_SUB

idem, il me désactive l' extension.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 17:13

Ta version est bizarre, je n' ai pas ce message de confirmation pour valider l' extension...
Je vais re-télécharger chrome pour voir si dès fois que...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 17:18

Tel que tu le fais, tu risques d'avoir un problème avec les guillemets...

Crée un raccourci sur le bureau pour faire ça, et colle l'option indiquée dans la case "cible":

de sorte à avoir:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –enable-easy-off-store-extension-install
dans ce champ. Puis double-clique sur ce raccourci.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 17:23

J' ai essayé aussi, que nenni, désactivation de l' extension aussi.

 bounce  Mad  Evil or Very Mad  No  drunken  rendeer  geek
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 17:32

Là, je suis perplexe. Je suis sous W8.1, à jour, avec Chrome Version 36.0.1985.125 m (Google Chrome est à jour.)

Est-ce que quelqu'un d'autre pourrait essayer ? Télécharger, sur mon WebDav, le fichier DLLs\GoogleChromeExtensionCopyUrl\GoogleChromeExtensionCopyUrl.crx, et le faire glisser dans la page Paramètres\Extensions de Google Chrome, valider, puis arrêter Chrome et le relancer. Est-ce que l'extension est toujours présente ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 17:38

Je suis sous W7
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 17:47

Ca devrait être pareil. Chrome est le même, et ce n'est pas un programme MicroSoft. C'est Google, et c'est multi-plateforme, pour un fonctionnement identique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 18:00

Ygeronimi: est-ce que tu as des extensions dans Chrome qui pourraient intervenir ? De Kaspersky par exemple ? Ca pourrait intervenir aussi...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 18:20

Non pas de plombier polonais dans mon ordi...
 lol! 

Tu as vu la page que j' ai mis en lien plus haut ?
Apparemment c' est chrome qui fait çà et si tu me dis qu' il te demande 5€
cela explique tout... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 18:36

Certes. Ils prétendent que c'est pour des raisons de sécurité, mais en réalité, ça s'apparente à un racket.

Ceci dit, cela n'explique paz la différence de fonctionnement entre ton PC et le mien, alorsz que nous utilisons tous deux exactement la même version de Chrome, qui est la dernière version disponible. Comme mes captures le montrent, j'ai une demande de confirmation d'installation alors que tu ne l'as pas. C'est mystérieux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 18:41

Il y a aussi ce switch pour Chrome:
--always-authorize-plugins
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   Dim 10 Aoû 2014 - 18:48

Oups... il y a un problème avec le switch que tu mets. Il faut mettre:
Code:
–-enable-easy-off-store-extension-install
et non pas
Code:
-enable-easy-off-store-extension-install
Eh oui, il faut 2 tirets !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 10 Aoû 2014 - 19:49

Je vais essayer, je ne suis plus à un test près. Laughing

curieusement en re téléchargeant chrome cette demande apparait
mais cela ne l' empêche pas de me désactiver l' extension... Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL   

Revenir en haut Aller en bas
 
V3.19 du 06/08/2014 - amélioration de GetCurrentChromeURL
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: