我用NetShareEnum()函数枚举本机上的共享资源时,当共享文件夹是中文名时怎么不显示?但路径、类型等其他属性均显示的正确。只要有汉字的均显示不出来,程序不报错。问题到底出现在哪里呢??

解决方案 »

  1.   

    楼主你的类型指的是什么?我的怎么也不能取到共享的类型(只读什么的)。2000下好像无法取到?
    中文名显示是乱码是没有转换:char lpszReturn[255];
    int cch=0;cch = lstrlenW((unsigned short *)p->shi502_netname) + 1;
    WideCharToMultiByte(GetACP(), 0, (unsigned short *)p->shi502_netname, -1,lpszReturn, cch*2, NULL, NULL);
      

  2.   

    NetShareEnum使用的是unicode,这个在MSDN里面说得很明白了,控制台里面似乎用的是MBCS的,所以恐怕需要做一个从unicode到mbcs的转换