Drag-and-Drop with Desktop Files
R.H.
roland.huettmann at gmail.com
Thu Mar 14 09:25:53 EDT 2019
I am referring to:
Message: 17, Date: Thu, 14 Mar 2019 00:44:05 +0100, From: hh <hh at hyperhh.de
>
Regarding MacOS I can not say much, but I use Windows, and IT WORKS.
'hh ' = Hermann's contribution, right? This fantastic. I never expected
anybody to have a solution. I had searched Git and whatever.
Well, first it did not actually work because spaces in the folder- and
filenames are breaking the script. There will be an error message. So, I
have added these script lines to what 'hh' had posted:
-- Button script
on mouseUp
set the hideConsoleWindows to true -- Hide console window
put the effective filename of this stack into p
set the itemdelimiter to slash
put "wscript1.js" into last item of p -- Or construct any other valid
file path
--replace slash with backslash in p -- Not needed, works without
backslash conversion
put quote & p & quote into p -- Required if file- or folder names
contain spaces, and mostly they do
put shell ("wscript "&p) into msg -- or any field, ...
end mouseUp
Tested:
Operating system: Windows 10, the latest version
OS scripting language: Wscript (Microsoft Windows Script Host File)
Filename of script file: "wscript.js"
Location: Here the call file is placed inside the stack folder (could be
any other location)
Script of the file as given by Hermann:
var shellWindows = new ActiveXObject("Shell.Application").Windows();
for (var i = 0; i < shellWindows.Count; i++) {
var w = shellWindows.Item(i);
WScript.StdOut.WriteLine(w.LocationName);
var sel = w.Document.SelectedItems();
for (var j = 0; j < sel.Count; j++) {
var item = sel.Item(j);
WScript.StdOut.WriteLine(item.Name);
WScript.StdOut.WriteLine(item.Path);
}
}
Biggest THANK YOU. You solved the client request in a very elegant way and
I create this script file "on the fly" from within LiveCode and execute it
on the client's Windows system.
Thanks for all contributions
Roland
More information about the use-livecode
mailing list