C# 单击windows桌面某个图标时获取其图标名称

老狼的诗 2012-04-07 04:54:42
简述:如题
详述:
1.windows 桌面上右键菜单中获取本单击图标的名称
2.赋值到C#变量中

如上图所示:
需要获取到的内容:图标名称(当鼠标双击或者是滑过图标时)
请详述一下具体的实现步骤,或者可行性思路;万分感谢!!
我已经查了两天了……未果;
在博客园中找到了一篇博文:
http://www.cnblogs.com/lemony/archive/2007/04/16/715833.html感觉比较有价值,但是本人愚钝,还望高手指点……1·2!~@#¥……
...全文
384 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老狼的诗 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:

我有点疑问,你确定是想获得这个文件的名称还是当前文件使用的图标的名称?因为一个文件或者文件夹可能有多个图标可以选择的,但是看你贴的图貌似是取得文件的名称,如果是这样就比较简单了,就是FileInfo类的应用,可以msdn,如果是想获得文件使用的图标的名称可以考虑下MSDN里面的Windows编程或者再仔细研究下FileInfo和DiretoryInfo里面的属性,……
[/Quote]
是快捷方式……不是快捷键……
非常感谢……
岁月无情_1 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

我有点疑问,你确定是想获得这个文件的名称还是当前文件使用的图标的名称?因为一个文件或者文件夹可能有多个图标可以选择的,但是看你贴的图貌似是取得文件的名称,如果是这样就比较简单了,就是FileInfo类的应用,可以msdn,如果是想获得文件使用的图标的名称可以考虑下MSDN里面的Windows编程或者再仔细研究下FileInfo和DiretoryInfo里面的属性,如果不行再考虑使用P/Invok……
[/Quote]

可以参考一下
http://msdn.microsoft.com/zh-cn/magazine/cc164123(en-us).aspx

另外最好msdn里查一下win32编程,因为P/Invoke需要调用WIN32的DLL

刚才写了一个小程序研究了一下,貌似FileInfo没有公开的关于你需要的属性。

还有你说的“快捷键”是不是应该是“快捷方式”
老狼的诗 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

我有点疑问,你确定是想获得这个文件的名称还是当前文件使用的图标的名称?因为一个文件或者文件夹可能有多个图标可以选择的,但是看你贴的图貌似是取得文件的名称,如果是这样就比较简单了,就是FileInfo类的应用,可以msdn,如果是想获得文件使用的图标的名称可以考虑下MSDN里面的Windows编程或者再仔细研究下FileInfo和DiretoryInfo里面的属性,如果不行再考虑使用P/Invok……
[/Quote]

图片中的aaa是一个快捷键 图标 我想去的他(包括文件\文件夹\快捷键)的名称;
实现背景:当单击windows桌面上的某一个图标(包括文件\文件夹\快捷键)de 同时,获取其(包括文件\文件夹\快捷键)名字;如图片中的aaa
刚问了度娘,貌似P/Invoke是我所需,如果你手头又学习资料的话,可否详述下;(我之前查的是windows Shell编程)
非常感谢您的回答!!
岁月无情_1 2012-04-10
  • 打赏
  • 举报
回复
我有点疑问,你确定是想获得这个文件的名称还是当前文件使用的图标的名称?因为一个文件或者文件夹可能有多个图标可以选择的,但是看你贴的图貌似是取得文件的名称,如果是这样就比较简单了,就是FileInfo类的应用,可以msdn,如果是想获得文件使用的图标的名称可以考虑下MSDN里面的Windows编程或者再仔细研究下FileInfo和DiretoryInfo里面的属性,如果不行再考虑使用P/Invoke的方式。
threenewbee 2012-04-08
  • 打赏
  • 举报
回复
你找的例子思路是正确的。
子夜__ 2012-04-08
  • 打赏
  • 举报
回复
WINFORM 不太会

其实只要点击事件里能获取到点击的文件就可以了 然后在取NAME
WEB里可用JS
去年应朋友需要用C# 2.0写的一个按热键模拟鼠标单击操作程序,类似按键精灵,翻出来分享 实现功能:设定模拟鼠标单击/秒次的系统热键(热键自动保存),设定每秒单击的间隔毫秒数,按下设定好的热键程序便开始模拟鼠标单击操作,再按一次热键程序停止模拟并统计模拟鼠标单击的次数与间误差。 演示程序:\HookSimulateMouse\bin\Debug\HookSimulateMouse.exe(需MS .NET Framework 2.0运行库支持) 程序界面: 1.设定间间隔范围:1ms-1000ms,如:900ms 2.设置快捷键,如:Ctrl+Alt+W 将鼠标移至要模拟单击处按热键,于下一秒开始后计windowsXP不是实系统,系统间误差在20-55ms,而且通过程序获得(特别在CPU占用率高)都会有延迟,要高精度需要凋API或者取CPU钟频率,还要计算开机以来运行长ms数,而且那是计不是定。 如:您设定系统间ms数为900,于5点18分20秒569毫秒按下了快捷键,程序从下一秒0ms开始计,在5点18分21秒900-908毫秒之间程序模拟一次鼠标单击(鼠标单击可能有8ms延迟) 以此类推直到您再按一次热键程序停止模拟并统计单击次数及毫秒误差(1s=1000ms) 按关闭X或双击桌面右下角系统托盘程序图标可隐藏/显示程序界面,至桌面右下角系统托盘 通过本C#程序源码可学习: 程序窗体最大化/最小化还原到系统托盘 调用系统DLL(user32.dll)设定全局热键控制程序,模拟鼠标单击操作 调用timer控件计 Thread线程控制 FileStream文件流读写操作

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