Hi Chip,
Below is for everyone's information and the Python function/procedure
format is the def statement and if a function it just uses the return statement.
Remember that in Python there are no end statements, just indentation is
used.
Also, the start of a block a : character is used at the end of the
statement.
Below the statement used to get C++ code is CTypes and all or most code is
in lowercase and is case sensitive.
Also comments are either 3 quotes, a number sign or just one line a single
quote as is the #
def getPasteFiles( Files ):
"Get File List and Below Are Value Descriptions."
#ctypes.windll.user32.
#Insure desired format is there, and open clipboard.
if ctypes.windll.user32.IsClipboardFormatAvailable( CF_HDROP):
if ctypes.windll.user32.OpenClipboard(0):
#Get handle to Dropped Filelist data, and number of files.
hDrop = ctypes.windll.user32.GetClipboardData( CF_HDROP)
num_files = shell.DragQueryFile(hDrop, -1)
#Files array:
files= []
#xrange means by default 0 to length:
for i in xrange(num_files):
fpath= shell.DragQueryFile( hDrop, i)
files.append(fpath)
return files
So remember the above code is indent and lower case sensitive. There is an
easy way to do it in vb
But, this could easily be added into the we clipboard object model for
people to be able to select files, copy them on the clipboard, then paste the
list in a document or other lists without having to actually copy the file
itself.
There are codes for type of option in using this and there cf_ codes and 15
is for dropfiles, and 1 is for text only, easy to get and use.
Bruce
Sent: Thursday, July 25, 2013 5:15 PM
Subject: Re: Can We Call Win32 and shell?
Hi Chip,
I know how to get files the normal way and someone , besides myself, wanted
to get the file list from the clipboard. I have written a version in Python and
could write it using studio, but just was asking about using .vbs to get the
win32 object which is needed.
The only way to get the file list from the clipboard is using shell and
that is actually the easy part of getting the file list, in fact very easy.
The only other problem is getting into the clipboard commands and that has
to be done by win32 commands and Windoweyes does not allow that, they only give
properties and 1 method, append
They could easily add isFiles and the object they use for the clipboard
itself, for they have to be using it for the few options they have, the only
thing missing is the object itself.
Now there are memory management calls and such, all under the win32
clipboard command for they use open() and all the other functions.
The way to get the file list is to call the shell command:
shell.DragDropFile for that is the only way to get the files...
So, the only thing I need is the actual clipboard object being used at the
window level.
Having this feature makes things a lot easier and fast and not requiring
another app if it were built into the WE object model. I added another
property, pasteFileNames in my code...
Bruce
Sent: Thursday, July 25, 2013 4:20 PM
Subject: RE: Can We Call Win32 and shell?
It's not quite clear to me what you really need Bruce, but below is an example
of how to get the list of files for a given dir in VBScript:
set x=getfiles("c:\temp")
' X now holds a dictionary of file names, with the index being an integer
number starting at 1
Function getFiles(ForDir)
Dim fsObj
Dim folder
Dim file
Dim fileList
dim i
Set getFiles = Nothing
Set fileList = CreateObject("scripting.dictionary")
Set fsObj = CreateObject("Scripting.FileSystemObject")
If fsObj.FolderExists(ForDir) Then
Set folder = fsObj.GetFolder(ForDir)
i=0
For Each file In folder.Files
i=i+1
fileList.Add i, file.name
Next
Set getFiles = fileList
End If
End Function
From: BX [mailto:[email protected]]
Sent: Thursday, July 25, 2013 9:32 AM
To: [email protected]
Subject: Can We Call Win32 and shell?
Can we call win32 and shell commands directly using an object create method
in vb?
I have developed a program to extract file names from the clip board and
you can display them as an array or iterate through the array list since the
call back method is an array...
So I need to have win32 and shell in order to get the clipboard handle then
get the DragQueryFile method from the shell because files are on the system and
have to be extracted from the shell.
So, I would like to know how to get that object for the shell and win32.
Could I get the clipboard object without using win32? Since the clipboard
command you have is only for text and someone a while back wanted to get file
names, so I can do that now if I have the way of getting the shell object from
the system without doing the other shell object; yet I may have answered my
question, but still want ideas.
Bruce