Page 1 sur 1

MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : jeu. 28/mars/2019 15:35
par cage
Bonjour,

Voici un petit utilitaire a utiliser en ligne de commande dans un fichier batch par exemple.
Il permet de récupérer/effacer le contenu du clipboard

Code : Tout sélectionner

;
;************************************************************************
;Titre      : myclip.pb
;Auteur     : (C) 2019 CAGE
;Date       : 2019/03/28
;Version PB : PureBasic 5.70 LTS (Windows - x86)
;Version PB : PureBasic 5.70 LTS (Windows - x64)
;Compiler Options
;Compiler Options : Executable format: Console
;Compile/Run      : Create temporary executable in the source directory
;
;Libairies: aucunes
;
;************************************************************************
;

EnableExplicit

OnErrorGoto(?ErrorHandler)

Global  count, message$, myparam$, texte$

texte$ = ""+#CRLF$
texte$ + " Syntaxe: myclip <clear|get|help>"+#CRLF$
texte$ + #CRLF$
texte$ + " myclip clear"+#CRLF$
texte$ + "   Efface le presse papier."+#CRLF$
texte$ + #CRLF$
texte$ + " myclip get"+#CRLF$
texte$ + "   Récupère le contenu texte du presse papier et l'affiche."+#CRLF$
texte$ + #CRLF$
texte$ + " myclip get > fichier.txt"+#CRLF$
texte$ + "   Récupére le contenu texte du presse papier et l'enregiste dans le fichier <fichier.txt>"+#CRLF$
texte$ + #CRLF$
texte$ + " myclip help"+#CRLF$
texte$ + "   Affiche ce message."+#CRLF$
texte$ + #CRLF$
texte$ + " Exemple:"+#CRLF$
texte$ + #CRLF$
texte$ + " ipconfig /all | clip"+#CRLF$
texte$ + " myclip get > myclip.txt"+#CRLF$

Procedure Help()
  If OpenConsole()
    Print(texte$)
    CloseConsole()
  EndIf
  End #False
EndProcedure

count = CountProgramParameters()

If count=0 Or count>1
  Help()
  End #False
EndIf

If count
  myparam$ = ProgramParameter(0) : Debug myparam$
  Select LCase(myparam$)
    Case "/help", "/?"
      Help()
      End #False
    Case "clear"
      ClearClipboard()
      End #True
    Case "get"
      texte$ = GetClipboardText()
      If texte$ <> #Null$
        If OpenConsole()
          Print(texte$)
          End #True
        EndIf
      EndIf
    Default
      Help()
      End #False
  EndSelect
EndIf
  
ErrorHandler:

End
CAGE

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : sam. 30/mars/2019 10:53
par Kwai chang caine
Merci cage 8)
Ce qui serait cool c'est un code qui puisse sauvegarder et restaurer n'importe quel contenu de presse papier. (Texte, Image, Fichier, Objet)
Je crois que c'est TsSoft qui m'avait dit que le presse papier etait tres complexe à gérer en dehors des textes.
Encore merci du partage

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : sam. 30/mars/2019 12:53
par venom
Kwai chang caine a écrit :Ce qui serait cool c'est un code qui puisse sauvegarder et restaurer n'importe quel contenu de presse papier. (Texte, Image, Fichier, Objet)

Ça fait des années que cette idée est dans un coin de ma tête, mais je n'y suis jamais vraiment pencher dessus. :D






@++

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : sam. 30/mars/2019 13:32
par cage
Bonjour,

Je vais voir ce que j'arrive a faire, mais je ne sais pas si c'est a ma porté.

CAGE

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : sam. 30/mars/2019 22:16
par Shadow
Salut et merci,

Dis, je ne connais pas cette syntaxe, que veut t-elle dire, je veux dire elle fait quoi ?:

Code : Tout sélectionner

End #True
End #False
Je connais les deux mais je ne savais pas qu'on pouvais faire ça :o
EDIT: ok j'ai compris.

Mais a contrario, quand je test avec PB, ça se ferme net et c'est normale.
Qu'est ce qui va déclencher le programme ?

Le mettre dans un .Bat, ok mais il comprends pas cette syntaxe si ?
Le code c'est pas du dos.... ça m’échappe :)

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : sam. 30/mars/2019 22:27
par cage
De rien.
Syntax

End [ExitCode]

Description

Ends the program execution correctly. The 'ExitCode' optional parameter can be specified if the program need to returns an error code (widely used in console programs).

The 'ExitCode' can be further used e.g. with the ProgramExitCode() command.
Normalement, une application console (au sens DOS du terme) retourne un code d'erreur que l'on peut tester avec la variable %ERRORLEVEL%
Cela permet de tester dans un fichier batch si l'action s'est bien passée.
J'ai pris pour habitude de toujours retourner un code d'erreur dans les applications console.
Nécessite de paramétrer l'option Executable format: a Console
Voila.

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : dim. 31/mars/2019 16:34
par Shadow
Merci Cage.

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : mer. 03/avr./2019 8:41
par Marc56
Ce qui serait cool c'est un code qui puisse sauvegarder et restaurer n'importe quel contenu de presse papier. (Texte, Image, Fichier, Objet)
Ditto Fait ça (et beaucoup d'autres choses)
https://ditto-cp.sourceforge.io/
Tu fais glisser un des clips (texte, image) sur le bureau et il t'en fait un fichier.

Re: MYCLIP - Utilitaire pour récupérer/effacer le clipboard

Publié : jeu. 04/avr./2019 8:31
par Kwai chang caine
Cool !!! Portable (j'adore) / Open source et apparemment performant c'est vraiment intéressant comme outil
Je crois qu'il y a très longtemps j'en avais entendu parler mais je l'avais oublié.
Merci pour le lien :wink:

Maintenant un module pb pourrait étendre nos logiciels.
Par exemple dans un souci de transfert inter exe, bien souvent quand rien ne marche, pipe, std, filesharing, memorysharing, etc...et bien le presse papier reste la dernière barque certe merdique mais existante...
Le blême c'est qu'utiliser le PP l'utilisateur n'apprécie pas vraiment qu'on lui le vide sans consentement ou bien qu'il colle une photo de pamela anderson à la place de son texte qu'il s'est fait un oignon à écrire et qui est maintenant perdu car il l'a pas sauvegardé :?
Alors que là tu sauves, tu utilises, tu restaures...et ni vu ni connu j't'embrouille :mrgreen: