逸逸记事
逸逸记事

我的分类(专题)

首页(175)
儿子(9)
SIP技术(9)
Web2.0(12)
摄影和DVD(8)
软件开发随笔(18)
名古屋打工生活(11)
微软技术开发(47)
Java技术(12)
加拿大移民生活(20)
生活点滴(6)
第一份工作--上海贝尔(18)
完成项目(13)
回国后的生活(0)


最新日志
独行者
终于知道什么叫外包了
人生悲哀之事
水晶报表中显示动态图片
水晶报表中的简单参数设置
怀念下小黑
dotnet中的数据连接Timeout
老板的思路
又买房了
交通事故

最新回复
回复:独行者
回复:怀念下小黑
回复:老板的思路
回复:mjSip学习笔记
回复:老板的思路
回复:dotnet中的数据连接Timeo
回复:mjSip学习笔记
回复:交通事故
回复:交通事故
回复:又买房了

留言板

签写新留言

您好,很希望问您一个关于jain-sip
生活经历就是最大的财富,羡哦~
java的Web开发问题
回复:疑问
IT还不如妓女呢,呵呵
myjavaserver的空间
求助
您的子域名已开通

统计
blog名称:人在旅途
日志总数:175
评论数量:505
留言数量:13
访问次数:1671109
建立时间:2005年12月7日

链接

 

生命是过客,人在旅途。奶奶是信基督教的,没啥文化,却养育了四子二女,还带过九个孙辈。老人家对生命的看法就是“人都是客人,迟早要回去的。”就以《人在旅途》来纪念她。

 

«September 2025»
123456
78910111213
14151617181920
21222324252627
282930

公告
  本人上传的源程序中可能引用或使用了第三方的库或程序,也可能是修改了第三方的例程甚至是源程序.所以本人上传的源程序禁止在以单纯学习为目的的任何以外场合使用,不然如果引起任何版权问题,本人不负任何责任.




     本站首页    管理页面    写新日志    退出
调整中...
[微软技术开发]How to get the file type icon by the file name extension
人在旅途 发表于 2006/1/23 9:16:56

SHFileOperation function ShellExecute GetFileInfo The best way is here(Downloaded from:http://www.mvps.org/vbnet/index.html?code/comctl/lvdemo4.htm): 500)this.width=500'>Visual Basic Common Control API Routines.rar 1.Use the imagelist functions in the comctl32.lib by this way:Public Declare Function ImageList_Draw Lib "comctl32" (ByVal himl As Long, ByVal i As Long, ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal fStyle As Long) As Long2.I can not use the function SHGetFileInfo in VB, it always return 0 and the error code is 0 too.maybe before use it we need to call some initial function first.3.We can load a lib called shell32 into VB, try it. 4.I have solved this problem: The reason that I can not call SHGetFileInfo is that : I  used "\\" for the path in VB program. Just as I did in the VC++ program. But VB is default for unicode, so the "\\" is really stands for the "\\" not "\" as it did in VC++. And what it is interesting is that you can use "\\" in VB correctly for some function, for examle, "Open StrNamePath For Input As #FileNo" and "CreateFile". And for other functions, as  in "FileListBox" and "SHGetFileInfo" , it does not work. 5. Finished: And my program about it is here://Here to implement'/************************************************************************/'/*      Copyright(c) Kawatetsu Systems, Inc                             */'/*                      All Rights Reserved                             */'/*                      An Unpublished Work                             */'/*                                                                      */'/*      This is a Proprietary program product material and is the       */'/*      property of  KAWATETSU SYSTEMS, INC. No sale, reproduction      */'/*      or other  use of this program  product is authorized except     */'/*      as  granted by the  fully  executed KAWATETSU SYSTEMS, INC.     */'/*      product license or by the separate written agreement            */'/*      and approval of:                                                */'/*                                                                      */'/*              Kawatetsu Systems,  INC.                                */'/*              36-11, Minamisuna 2-chome, Koto-ku, TOKYO, JAPAN        */'/************************************************************************' *              ClsFileInfo.cls  バージョン1.0' *                      2002.3' *         ファール情報(たとえばアイコン)クラス。' ************************************************************************/ Option Explicit'/*内部変数*/Private FilePath As String '/*ファイルPath*/Private IsVirtual As BooleanPrivate FileName As String Public Sub Init(ByVal FilePathIn As String, ByVal IsVirtualIn As Boolean)    If IsVirtualIn Then        If InStr(FilePathIn, "\") <> 0 Then Exit Sub        FileName = FilePathIn    Else        Dim Values() As String        Dim RetLen  As Long        RetLen = Str2ArrayStr(FilePathIn, "\", Values)        If RetLen <= 0 Then Exit Sub        FileName = Values(RetLen - 1)    End If    FilePath = FilePathIn    IsVirtual = IsVirtualInEnd Sub Public Sub GetLargeIcon(ByRef Pic As PictureBox)    Dim Handle As Long    If IsVirtual Then        FilePath = App.Path + "\" + FileName        Dim Tmp As SECURITY_ATTRIBUTES        Handle = CreateFile(FilePath, GENERIC_WRITE Or GENERIC_READ, _           FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0)        If Handle = -1 Then Exit Sub        CloseHandle Handle    End If    Dim hImgSmall As Long    Dim shinfo As SHFILEINFO    hImgSmall = SHGetFileInfo(FilePath, _                       0, shinfo, Len(shinfo), _                       SHGFI_ICON + SHGFI_LARGEICON)    'ImageList_Draw hImgSmall, shinfo.iIcon, Pic.hdc, 0, 0, imlTransparent    Pic.Picture = LoadPicture()    DrawIcon Pic.hdc, 0, 0, shinfo.hIcon    Pic.Picture = Pic.Image    If IsVirtual Then        CloseHandle Handle        DeleteFile FilePath    End IfEnd Sub   //Here to usingPrivate Sub MenuEditAttach_Click()    FileDlg.FileName = ""    FileDlg.ShowOpen    On Error GoTo MenuEditAttach_ClickErr    If FileDlg.FileName <> "" Then        Dim Tools As New ClsFileInfo        Tools.Init FileDlg.FileName, False        Tools.GetLargeIcon PicTmp        FileIcons.ListImages.Add , FileDlg.FileName, PicTmp        lstAttch.ListItems.Add , FileDlg.FileName, FileDlg.FileName, FileDlg.FileName, FileDlg.FileName        MyMail.Attachs.Add FileDlg.FileName, FileDlg.FileName    End If    Exit SubMenuEditAttach_ClickErr:    If Err.Number = 35602 Then        ErrorDlgLog.Report ERROR_MSG_File_Aready_Attached    Else        ErrorDlgLog.Report Err.Description    End If    Exit SubEnd Sub

阅读全文(3765) | 回复(0) | 编辑 | 精华


发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144802290 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号