问题描述
我知道的情况如下:C#控件有DragEnter和DragOver事件及DoDragDrop方法,这些都是针对内容拖入到控件中处理的时机。我要达到的效果如下:在我的窗体中有listview,我想实现QQ好友拖拽到桌的效果。即,我的listview节点拖拽到桌面时也能创建相应的快捷方式。
解决方案
解决方案二:
大致的思路如下:1、QQ聊天窗口和主界面是两个应用程序2、在主界面中好友名单拖动事件中,获取被拖动名单的号码,然后创建一个目标指向聊天窗口应用程序的桌面快捷图标,参数就是QQ号码3、在聊天窗口程序中解析此启动地址,获取QQ号码
解决方案三:
楼上的方法好像还有点问题
解决方案四:
引用1楼的回复:
大致的思路如下:1、QQ聊天窗口和主界面是两个应用程序2、在主界面中好友名单拖动事件中,获取被拖动名单的号码,然后创建一个目标指向聊天窗口应用程序的桌面快捷图标,参数就是QQ号码3、在聊天窗口程序中解析此启动地址,获取QQ号码
===当我拖到桌面或者其他文件夹时,要怎么获取目的的地址?以及在什么时机处理创建快捷方式?
解决方案五:
有高手指点吗?
解决方案六:
该回复于2012-06-12 16:55:50被版主删除
解决方案七:
这个是拖出来的QQ好友快捷路径与参数D:ProgramFilesTencentQQBinQQScLauncher.exe/uin:xxxxxxx/quicklunch:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx思路:QQ好友拖动创建快捷方式【事件可解决】双击然后启动QQScLauncher.exe进程把参数【SendMessageWM_COPYDATA或WM_USER】发向QQ进程发送消息根据参数打开相应的好友窗口至于QQ是怎么实现,用OD跟一下,上方是大致思路下面是C#创建快捷方式摘自网络http://www.cnblogs.com/08shiyan/archive/2011/09/29/2195633.html用WSH直接创建快捷方式:1.首先要添加引用.添加引用的方法非常简单,右击你的项目并选择添加引用,选择COM选项卡并选择WindowsScriptHostObjectModel2.引用命名空间usingSystem.Runtime.InteropServices;//互动服务usingIWshRuntimeLibrary;3.创建快捷方式(注释中有详细说明)//实例化WshShell对象WshShellshell=newWshShell();//通过该对象的CreateShortcut方法来创建IWshShortcut接口的实例对象IWshShortcutshortcut=(IWshShortcut)shell.CreateShortcut(Environment.GetFolderPath(Environment.SpecialFolder.Desktop)+"//ShortCut.lnk");//设置快捷方式的目标所在的位置(源程序完整路径)shortcut.TargetPath=System.Reflection.Assembly.GetExecutingAssembly().Location;//应用程序的工作目录//当用户没有指定一个具体的目录时,快捷方式的目标应用程序将使用该属性所指定的目录来装载或保存文件。shortcut.WorkingDirectory=System.Environment.CurrentDirectory;//目标应用程序窗口类型(1.Normalwindow普通窗口,3.Maximized最大化窗口,7.Minimized最小化)shortcut.WindowStyle=1;//快捷方式的描述shortcut.Description="ChinaDforceYanMang";//可以自定义快捷方式图标.(如果不设置,则将默认源文件图标.)//shortcut.IconLocation=System.Environment.SystemDirectory+"\"+"shell32.dll,165";//设置应用程序的启动参数(如果应用程序支持的话)//shortcut.Arguments="/myword/d4s";//设置快捷键(如果有必要的话.)//shortcut.Hotkey="CTRL+ALT+D";//保存快捷方式shortcut.Save();