Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Ruby Win32 Drag and Drop 0.5
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  1 message - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Wayne Vucenic  
View profile  
 More options Oct 8 2005, 1:13 pm
Newsgroups: comp.lang.ruby
From: Wayne Vucenic <nightpho...@gmail.com>
Date: Sun, 9 Oct 2005 02:13:30 +0900
Local: Sat, Oct 8 2005 1:13 pm
Subject: [ANN] Ruby Win32 Drag and Drop 0.5
Ruby Win32 Drag and Drop is a Windows Explorer Drop Handler which
allows Ruby scripts to be executed by dragging and dropping either
files or text onto an .rb or .rbw file.

Example:

Save the following Ruby script as test.rb

    require 'Win32API'
    Win32API.new('user32', 'MessageBox', 'LPPL', 'I').call(0, ARGF.read, '', 0)

Save the following text as data.txt

    This is a test

Now dragging and dropping data.txt onto test.rb, will result in a
dialog box saying "This is a test".

Similarly, selecting the text "Hello World" in an editor (Notepad,
Word, etc.) and dragging and dropping it onto test.rb generates a
dialog box saying "Hello World".

Details:

Dragging and dropping the files "a.txt", "b.txt", and "c.txt" onto the
file "script.rb" runs rubyw as follows:

    rubyw script.rb a.txt b.txt c.txt

Notes:

1) Actually, the command line contains the full paths to all the
script.rb, a.txt, b.txt, and c.txt files, each surrounded by double
quotes in case any of the directories has a space in it.  I didn't
show this above for clarity.

2) The dropped files appear in sorted order (sorted by full path, case
insensitive).  Ordinarily, the Windows shell provides the files names
in a fairly random order.  I felt sorting them made things slightly
more predictable.

3) If text is dropped, a file is created in a temp directory to hold
the text, and the path to this file is provided on the command line.
Currently this file is not deleted, but it will be in a future
version.

4) rubyw is invoked whether the files or text are dropped on a .rb or
a .rbw file.

Installation:

1) Install Ruby using the One Click Installer.

2) Copy the RubyDragAndDrop.dll file to anywhere.  Sometimes files
like this are placed in 'c:/windows/system32', but it can go anywhere.

3) Start a Command Prompt window, cd to the directory containing
RubyDragAndDrop.dll, and run regsvr32:

    C:\windows\system32>regsvr32 RubyDragAndDrop.dll

If this is successful, you'll see a dialog box saying

---------------------------
RegSvr32
---------------------------
DllRegisterServer in RubyDragAndDrop.dll succeeded.
---------------------------
OK
---------------------------

4) You're all set.  You shouldn't need to reboot Windows.

Prerequisities/Assumptions:

1) Microsoft's file msvcrt.dll must be installed.  msvcrt.dll has been
included as part of the operating system since Win95 OSR2.

2) I have tested this on NT4 SP6, Windows 2000, and Windows XP Home
and Professional.  I expect it will work on Windows Server 2003 and on
Win95/98/ME, but I haven't been able to test this.

3) If you don't use the Ruby One Click Installer to install Ruby, you
need to ensure that at least two things are set up correctly:

a) The directory containing rubyw.exe must be in your path.  You can
verify this by starting a Command Prompt window and running "rubyw".
If it's in your path you won't see an error message:

    C:\>rubyw

    C:\>

b) In the registry, the file extension .rb should map to rbFile, and
rbw should map to rbwFile.  You can verify this in RegEdit by
checking that the default value of the HKEY_CLASSES_ROOT/.rb registry
key is "rbFile"  (and of .rbw is "rbwFile")

If there's sufficient interest I'll write up more detailed
instructions for getting this to work in a non-OneClickInstaller
environment.

Known Bugs and Limitations:

1) Temporary files created when text is dragged and dropped are never
deleted.  (No temporaries are created when files are dragged and
dropped.)

2) "regsvr32 -u RubyDragAndDrop.dll" does not work, and gets an error.

Download RubyDragAndDrop.dll Version 0.5 from

http://www.nobugssw.com/ruby/draganddrop.html

Let me know if you have any problems, or look me up at RubyConf!

Wayne Vucenic
No Bugs Software
Ruby and C++ Agile Contract Programming in Silicon Valley


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google