socket 发送SHGetFileInfo 怎么把图标也加载上?

ang3659467 2010-10-10 06:19:45
SHFILEINFO info;
这个保存加载到本机内存相关信息。
发到别的电脑这结构体就没意义,我要在其它电脑显示这台电脑上文件图标。请问怎么搞?
...全文
111 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ang3659467 2010-10-10
  • 打赏
  • 举报
回复
在内存中把位图上绘出来,谁有代码贴上看看。。
arong1234 2010-10-10
  • 打赏
  • 举报
回复
icon也必然是个文件中保存的,但是从icon确实无法定位到文件,所以个人认为你几乎没办法从这下手。唯一可靠的办法是,把icon在内存位图上绘制出来,然后把图像发送到对方,由对方重构一个icon

方法很复杂的,因此无法给你代码了
[Quote=引用 14 楼 ang3659467 的回复:]
CFile 只有打开文件的吧?ICon怎么打开
[/Quote]
向立天 2010-10-10
  • 打赏
  • 举报
回复
把图标获取到然后做个数据包发过去
反正图标也不是很大
那面可以做个临时文件存一下图标
用完删了就是了
ang3659467 2010-10-10
  • 打赏
  • 举报
回复
CFile 只有打开文件的吧?ICon怎么打开
傻X 2010-10-10
  • 打赏
  • 举报
回复
CFile打开ICon图标即可,SHFILEINFO结构体可以自定义协议,发送。
ang3659467 2010-10-10
  • 打赏
  • 举报
回复
SHFILEINFO info;发送这个结构体,文本数据正常。info.hIcon在其他电脑不存在,因为info.hIcon 是本机句柄地址!其它电脑上不存在这个句柄地址!

[Quote=引用 9 楼 arpnet99 的回复:]

引用 5 楼 ang3659467 的回复:
我只需要要在其他电脑CListCtrl显示这台电脑文件夹中文件名跟图标!
并不需要下载文件!!!!!
如果是系统的图标是可以的。
如果不是系统图标,就要指定路径。
直接发送结构体是可以的,但是要以相同的结构体读取。要不就要自己定协议,进行组包和拆包获取信息。
[/Quote]
ang3659467 2010-10-10
  • 打赏
  • 举报
回复
当然要包括不是电脑自带的图标!
ang3659467 2010-10-10
  • 打赏
  • 举报
回复
问题是我怎么取得应用程序icon然后拷贝到 char中发送?



[Quote=引用 8 楼 arpnet99 的回复:]

引用 4 楼 ang3659467 的回复:



#2
当文件怎么发送呢???求教

int send(
SOCKET s,
const char FAR *buf,
int len,
int flags
);
和发送文本一样
[/Quote]
这不是鸭头 2010-10-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ang3659467 的回复:]
我只需要要在其他电脑CListCtrl显示这台电脑文件夹中文件名跟图标!
并不需要下载文件!!!!!
[/Quote]如果是系统的图标是可以的。
如果不是系统图标,就要指定路径。
直接发送结构体是可以的,但是要以相同的结构体读取。要不就要自己定协议,进行组包和拆包获取信息。
这不是鸭头 2010-10-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ang3659467 的回复:]

#2
当文件怎么发送呢???求教
[/Quote]
int send(
SOCKET s,
const char FAR *buf,
int len,
int flags
);
和发送文本一样
LuciferStar 2010-10-10
  • 打赏
  • 举报
回复
查了下,直接获取,是LoadIcon
LuciferStar 2010-10-10
  • 打赏
  • 举报
回复
如果是局域网中的共享资源,则可以直接获取。
否则就需要传整个程序了,因为图标资源在文件里。
ang3659467 2010-10-10
  • 打赏
  • 举报
回复

我只需要要在其他电脑CListCtrl显示这台电脑文件夹中文件名跟图标!
并不需要下载文件!!!!!
ang3659467 2010-10-10
  • 打赏
  • 举报
回复
#2
当文件怎么发送呢???求教
ang3659467 2010-10-10
  • 打赏
  • 举报
回复
发送文件?还是发送图标?
这不是鸭头 2010-10-10
  • 打赏
  • 举报
回复
当文件发送
Eleven 2010-10-10
  • 打赏
  • 举报
回复
直接将文件发送过去不就行了

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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