Connect with Expertise | Find Experts, Get Answers, Share Insights

Copy and Paste Files to and from the Clipboard

DraguVaso
 
Posts: n/a
#1: Nov 20 '05
Hi,

I'm looking for a way to Copy and Paste Files to the clipboard.
I found a lot of articles to copy pieces of text and bitmaps etc, but nog
whole files.

Whay I need is like you have in windows explorer: when you do a right-click
on a file and choose Copy, and than paste it somewhere in my application and
vice versa.

Anybody knows how to do this?

Thanks in advance,

Pieter



Cor
 
Posts: n/a
#2: Nov 20 '05

re: Copy and Paste Files to and from the Clipboard


Hi Pieter,

The place with information

http://msdn.microsoft.com/library/en...ardSupport.asp

And a sample from a paste

I hope this helps

Cor

\\\
'Copy with windows explore some files and than this
Private Sub Button1_Click(ByVal sender _
As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim folderbrowserDialog1 As New FolderBrowserDialog
Dim iData As IDataObject = Clipboard.GetDataObject()
If iData.GetDataPresent(DataFormats.FileDrop) Then
Dim clipbrd As String() = DirectCast(iData.GetData(DataFormats.FileDrop),
String())
Dim i As Integer
folderbrowserDialog1.ShowDialog()
For i = 0 To clipbrd.Length - 1
If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
& System.IO.Path.GetFileName(clipbrd(i))) Then
System.IO.File.Move(folderbrowserDialog1.SelectedP ath & _
"\" & _
System.IO.Path.GetFileName(clipbrd(i)), _
folderbrowserDialog1.SelectedPath & "temptemptemp.temp")
End If
System.IO.File.Copy(clipbrd(i), folderbrowserDialog1.SelectedPath & _
"\" & _
System.IO.Path.GetFileName(clipbrd(i)))
If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
& "temptemptemp.temp") Then
System.IO.File.Delete(folderbrowserDialog1.Selecte dPath & _
"temptemptemp.temp")
End If
Next
End If
End Sub
///

[color=blue]
> I'm looking for a way to Copy and Paste Files to the clipboard.
> I found a lot of articles to copy pieces of text and bitmaps etc, but nog
> whole files.
>
> Whay I need is like you have in windows explorer: when you do a[/color]
right-click[color=blue]
> on a file and choose Copy, and than paste it somewhere in my application[/color]
and[color=blue]
> vice versa.
>
> Anybody knows how to do this?
>
> Thanks in advance,
>
> Pieter
>
>[/color]


DraguVaso
 
Posts: n/a
#3: Nov 20 '05

re: Copy and Paste Files to and from the Clipboard


Thanks a lot, the pasting is working.
Unfortunately I'm not able to copy a file to the clipboard. any idea?

"Cor" <non@non.com> wrote in message
news:#F#TK1B3DHA.2408@tk2msftngp13.phx.gbl...[color=blue]
> Hi Pieter,
>
> The place with information
>
>[/color]
http://msdn.microsoft.com/library/en...opClipboardSup
port.asp[color=blue]
>
> And a sample from a paste
>
> I hope this helps
>
> Cor
>
> \\\
> 'Copy with windows explore some files and than this
> Private Sub Button1_Click(ByVal sender _
> As Object, ByVal e As System.EventArgs) Handles Button1.Click
> Dim folderbrowserDialog1 As New FolderBrowserDialog
> Dim iData As IDataObject = Clipboard.GetDataObject()
> If iData.GetDataPresent(DataFormats.FileDrop) Then
> Dim clipbrd As String() = DirectCast(iData.GetData(DataFormats.FileDrop),
> String())
> Dim i As Integer
> folderbrowserDialog1.ShowDialog()
> For i = 0 To clipbrd.Length - 1
> If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> & System.IO.Path.GetFileName(clipbrd(i))) Then
> System.IO.File.Move(folderbrowserDialog1.SelectedP ath & _
> "\" & _
> System.IO.Path.GetFileName(clipbrd(i)), _
> folderbrowserDialog1.SelectedPath & "temptemptemp.temp")
> End If
> System.IO.File.Copy(clipbrd(i), folderbrowserDialog1.SelectedPath & _
> "\" & _
> System.IO.Path.GetFileName(clipbrd(i)))
> If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> & "temptemptemp.temp") Then
> System.IO.File.Delete(folderbrowserDialog1.Selecte dPath & _
> "temptemptemp.temp")
> End If
> Next
> End If
> End Sub
> ///
>
>[color=green]
> > I'm looking for a way to Copy and Paste Files to the clipboard.
> > I found a lot of articles to copy pieces of text and bitmaps etc, but[/color][/color]
nog[color=blue][color=green]
> > whole files.
> >
> > Whay I need is like you have in windows explorer: when you do a[/color]
> right-click[color=green]
> > on a file and choose Copy, and than paste it somewhere in my application[/color]
> and[color=green]
> > vice versa.
> >
> > Anybody knows how to do this?
> >
> > Thanks in advance,
> >
> > Pieter
> >
> >[/color]
>
>[/color]


