扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
VB.NET编写托盘程序
成都创新互联公司是一家专业提供鸡冠企业网站建设,专注与成都网站建设、网站制作、成都h5网站建设、小程序制作等业务。10年已为鸡冠众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
托盘程序作为一类特殊的窗体,其快捷图标显示在
系统托盘
中,窗体本身则隐藏不可见。在.NET之前版本的VB中编写托盘程序是十分困难的,但是VB.NET提供的新的NotifyIcon组件却使VB初学者也能轻松编写一个这样的程序:
新建“Windows应用程序”,设置主窗体Opacity属性为0,FormBorderStyle属性为None,ShowInTaskbar属性为
False,这样窗体将在启动后隐藏。在窗体上放置一个NotifyIcon组件NotifyIcon1,一个ContextMenu(弹出菜单)组件
ContextMenu1,并根据需要为ContextMenu1添加菜单项。
设置NotifyIcon1的ICON属性,这个图标就是应用程序出现在系统托盘中的快捷图标;设置NotifyIcon1的Text属性为“VB.NET托盘程序”,这就是鼠标移动到托盘图标时弹出的文字说明;设置NotifyIcon1的ContextMenu属性为ContextMenu1,也就是右键单击快捷图标时的弹出菜单为
ContextMenu1。OK,按F5运行!
几乎不用编写代码,一个托盘程序就这样轻松实现了。
Icon.ExtractAssociatedIcon(string);
返回指定文件中所包含的图标
//////////////////////////////////////////
可以,你可以使用ToBitmap()方法将其转换为一个将此 Icon 转换为 GDI+ Bitmap。
Image mImage = Icon.ExtractAssociatedIcon(string).ToBitmap();
任务栏图标就是窗体的ICON属性设置的图标,和标题栏的图标是完全一样的。如果你想做的不一样,那就用无边框窗体,自制一个标题栏
''' summary
''' Returns an icon for a given file - indicated by the name parameter.
''' /summary
''' param name="name"Pathname for file./param
''' param name="size"Large or small/param
''' param name="linkOverlay"Whether to include the link icon/param
''' returnsSystem.Drawing.Icon/returns
Public Shared Function GetFileIcon(ByVal name As String, ByVal size As IconSize, ByVal linkOverlay As Boolean) As System.Drawing.Icon
Dim shfi As New Shell32.SHFILEINFO()
Dim flags As UInteger = Shell32.SHGFI_ICON Or Shell32.SHGFI_USEFILEATTRIBUTES
If True = linkOverlay Then
flags += Shell32.SHGFI_LINKOVERLAY
End If
' Check the size specified for return.
If IconSize.Small = size Then
flags += Shell32.SHGFI_SMALLICON
Else
flags += Shell32.SHGFI_LARGEICON
End If
Shell32.SHGetFileInfo(name, Shell32.FILE_ATTRIBUTE_NORMAL, shfi, CInt(System.Runtime.InteropServices.Marshal.SizeOf(shfi)), flags)
' Copy (clone) the returned icon to a new object, thus allowing us to clean-up properly
Dim icon As System.Drawing.Icon = DirectCast(System.Drawing.Icon.FromHandle(shfi.hIcon).Clone(), System.Drawing.Icon)
User32.DestroyIcon(shfi.hIcon)
' Cleanup
Return icon
end function
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流