Page 1 sur 2
récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 13:43
par dayvid
salut a tous,
comment ont fait pour récupérer l'adresse d'un fichier
que ont vient de copier dans le presse papier de windows ?
alors, ont peut récupérer du texte mais pas l'adresse d'un fichier
que ont vient de copier précédement
regardez, copiez un fichier, nimporte quoi
ouvrez votre bloc note par éxemple, maintenant collez et ya rien !!!
et sa sa me pose un soucie de taille, je pige rien la dans moi
pourquoi ce fichue texte d'adresse n'est pas accessible
trop mal foutue leur truc la a mon avis
s'auriez-vous comment je puis faire
j'ai éfféctuer et petite recherche mais je n'est rien trouvé
et sinon ou se trouve le presse papier de windows vista
ensuite comment retrouvé l'emplacement de la mémoire
ou est stoquer les information du presse papier
merci d'avence

Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 14:40
par Backup
sous linux lorsque tu fais
un copier (control+C) sur un fichier
puis qu'ensuite tu execute ce prg
ça affiche bien l'emplacement du fichier
je n'ai pas essayé sous windows (la bulle de rebooter)
mais ,ça doit marcher aussi

Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 14:51
par dayvid
non pas du tous et je suis coinsser, sa ne marche pas
et en plus j'ai vista mais peut importe
c'est une vrais m...... ce system la
pourquoi l'adresse du fichier n'est pas stoquer en tans que texte ?
merci
Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 15:41
par Backup
sous XP pour voir le contenu du presspapier
faut executer la commande "
clipbrd" (menu demarrer)
sous Vista cette commande n'existe plus
Sous Vista, cette commande n'existe plus. Pour l'ajouter, il suffit de copier le fichier clipbrd.exe (que vous trouviez sous Windows XP dans le dossier Windows\system32) dans le dossier Windows\system32 de votre Vista.
Vous pouvez aussi télécharger ce fichier exécutable, puis faire un clic droit dessus > Exécuter en tant qu'administrateur, et la commande sera ajoutée automatiquement.
D'autres programmes aussi permettent d'afficher le contenu du presse papier, par exemple :
* Presse Papier
* 101Clips
Malheureusement le presse-papier de Windows ne permet de conserver qu'un item à la fois. Il existe des logiciels permettant d'augmenter la capacité du presse-papier et de copier-coller un nombre illimité d'éléments, c'est le cas notamment de :
* Télécharger Ditto
* Télécharger ClipTray
recherche dans les APIs , il doit y avoir une soluce

Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 15:44
par dayvid
merci dobro pour ta réponce, j'ai également recherche de mon coté mais pas moyen de trouvé ce que j'ai voulue, et sinon comment je peut manipuler le presse papier
ce que je veut c'est pouvoir prendre et envoyer des donnée spécifique
comme des adresse de fichier, image, etc tu comprend

Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 16:52
par Backup
la solution est ici !!
mais faut traduire en purebasic car elle est en Delphi
http://www.swissdelphicenter.ch/torry/s ... php?id=791
Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 19:54
par kernadec
bonjour dayvid
sur le sujet j'ai reçu un cours de Fred ici:
http://www.purebasic.fr/french/viewtopi ... rd#p108476
Cordialement
Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 20:10
par Backup
rien a voir !!
il veux récuperer le path d'un fichier copié dans windows (avec control+C)
tu selectione un fichier dans ton arborescence
tu fait control+C
(en principe le chemin du fichier est dans le presspapier)
seulement sous windows , impossible de le récuperer par purebasic
par contre le getclipboard() fonctionne tres bien sous Linux !
en fin de compte c'est peut etre un bug
j'ai posé la question ici :
http://forums.purebasic.com/english/vie ... 311b83bcd6
Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 20:30
par kernadec
Je n'ai pas vista heureusement
mais sinon peut être avec cette outil de vista "SnippingTool"
qui est pour la copie écran, mais qui fonctionne peut être comme presse papier
voir ses paramètres
Pour l'utiliser, faire au clavier : touche Windows, puis tapez 'snip' et entrée.
tu peux aussi récupérer le fichier %systemroot%\system32\clipbrd.exe d'un PC sous XP
dans le même dossier d'un PC sous Vista ou W7 et exécuter directement clipbrd.exe.
sinon il y a des programmes pour libre cela.
cordialement
Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 22:01
par Backup
Dobro a écrit :sous XP pour voir le contenu du presspapier
faut executer la commande "
clipbrd" (menu demarrer)
sous Vista cette commande n'existe plus
Sous Vista, cette commande n'existe plus. Pour l'ajouter, il suffit de copier le fichier clipbrd.exe (que vous trouviez sous Windows XP dans le dossier Windows\system32) dans le dossier Windows\system32 de votre Vista.
Vous pouvez aussi télécharger ce fichier exécutable, puis faire un clic droit dessus > Exécuter en tant qu'administrateur, et la commande sera ajoutée automatiquement.
D'autres programmes aussi permettent d'afficher le contenu du presse papier, par exemple :
* Presse Papier
* 101Clips
Malheureusement le presse-papier de Windows ne permet de conserver qu'un item à la fois. Il existe des logiciels permettant d'augmenter la capacité du presse-papier et de copier-coller un nombre illimité d'éléments, c'est le cas notamment de :
* Télécharger Ditto
* Télécharger ClipTray
recherche dans les APIs , il doit y avoir une soluce

Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 22:11
par Backup
........................
Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 22:22
par kernadec