Iouri
 
Posts: n/a
#4: Nov 20 '05

re: Copy and Paste Files to and from the Clipboard


The following code can be used to place file data on the clipboard (it will
not just be the name, nor will it be
the contents of the file). The "DataFormats" parameter controls how other
applications deal with the
clipboard data. The file(s) to be copied must be placed on the clipboard as
an array of strings...

(VB.NET)
Dim DataObject As New DataObject()
Dim file(0) As String
file(0) = "C:\Test.txt"
DataObject.SetData(DataFormats.FileDrop, True, file)
Clipboard.SetDataObject(DataObject)

"DraguVaso" <pietercoucke@hotmail.com> wrote in message
news:4007ed29$0$297$ba620e4c@news.skynet.be...[color=blue]
> Thanks a lot, the pasting is working.
> Unfortunately I'm not able to copy a file to the clipboard. any idea?
>
> "Cor" <non@non.com> wrote in message
> news:#F#TK1B3DHA.2408@tk2msftngp13.phx.gbl...[color=green]
> > Hi Pieter,
> >
> > The place with information
> >
> >[/color]
>[/color]
http://msdn.microsoft.com/library/en...opClipboardSup[color=blue]
> port.asp[color=green]
> >
> > And a sample from a paste
> >
> > I hope this helps
> >
> > Cor
> >
> > \\\
> > 'Copy with windows explore some files and than this
> > Private Sub Button1_Click(ByVal sender _
> > As Object, ByVal e As System.EventArgs) Handles Button1.Click
> > Dim folderbrowserDialog1 As New FolderBrowserDialog
> > Dim iData As IDataObject = Clipboard.GetDataObject()
> > If iData.GetDataPresent(DataFormats.FileDrop) Then
> > Dim clipbrd As String() =[/color][/color]
DirectCast(iData.GetData(DataFormats.FileDrop),[color=blue][color=green]
> > String())
> > Dim i As Integer
> > folderbrowserDialog1.ShowDialog()
> > For i = 0 To clipbrd.Length - 1
> > If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> > & System.IO.Path.GetFileName(clipbrd(i))) Then
> > System.IO.File.Move(folderbrowserDialog1.SelectedP ath & _
> > "\" & _
> > System.IO.Path.GetFileName(clipbrd(i)), _
> > folderbrowserDialog1.SelectedPath & "temptemptemp.temp")
> > End If
> > System.IO.File.Copy(clipbrd(i), folderbrowserDialog1.SelectedPath & _
> > "\" & _
> > System.IO.Path.GetFileName(clipbrd(i)))
> > If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> > & "temptemptemp.temp") Then
> > System.IO.File.Delete(folderbrowserDialog1.Selecte dPath & _
> > "temptemptemp.temp")
> > End If
> > Next
> > End If
> > End Sub
> > ///
> >
> >[color=darkred]
> > > I'm looking for a way to Copy and Paste Files to the clipboard.
> > > I found a lot of articles to copy pieces of text and bitmaps etc, but[/color][/color]
> nog[color=green][color=darkred]
> > > whole files.
> > >
> > > Whay I need is like you have in windows explorer: when you do a[/color]
> > right-click[color=darkred]
> > > on a file and choose Copy, and than paste it somewhere in my[/color][/color][/color]
application[color=blue][color=green]
> > and[color=darkred]
> > > vice versa.
> > >
> > > Anybody knows how to do this?
> > >
> > > Thanks in advance,
> > >
> > > Pieter
> > >
> > >[/color]
> >
> >[/color]
>
>[/color]


