Jump to content
Sign in to follow this  
ProgAndy

Drag and Drop with Explorer

Recommended Posts

ProgAndy

Here i have created an example for Drag and Drop interaction with the Windows Explorer. It uses my COM UDFs including a modified MemoryDLLCall from Ward. I hope i'll find the time to extend the IDataObject-interface for more functionality.

The download is located here: DoDragDrop and COM in AutoIt Downloads:Posted Image

//Edit: I forgot to mention that this will only work on Win XP and newer. I was too lazy to implement an IEnumFORMATETC interface and used SHCreateStdEnumFmtEtc instead.

//Edit2: This UDF makes it possible to Drag a file from an AutoIt-GUI to the Explorer or other drop-enabled applications.

Edited by ProgAndy
  • Like 1

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites
UEZ

Nice work again ProgAndy!

Can be very useful...

Thanks for sharing knowledge! :P

UEZ


Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
ProgAndy

Thanks :P


*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites
martin

Here i have created an example for Drag and Drop interaction with the Windows Explorer. It uses my COM UDFs including a modified MemoryDLLCall from Ward. I hope i'll find the time to extend the IDataObject-interface for more functionality.

The download is located here: DoDragDrop and COM in AutoIt Downloads:Posted Image

Brilliant ProgAndy.

Thank you.


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites
ProgAndy

You're welcome!


*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites
ptrex
Default

Wow! This is excellent!

Thank you for sharing. :P

Share this post


Link to post
Share on other sites
ProgAndy

Thank you very much :unsure:

(This is not complete, DragImages are missing, but for that I need an Array in Memory, so I'm writing an UDF for it :P )

--> Therefore the next UDF will be MemoryArray for DLLStructs with Add, Delete, Get, GetDelete, Set, ... Just sorting and different datatypes (sizes) in 1 Array won't be implemented.

Edited by ProgAndy

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites
GreenCan

Congrats ProgAndy.

This is a beautiful example of high tech programming

I wish I could do the same...

GreenCan


Contributions

CheckUpdate - SelfUpdating script ------- Self updating script

Dynamic input validation ------------------- Use a Input masks can make your life easier and Validation can be as simple

MsgBox with CountDown ------------------- MsgBox with visual countdown

Display Multiline text cells in ListView ---- Example of pop-up or ToolTip for multiline text items in ListView

Presentation Manager ---------------------- Program to display and refresh different Border-less GUI's on a Display (large screen TV)

USB Drive Tools ------------------------------ Tool to help you with your USB drive management

Input Period udf ------------------------------ GUI for a period input

Excel ColorPicker ---------------------------- Color pickup tool will allow you to select a color from the standard Excel color palette

Excel Chart UDF ----------------------------- Collaboration project with water 

GetDateInString ------------------------------ Find date/time in a string using a date format notation like DD Mon YYYY hh:mm

TaskListAllDetailed --------------------------- List All Scheduled Tasks

Computer Info --------------------------------- A collection of information for helpdesk

Shared memory Demo ----------------------- Demo: Two applications communicate with each other through means of a memory share (using Nomad function, 32bit only)

Universal Date Format Conversion -------- Universal date converter from your PC local date format to any format

Disable Windows DetailsPane -------------- Disable Windows Explorer Details Pane

Oracle SQL Report Generator -------------  Oracle Report generator using SQL

SQLite Report Generator -------------------  SQLite Report generator using SQL

SQLite ListView and BLOB demo ---------- Demo: shows how binary (image) objects can be recognized natively in a database BLOB field

DSN-Less Database connection demo --- Demo: ActiveX Data Objects DSN-Less Database access

Animated animals ----------------------------- Fun: Moving animated objects

Perforated image in GUI --------------------- Fun: Perforate your image with image objects

UEZ's Perforator major update ------------- Fun: Pro version of Perforator by UEZ

Visual Crop Tool (GUI) ----------------------- Easy to use Visual Image Crop tool

Visual Image effect (GUI) -------------------- Visually apply effects on an image

 

 

 

Share this post


Link to post
Share on other sites
ProgAndy

I have updated the example with my MemArray UDF. Also, i have implemented IDragSourceHelper for the images but for any reason, it won't work. The download can be found in the first post.


*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites
Ward

Only a word, EXCELLENT!


新版 _ArrayAdd 的白痴作者,不管是誰,去死一死好了

 

Share this post


Link to post
Share on other sites
ValeryVal

However, there is an short, easy and clear example of the same from Lazycat (Jun 23 2006, 09:19 AM) without high tech programming

here

It works for me under Win9x/2k/XP.


The point of world view

Share this post


Link to post
Share on other sites
ProgAndy

However, there is an short, easy and clear example of the same from Lazycat (Jun 23 2006, 09:19 AM) without high tech programming

here

It works for me under Win9x/2k/XP.

This is exactly the same method i use for drop on an AutoIt-GUI. The COM-approach is only for Drag-Drop from AutoIt to another app.

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites
RomanK

This is awesome!!

I think i'm going to play around with it... :o

By the way did you use some reference (maybe from msdn) for it?

I'm interested in how the job would be done in VB. :D

take care,

Roman


[font="Courier New"]http://RomanK.hondadesigns.com[/font]

Share this post


Link to post
Share on other sites
ProgAndy

I saw an example in freebasic or was it darkbasic? creating a COM-object for RichEdit-OLE. Since thee basic-languages don't support objects, a saw how to create COM-objects without support from the lang. Then i had to wiat for a DllCall for pointers, which Ward created.

For the COM-objects i use ReactOS-Sources and MSDN :D

especially for drag-drop, i uesd this tutorial: http://www.catch22.net/tuts/dragdrop/


*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

Share this post


Link to post
Share on other sites
james3mg

I...I'm so happy :')

I've been looking for this functionality for some time now! Hopefully I can figure out how to get it into my own GUI easily :o

...so happy :D


"There are 10 types of people in this world - those who can read binary, and those who can't.""We've heard that a million monkeys at a million keyboards could produce the complete works of Shakespeare; now, thanks to the Internet, we know that is not true." ~Robert Wilensky0101101 1001010 1100001 1101101 1100101 1110011 0110011 1001101 10001110000101 0000111 0001000 0001110 0001101 0010010 1010110 0100001 1101110

Share this post


Link to post
Share on other sites
RomanK

Although I don't know anything about COM, thank you, I've got something to learn now (if there wasn't already enough for school hehe) :D


[font="Courier New"]http://RomanK.hondadesigns.com[/font]

Share this post


Link to post
Share on other sites
ValeryVal

This is exactly the same method i use for drop on an AutoIt-GUI. The COM-approach is only for Drag-Drop from AutoIt to another app.

Yes. This is a hard task for AutoIt3. I have one usefull (maybe?) link for your hard work.

Many years ago the Textview was written by Florian Balmer. I found it as

Textview 4.4.10 © Florian Balmer 1996-2000.

Textview (pure C files with one short CPP one) can be an example of DoDragDrop and GetUIObjectOf usage. This is a very short, precise and clever code. Now Textview has version 6.0.12. and other homepage

Thanx


The point of world view

Share this post


Link to post
Share on other sites
sinistlor
:) This is amazing. Thank you!

Share this post


Link to post
Share on other sites
TheFrozenOne

Hey...

I need to move multiple folders from the explorer in a tree view of another program which is not my script.

How can I use this UDF to do it? Is it even possible with it?

Thanks in advance,

~ TheFrozenOne ~

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×