bis j'avais pourtant fait une sieste mince je suis pas réveillé non plus
excuse moi il m'arrive lire de travers ou en travers
ps: ch(13) ch(10) sont < 48
cordialement
Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : ven. 30/juil./2010 22:42
par Backup
kernadec a écrit :
ps: ch(13) ch(10) sont < 48
cordialement
ha bah oui !

Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : sam. 31/juil./2010 8:03
par Backup
bon le dernier code fonctionne parfaitement !!
tres utile meme
il est tiré du code Delphi que j'avais trouvé sur le net
netmaestro a bien bossé

Re: récupérer l'adresse d'un fichier dans le presse papier
Publié : sam. 31/juil./2010 12:24
par lepiaf31
Bon j'ai pas lu le post en entier mais j'ai récemment eu besoin de faire cela donc voilà ce que j'avais codé:
Code : Tout sélectionner
;ajoute la liste files() au clipboard (le vide avant)
Procedure addClipboardFiles(List files.s())
Protected hDrop.DROPFILES, *dat, add.i, hMem.i, *buff
If OpenClipboard_(0)
;on vide le presse papier
EmptyClipboard_()
;on ajoute met tous les fichiers dans une zone mémoire (avec le chr(0))
FirstElement(files())
ForEach files()
If *dat
add = MemorySize(*dat)
Else
add = 0
EndIf
*dat = ReAllocateMemory(*dat, add+Len(files())+1)
PokeS(*dat+add, files(), Len(files()))
PokeB(*dat+add+Len(files()), 0)
Next
hDrop\pFiles = SizeOf(DROPFILES)
hMem = GlobalAlloc_(#GMEM_MOVEABLE, SizeOf(DROPFILES)+MemorySize(*dat))
*buff = GlobalLock_(hMem)
CopyMemory(@hDrop, *buff, SizeOf(DROPFILES))
CopyMemory(*dat, *buff+SizeOf(DROPFILES), MemorySize(*dat))
GlobalUnlock_(hMem)
SetClipboardData_(#CF_HDROP, hMem)
CloseClipboard_()
ProcedureReturn 1
EndIf
ProcedureReturn 0
EndProcedure
;renvoi les fichiers contenus dans le press-papier dans files()
Procedure getClipboardFiles(List files.s())
Protected hDrop, i.i, fileName.s
If OpenClipboard_(0) And IsClipboardFormatAvailable_(#CF_HDROP)
hDrop = GetClipboardData_(#CF_HDROP)
Repeat
fileName = Space(1024)
DragQueryFile_(hDrop, i, @fileName, 1024)
fileName = Trim(fileName)
If fileName <> ""
AddElement(files())
files() = fileName
EndIf
i + 1
Until fileName = ""
CloseClipboard_()
ProcedureReturn i
EndIf
ProcedureReturn 0
EndProcedure
Voilà si ca peut aidé quelqu'un .