100
 
Posts: n/a
#5: Nov 20 '05

re: Copy and Paste Files to and from the Clipboard


Hi DraguVaso,
When drag-and-drop or copies files to the clipboard windows explorer doesn't
drag or copy the entire file to the clipboard. It just move a structure of
data called DROPFILES which carry path names of the files you want to move
or copy as well as flag whether these strings are in UNICODE or ANSI and the
point on the screen where the drag begun. The clipboard uses the same
structure but the point field is not used.

However thanks to the .net framework and DataObject class placing that
structure in the clipboard is as easy as creating array of strings, puting
the array in a data object and put the data object in the clipboard.

the following is a code that do this:

Clipboard.SetDataObject(new DataObject(DataFormats.FileDrop, new
string[]{"C:\\Temp\\TestFile.txt"}));

HTH
B\rgds
100

"DraguVaso" <pietercoucke@hotmail.com> wrote in message
news:4007ed29$0$297$ba620e4c@news.skynet.be...[color=blue]
> Thanks a lot, the pasting is working.
> Unfortunately I'm not able to copy a file to the clipboard. any idea?
>
> "Cor" <non@non.com> wrote in message
> news:#F#TK1B3DHA.2408@tk2msftngp13.phx.gbl...[color=green]
> > Hi Pieter,
> >
> > The place with information
> >
> >[/color]
>[/color]
http://msdn.microsoft.com/library/en...opClipboardSup[color=blue]
> port.asp[color=green]
> >
> > And a sample from a paste
> >
> > I hope this helps
> >
> > Cor
> >
> > \\\
> > 'Copy with windows explore some files and than this
> > Private Sub Button1_Click(ByVal sender _
> > As Object, ByVal e As System.EventArgs) Handles Button1.Click
> > Dim folderbrowserDialog1 As New FolderBrowserDialog
> > Dim iData As IDataObject = Clipboard.GetDataObject()
> > If iData.GetDataPresent(DataFormats.FileDrop) Then
> > Dim clipbrd As String() =[/color][/color]
DirectCast(iData.GetData(DataFormats.FileDrop),[color=blue][color=green]
> > String())
> > Dim i As Integer
> > folderbrowserDialog1.ShowDialog()
> > For i = 0 To clipbrd.Length - 1
> > If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> > & System.IO.Path.GetFileName(clipbrd(i))) Then
> > System.IO.File.Move(folderbrowserDialog1.SelectedP ath & _
> > "\" & _
> > System.IO.Path.GetFileName(clipbrd(i)), _
> > folderbrowserDialog1.SelectedPath & "temptemptemp.temp")
> > End If
> > System.IO.File.Copy(clipbrd(i), folderbrowserDialog1.SelectedPath & _
> > "\" & _
> > System.IO.Path.GetFileName(clipbrd(i)))
> > If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> > & "temptemptemp.temp") Then
> > System.IO.File.Delete(folderbrowserDialog1.Selecte dPath & _
> > "temptemptemp.temp")
> > End If
> > Next
> > End If
> > End Sub
> > ///
> >
> >[color=darkred]
> > > I'm looking for a way to Copy and Paste Files to the clipboard.
> > > I found a lot of articles to copy pieces of text and bitmaps etc, but[/color][/color]
> nog[color=green][color=darkred]
> > > whole files.
> > >
> > > Whay I need is like you have in windows explorer: when you do a[/color]
> > right-click[color=darkred]
> > > on a file and choose Copy, and than paste it somewhere in my[/color][/color][/color]
application[color=blue][color=green]
> > and[color=darkred]
> > > vice versa.
> > >
> > > Anybody knows how to do this?
> > >
> > > Thanks in advance,
> > >
> > > Pieter
> > >
> > >[/color]
> >
> >[/color]
>
>[/color]


DraguVaso
 
Posts: n/a
#6: Nov 20 '05

re: Copy and Paste Files to and from the Clipboard


Thanks louri and 100! it worked fine!

