[VB2008] ShellCopy unter Windows 7

30/07/2010 - 17:39 von Ahmed Martens | Report spam
Hallo Leute,

in einem kleinen VBNet-Programm verwende ich folgende Funktion:

Public Function ShellCopy(ByVal strSource As String, ByVal strTarget As String, ByVal Handle As Int32) As Boolean
Dim SFO As New SHFILEOPSTRUCT

If Right(strSource, 1) = "\" Then strSource = Mid(strSource, 1, Len(strSource) - 1)
ShellCopy = True
With SFO
.hwnd = Handle
.fFlags = FnF_NOCONFIRMATION
.wFunc = FO_COPY
.pFrom = strSource & Chr(0) & Chr(0)
.pTo = strTarget & Chr(0) & Chr(0)
End With

Call SHFileOperation(SFO)
If SFO.fAnyOperationsAborted Then ShellCopy = False
End Function

Diese Funktion funktioniert aber unter Win7 nicht mehr. Es hapert wohl
an den Admin-Rechten.

Hat da einer vielleicht einen Tipp, wie ich da weiterkomme?

Danke schon einmal im voraus.

Gruß Ahmed

Antworten bitte nur in der Newsgroup
 

Lesen sie die antworten

#1 Armin Zingler
30/07/2010 - 18:30 | Warnen spam
Am 30.07.2010 17:39, schrieb Ahmed Martens:
Hallo Leute,

in einem kleinen VBNet-Programm verwende ich folgende Funktion:

Public Function ShellCopy(ByVal strSource As String, ByVal strTarget As String, ByVal Handle As Int32) As Boolean
Dim SFO As New SHFILEOPSTRUCT

If Right(strSource, 1) = "\" Then strSource = Mid(strSource, 1, Len(strSource) - 1)
ShellCopy = True
With SFO
.hwnd = Handle
.fFlags = FnF_NOCONFIRMATION
.wFunc = FO_COPY
.pFrom = strSource & Chr(0) & Chr(0)
.pTo = strTarget & Chr(0) & Chr(0)
End With

Call SHFileOperation(SFO)
If SFO.fAnyOperationsAborted Then ShellCopy = False
End Function

Diese Funktion funktioniert aber unter Win7 nicht mehr.



Ich tippe auf 64-Bit-Version.(?)

Es hapert wohl
an den Admin-Rechten.



Weil du welches Fehlerverhalten bekommst?

Hat da einer vielleicht einen Tipp, wie ich da weiterkomme?



Wie sieht die Deklaration von SHFILEOPSTRUCT aus?
Handles sind als IntPtr zu deklarieren. Auch als Parameter von Function ShellCopy.

Schau mal hier:
http://pinvoke.net/default.aspx/Str...LEOPSTRUCT

Die Deklaration scheint zu stimmen.


Armin

Ähnliche fragen