Auteur de questions
Clipboard error

Discussion générale
-
bonjour,
je ne sais pas faire du vba,
je connai par contre le C++ et batch,
mais je rencontre le meme problème que ce topic
https://social.msdn.microsoft.com/forums/fr-fr/a23c31df-e645-4500-ab4a-e6178510a9b1/clipboard-error
à la fin DEREK semble fournir la solution
Derek,
the SetDataObject
Clipboard.SetDataObject(object data, bool copy, int retryTimes, int
retryDelay)
did work and resolved my problem.
I used retryTimes=2
sauf que je n'arrive pas à l'adapter à mon bout de code que voici : (je demande de l'aide merci)
/*
this simple tool will copy file passed as argument into windows clipboard
http://stackoverflow.com/questions/17189010/how-to-copy-cut-a-file-not-the-contents-to-the-clipboard-in-windows-on-the-com
*/
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("File2Clip")]
[assembly: AssemblyDescription("copies file to clipboard (as a file)")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("rostok - https://github.com/rostok/")]
[assembly: AssemblyProduct("File2Clip")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
namespace File2Clip
{
public class App
{
private static bool isConsoleSizeZero {
get{ return 0 == (Console.WindowHeight + Console.WindowWidth); }
}
public static bool IsOutputRedirected {
get { return isConsoleSizeZero && !Console.KeyAvailable; }
}
public static bool IsInputRedirected {
get { return isConsoleSizeZero && Console.KeyAvailable; }
}
[STAThread]
static void Main(string[] args)
{
//Console.WriteLine("File2Clip");
List<string> list = new List<string>();
string line;
try{
bool ka = Console.KeyAvailable;
// if this should raise an error we are dealing with redirection
// http://stackoverflow.com/questions/12911833/how-to-catch-all-exceptions-in-c-sharp-using-try-and-catch
// http://stackoverflow.com/questions/3453220/how-to-detect-if-console-in-stdin-has-been-redirected/3453272#3453272
// http://stackoverflow.com/questions/7302544/flushing-system-console-read
}
catch (Exception e)
{
//Console.WriteLine("Console.KeyAvailable PROBLEM");
// stdin
//if (!IsInputRedirected)
{
while(!string.IsNullOrEmpty(line = Console.ReadLine())) list.Add(line);
}
//Console.WriteLine("Console.In.Peek() "+ Console.In.Peek());
}
// args
foreach (string s in args) {
list.Add(s);
}
StringCollection paths = new StringCollection();
foreach (string s in list)
{
paths.Add(
System.IO.Path.IsPathRooted(s) ?
s :
System.IO.Directory.GetCurrentDirectory() +
@"\" + s);
}
if (paths.Count>0)
{
Clipboard.SetFileDropList(paths);
}
else
{
Console.WriteLine("Input is Empty! Provide file paths via STDIN or command line arguments.");
}
}
}
}
sauf que je n'arrive pas à l'adapter à mon bout de code que voici : (je demande de l'aide merci)
sauf que je n'arrive pas à l'adapter à mon bout de code que voici : (je demande de l'aide merci)
- Type modifié Nina ZaekovaMicrosoft contingent staff, Moderator lundi 10 juillet 2017 09:41
Toutes les réponses
-
Bonjour,
Je comprends pas trop ce que vous voulez faire mais toujours est-il que dans votre collection paths, il faut le chemin complet de fichiers (et pas de répertoire).
Si par exemple j'ai un fichier nommé test.txt dans le répertoire c:\Logs, je dois avoir dans paths :
paths = new[] {"c:\\Logs\\test.txt"}];
Ensuite, on peut faire un Ctrl+V dans n'importe quel autre répertoire et ca copiera ce fichier.
Vérifiez que dans votre collection paths, vous avez bien des noms de fichiers, et des fichiers qui existent ;-)
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone -
Bonjour,
Voulez vous le faire en VBA, C# ou VB.net ?
Peut-être que le lien suivant vous donnera un coup de main https://msdn.microsoft.com/fr-fr/library/system.windows.forms.clipboard(v=vs.110).aspx
Pourriez vous nous apporté plus d'information ?
Cordialement,
Cordialement,
-
j'ai trouvé ce que je voulais faire avec powershell
script qui selectionne le fichier image capture extension PNG le plus recent dans le dossier "D:\_capture" et puis ça simule comme avec une souris le click droit copy sur le fichier selectionné.
voici le bout de code que j'ai élaboré en mode brouillon
(commande Set-Clipboard)
.....
Import-Module Microsoft.PowerShell.Management
$strString = Get-ChildItem -Path "D:\_capture" -name -include *.png | select -last 1
foreach($k in $strString){
Write-Output $k
$concat = "D:\_capture\" + $k
Write-Output $concat
Set-Clipboard -Path $concat
}
.....
- Modifié hermes6236 vendredi 1 septembre 2017 14:46