社区
Delphi
帖子详情
急急急!请教高手:有关RegisterDragDrop!
somebody
2000-05-19 11:05:00
怎样在Delphi中成功应用API函数RegisterDragDrop,完成多进程之间窗口的拖放,最好有例子来说明!
...全文
166
1
打赏
收藏
急急急!请教高手:有关RegisterDragDrop!
怎样在Delphi中成功应用API函数RegisterDragDrop,完成多进程之间窗口的拖放,最好有例子来说明!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kxy
2000-05-19
打赏
举报
回复
delphi高级开发指南一书有例子,DDHCode
VC跨进程拖拽文件
由于封装DROPFILES消息之后,若通过sendMessage发送给目标进程,则难以获取到目标窗口进程,尤其是目标进程最小化到任务栏后。这里把DROPFILES消息通过ole接口封装到拖拽数据对象中,实现了与windows相同的文件拖拽。内有gif录像,可参考。
RunInSandbox:在沙盒环境中启动Windows可执行文件和COM服务器的示例代码
在沙盒中运行 用于在同一台计算机上的沙盒或进程中启动可执行文件和进程外COM服务器的C ++代码。 无需创建任何其他用户帐户。 可执行沙箱 运行RunInSandbox.exe [ac|li|mi|hi] ExePath以在AppContainer,低完整性,中完整性或高完整性进程中启动ExePath应用程序。 这适用于基于STARTUPINFOEX的流程创建。 COM沙箱 运行RunInSandbox.exe [ac|li|mi|hi] ProgID [-dnd] [-g]以在AppContainer,低完整性,中完整性或高完整性进程中启动ProgID COM服务器。 -dnd选项用于启用通过Re
gis
t
erD
ragDrop
进行OLE拖放,这会导致AppContainer沙箱出现问题。 -g选项用于授予COM服务器的AppContainer权限,只需执行一次即可。 用法示例: Run
DRAG & DROP
使用IDropTarget接口同时支持文本和文件拖放
关于Windows的外壳扩展编程,拖放是比较简单的一种,在网上可以找到不少介绍这个技巧的文章。大部分是介绍使用MFC的COleDropTarget实现的,
我觉得一般使用COleDropTarget已经很好了,但是我习惯在一些程序模块中,完全的不使用MFC,比如纯SDK编程,还有用在ATL的时候,MFC是相当累
赘的。所以COleDropTarget在这个意义上讲不够完美。
IDropTar
拖放文件到SOUI程序中
一、在窗口OnInitDialog初使化完成后告诉系统你的程序支持拖放操作 ::Re
gis
t
erD
ragDrop
(m_hWnd, GetDropTarget()); 二、完成一个IDropTarget 例子如下CDropTargetBase为一个基本的IDropTarget对像。因为我们大多数不会关心所有的操作。所以只需重写自己关心的步骤就行了。 class CDropTargetBase...
第五部分:IDropTarget实现
这一节我们讲如何来实现一个自己的Drop Target,我们需要实现IDropTarget接口。 1.如何成为一个"Drop Target" 为了使窗体能接收拖放的数据,窗口必须注册为drop目标,调用OLE API Re
gis
t
erD
ragDrop
来完成这件事情,函数原型如下: WINOLEAPI Re
gis
t
erD
ragDrop
( HWND hwnd,
Delphi
5,388
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章