473,765 Members | 2,010 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Getting and Using IDataObject from Virtual Folders (Shell Namespace Extentions

JP
I have an app that represents ShellFolder Items as a visual element
(listview item, etc). The code correctly performs Drag&Drop operations
EXCEPT in the case when the item being dragged is from a Virtual
Folder. The problem is that the DragSource is my app, not the Virtual
Folder, and therefore the IDataObject interface is clueless about how
to get the data.
My understanding is that I need to obtain and use the IDataObject
Interface of the Folder, since the Folder is the only thing that knows
how to extract the data. This I can do.
My Question:
How do I instruct the Folder's IDataObject as to which items
controlled by that folder should be included/made available through the
IDataObject?
My initial thought is to use the IDataObject's SetData method to pass
it a "Shell IDList Array" (CIDA) structure containing the items I want.
However, this seems backwards to me.
There must be some "normal" or "usual" way to do this, I just don't
know what that is.
Any help -- references, samples, advice, etc will be appreciated!

Thanks,
JP

Nov 17 '05 #1
3 4330
"JP" <pa******@comca st.net> wrote in message
news:11******** **************@ g44g2000cwa.goo glegroups.com.. .
I have an app that represents ShellFolder Items as a visual element
(listview item, etc). The code correctly performs Drag&Drop operations
EXCEPT in the case when the item being dragged is from a Virtual
Folder.
...
Any help -- references, samples, advice, etc will be appreciated!


If no one responds here try posting again in the group

microsoft.publi c.platformsdk.s hell

Regards,
Will


Nov 17 '05 #2
JP
Will,
Thanks --- I was looking for the appropriate group -- and that one is
it.

Nov 17 '05 #3
What you are doing is correct. Set the PIDL for the virtual folder as the
data for the dragdrop in the CFSTR_SHELLIDLI ST format.
During dragdrop, use the IDropTarget of the folder which the dragdrop
operation is currently over.

- Atul
Sky Software http://www.ssware.com/
Drop-In Windows Explorer-Like Shell Browsing UI for your apps.
"JP" <pa******@comca st.net> wrote in message
news:11******** **************@ g44g2000cwa.goo glegroups.com.. .
I have an app that represents ShellFolder Items as a visual element
(listview item, etc). The code correctly performs Drag&Drop operations
EXCEPT in the case when the item being dragged is from a Virtual
Folder. The problem is that the DragSource is my app, not the Virtual
Folder, and therefore the IDataObject interface is clueless about how
to get the data.
My understanding is that I need to obtain and use the IDataObject
Interface of the Folder, since the Folder is the only thing that knows
how to extract the data. This I can do.
My Question:
How do I instruct the Folder's IDataObject as to which items
controlled by that folder should be included/made available through the
IDataObject?
My initial thought is to use the IDataObject's SetData method to pass
it a "Shell IDList Array" (CIDA) structure containing the items I want.
However, this seems backwards to me.
There must be some "normal" or "usual" way to do this, I just don't
know what that is.
Any help -- references, samples, advice, etc will be appreciated!

Thanks,
JP

Nov 17 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
5082
by: gwen | last post by:
Hi, I have a code to copy/move folders to a specified folder on the root drive - ie c:\stuff However, I also have the folder "stuff" on the root of other partitions as well - ie d:\stuff, e:\stuff, etc. I would like the code to work so that the selected folder for moving/copying will always go to the "stuff" folder of the drive that it is on. In other words, if a folder is selected on the d drive, it will be moved to d:\stuff, if it's...
6
2497
by: Jim Flack | last post by:
I have a new website hosted by www.easily.co.uk which contains a mysql database (I have the initial access codes etc ). My problem is I have never used PHP or dealt with mysql before. I have tried looking at a few web tutorials (which talked about accessing the mysql bin) which I cant seem to find in my webspace. Can anyone help me with advice or a decent BASIC url tutorial that will take me through setting up a database up (and showing...
0
1620
by: avishay | last post by:
Hi All, I want to use SHFileOperation using Python and Win32 extentions, in order to move a file to the trash can. The function itself can be accessed by importing win32com.shell.shell. However, I cannot find anywhere the SHFILEOPSTRUCT. This structure is mentioned in the documentation of the Win32 extentions, but I can't find a way to access it. I would appreciate your help. If there's an alternative way to send a file to the trash can,...
6
28592
by: Tony Liu | last post by:
Hi, is it possible to create a virtual drive? For instance, let's say I want to create a virtual drive call "Z", and that drive should be visible in the My Computer folder and works like a standard hard drive, but the different is that, all underlying implementations such as create a file at the "Z" drive, etc. will be mapped to my dll or services. Thanks Tony
2
2657
by: Julie J. | last post by:
How do you create a virtual folder in VS.NET? It is simple enough to create a physical folder, but I want to create virtual folders like I was able to do in VS 6. Anyone know how? -JJ-
0
1126
by: David Whitchurch-Bennett | last post by:
Hi there, Has anyone successfully used Namespace extentions in VB.NET? I am trying to find some documentation about it for VB, but cannot find any! Loads available for c#, Delphi etc, but none for VB :-( If this possible, and if so, can anyone point me in the right direction of a control or documentation to help. Many thanks,
7
2120
by: **Developer** | last post by:
Although the code is VB I believe the question is OOP I tried the VB NG but no answer. I suspect the c# programmer is more apt to be aware of these kinds of subtleties so I', trying here. I do the following: Note that I'm returning and interface because GetDatObject returns an interface.
4
5970
by: Bob Staheli | last post by:
The .Net DataObject class implements the COM/OLE IDataObject interface , so how do I get it. I have tried this, but it does not work : // Declare the COM/OLE IDataObject interface public interface IOleDataObject {
9
2594
by: antonyliu2002 | last post by:
I have a C# class GeneralUtilities.cs , which many of my aspx.cs files will refer to. So, I've put it under the App_Code folder and compiled it to library using csc /target: library from the DOS console. I can use objects of type GeneralUtilities in any aspx.cs file in my web application without any problem if only I make my web application folder a virtual directory. If I don't make it a virtual directory, the compiler complains...
0
9568
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9404
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10164
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10007
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9835
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7379
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5277
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5423
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3532
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.