"100" <100@100.com> wrote in message
news:OcR$8lF3DHA.1804@TK2MSFTNGP12.phx.gbl...[color=blue]
> Hi DraguVaso,
> When drag-and-drop or copies files to the clipboard windows explorer[/color]
doesn't[color=blue]
> drag or copy the entire file to the clipboard. It just move a structure of
> data called DROPFILES which carry path names of the files you want to move
> or copy as well as flag whether these strings are in UNICODE or ANSI and[/color]
the[color=blue]
> point on the screen where the drag begun. The clipboard uses the same
> structure but the point field is not used.
>
> However thanks to the .net framework and DataObject class placing that
> structure in the clipboard is as easy as creating array of strings, puting
> the array in a data object and put the data object in the clipboard.
>
> the following is a code that do this:
>
> Clipboard.SetDataObject(new DataObject(DataFormats.FileDrop, new
> string[]{"C:\\Temp\\TestFile.txt"}));
>
> HTH
> B\rgds
> 100
>
> "DraguVaso" <pietercoucke@hotmail.com> wrote in message
> news:4007ed29$0$297$ba620e4c@news.skynet.be...[color=green]
> > Thanks a lot, the pasting is working.
> > Unfortunately I'm not able to copy a file to the clipboard. any idea?
> >
> > "Cor" <non@non.com> wrote in message
> > news:#F#TK1B3DHA.2408@tk2msftngp13.phx.gbl...[color=darkred]
> > > Hi Pieter,
> > >
> > > The place with information
> > >
> > >[/color]
> >[/color]
>[/color]
http://msdn.microsoft.com/library/en...opClipboardSup[color=blue][color=green]
> > port.asp[color=darkred]
> > >
> > > And a sample from a paste
> > >
> > > I hope this helps
> > >
> > > Cor
> > >
> > > \\\
> > > 'Copy with windows explore some files and than this
> > > Private Sub Button1_Click(ByVal sender _
> > > As Object, ByVal e As System.EventArgs) Handles Button1.Click
> > > Dim folderbrowserDialog1 As New FolderBrowserDialog
> > > Dim iData As IDataObject = Clipboard.GetDataObject()
> > > If iData.GetDataPresent(DataFormats.FileDrop) Then
> > > Dim clipbrd As String() =[/color][/color]
> DirectCast(iData.GetData(DataFormats.FileDrop),[color=green][color=darkred]
> > > String())
> > > Dim i As Integer
> > > folderbrowserDialog1.ShowDialog()
> > > For i = 0 To clipbrd.Length - 1
> > > If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> > > & System.IO.Path.GetFileName(clipbrd(i))) Then
> > > System.IO.File.Move(folderbrowserDialog1.SelectedP ath & _
> > > "\" & _
> > > System.IO.Path.GetFileName(clipbrd(i)), _
> > > folderbrowserDialog1.SelectedPath & "temptemptemp.temp")
> > > End If
> > > System.IO.File.Copy(clipbrd(i), folderbrowserDialog1.SelectedPath & _
> > > "\" & _
> > > System.IO.Path.GetFileName(clipbrd(i)))
> > > If System.IO.File.Exists(folderbrowserDialog1.Selecte dPath _
> > > & "temptemptemp.temp") Then
> > > System.IO.File.Delete(folderbrowserDialog1.Selecte dPath & _
> > > "temptemptemp.temp")
> > > End If
> > > Next
> > > End If
> > > End Sub
> > > ///
> > >
> > >
> > > > I'm looking for a way to Copy and Paste Files to the clipboard.
> > > > I found a lot of articles to copy pieces of text and bitmaps etc,[/color][/color][/color]
but[color=blue][color=green]
> > nog[color=darkred]
> > > > whole files.
> > > >
> > > > Whay I need is like you have in windows explorer: when you do a
> > > right-click
> > > > on a file and choose Copy, and than paste it somewhere in my[/color][/color]
> application[color=green][color=darkred]
> > > and
> > > > vice versa.
> > > >
> > > > Anybody knows how to do this?
> > > >
> > > > Thanks in advance,
> > > >
> > > > Pieter
> > > >
> > > >
> > >
> > >[/color]
> >
> >[/color]
>
>[/color]


Closed Thread