Foxtable(狐表)用户栏目专家坐堂 → [求助]帮忙改改这段内容 谢谢


  共有1612人关注过本帖树形打印复制链接

主题:[求助]帮忙改改这段内容 谢谢

帅哥哟,离线,有人找我吗?
jiskin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
[求助]帮忙改改这段内容 谢谢  发帖心情 Post By:2016/6/15 15:28:00 [只看该作者]

Dim extsubkey = Registry.ClassesRoot.OpenSubKey(".xls")
'从注册表中读取扩展名相应的子键
If extsubkey IsNot Nothing Then
    Dim extdefaultvalue = DirectCast(extsubkey.GetValue(Nothing), String)
    '取出扩展名对应的文件类型名称
    Dim typesubkey = Registry.ClassesRoot.OpenSubKey(extdefaultvalue)
    '从注册表中读取文件类型名称的相应子键
    If typesubkey IsNot Nothing Then
        Dim description = DirectCast(typesubkey.GetValue(Nothing), String)
        '得到类型描述字符串
        Dim defaulticonsubkey = typesubkey.OpenSubKey("DefaultIcon")
        '取默认图标子键
        If defaulticonsubkey IsNot Nothing Then
            '得到图标来源字符串
            Dim defaulticon = DirectCast(defaulticonsubkey.GetValue(Nothing), String)
            '取出默认图标来源字符串
            Dim iconstringArray = defaulticon.Split(","C)
            Dim nIconIndex As Integer = 0
            If iconstringArray.Length > 1 Then
                Integer.TryParse(iconstringArray(1), nIconIndex)
            End If
            '得到图标
            
            Dim phiconLarge As new System.IntPtr
            Dim phiconSmall As new System.IntPtr
            ExtractIconExW(iconstringArray(0).Trim(""""C), nIconIndex, phiconLarge, phiconSmall, 1)
            Dim icon As icon = Icon.FromHandle(phiconLarge)
            Dim fileStream As new System.IO.FileStream("c:\test.ico", System.IO.FileMode.Create)
            icon.Save(fileStream)
            fileStream.Close()
        End If
    End If
End If

请问这段内容如何才能在FT里运行

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/15 15:45:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2016/6/15 15:53:00 [只看该作者]

谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2016/6/15 16:59:00 [只看该作者]

以下是引用大红袍在2016/6/15 15:45:00的发言:

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=56054&skin=0

 

 

 

老板,不知为何,其他后缀的都可以生成,就“.exe”的后缀会报错 传递给ICON的win32的句柄无效或者类型错误

怎么破?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/15 17:02:00 [只看该作者]

 哪有.exe的图标不可能获取,获取后的到的你希望是什么?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/15 17:04:00 [只看该作者]

直接这样写不行?

 

Dim icon As Icon = System.Drawing.Icon.ExtractAssociatedIcon(ApplicationPath & "foxtable.exe")

'直接使用icon


Dim fileStream As new System.IO.FileStream("d:\test.ico", System.IO.FileMode.Create)
icon.Save(fileStream)
fileStream.Close()


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2016/6/15 17:08:00 [只看该作者]

以下是引用大红袍在2016/6/15 17:02:00的发言:
 哪有.exe的图标不可能获取,获取后的到的你希望是什么?

 

Dim ico As Icon = System.Drawing.Icon.ExtractAssociatedIcon(dr("执行文件"))

原本用这个方法获取图标的,但是实际使用中 当执行文件的路径是UNC的网络路径时就报错了,有没有办法破?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/15 17:11:00 [只看该作者]

以下是引用jiskin在2016/6/15 17:08:00的发言:

 

Dim ico As Icon = System.Drawing.Icon.ExtractAssociatedIcon(dr("执行文件"))

原本用这个方法获取图标的,但是实际使用中 当执行文件的路径是UNC的网络路径时就报错了,有没有办法破?

 

方法一:如果是.exe后缀的,你固定式某个图标就好。

 

方法二:你可以把东西先下载下来,然后再指定路径获取。


 回到顶部
帅哥哟,离线,有人找我吗?
jiskin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2016/6/15 17:14:00 [只看该作者]

以下是引用大红袍在2016/6/15 17:11:00的发言:

 

方法一:如果是.exe后缀的,你固定式某个图标就好。

 

方法二:你可以把东西先下载下来,然后再指定路径获取。

 

好吧……


 回到顶部