Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185567
  • 博文数量: 29
  • 博客积分: 1280
  • 博客等级: 中尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-22 16:23
文章分类

全部博文(29)

文章存档

2009年(3)

2008年(1)

2007年(1)

2006年(3)

2005年(21)

我的朋友

分类: WINDOWS

2005-10-17 16:00:51

重新找回用户名


                                    第七节:重新找回用户名

重新找回和一网络资源或网络名相关连的用户名

CHAR szUserName[80];
DWORD dwResult, cchBuff = 80;
 
dwResult = WNetGetUser("z:",(LPSTR) szUserName,&cchBuff);
//函数WNetGetUser说明
//DWORD WNetGetUser(
//  LPCTSTR lpName,     // 指向本地名
//  LPTSTR lpUserName,  // 指向将得到的用户名
//  LPDWORD lpnLength   // 缓冲的大小
//);

if(dwResult == NO_ERROR) //无错
    TextOut(hdc, 10, 10,
        (LPSTR) szUserName,
        lstrlen((LPSTR) szUserName));
 
else {

    NetErrorHandler(hwnd, dwResult, (LPSTR)"WNetGetUser");
    return FALSE;
}
//错误有4种
//1.ERROR_NOT_CONNECTED 指lpName定义的名称非重定向设备或已连接的网络名
//2.ERROR_MORE_DATA 指并发调用中有更多可用的
//3.ERROR_NO_NETWORK 指网络不可用
//4.ERROR_EXTENDED_ERROR 特殊网络错误出现,必须用函数WNetGetLastError得到细节
//5.ERROR_NO_NET_OR_BAD_PATH无网络提供者

                          ;====汇编语言描述(BY 谢小荣)=====


AsmGetWNetUser PROTO :DWORD,:DWORD,:DWORD
.data?
     asmgetwnetuser_0 DB "连好",0
     asmgetwnetuser_1 db "定义的名称非重定向设备或已连接的网络名",0
     asmgetwnetuser_2 db "并发调用中有更多可用的",0
     asmgetwnetuser_3 db "网络不可用",0
     asmgetwnetuser_4 db "特殊网络错误出现,必须用函数WNetGetLastError得到细节",0
     asmgetwnetuser_5 DB "无提供者认识已建立连接的本地名",0
.data
     szUserName db 80 dup(0)
.code
AsmGetWNetUser proc hwnd:DWORD,hdc:DWORD,lpdevname:DWORD
     invoke WNetGetUser,lpdevname,addr szUserName,80
     .IF EAX==NO_ERROR
         invoke TextOut,hdc,10,10, addr asmgetwnetuser_0,8
         mov eax,0
     .ELSE
         .IF EAX==ERROR_NOT_CONNECTED
             invoke TextOut,hdc,10,10, addr asmgetwnetuser_1,8
         .ELSEIF EAX==ERROR_MORE_DATA
             invoke TextOut,hdc,10,10, addr asmgetwnetuser_2,8
         .ELSEIF EAX==ERROR_NO_NETWORK
             invoke TextOut,hdc,10,10, addr asmgetwnetuser_3,8
         .ELSEIF EAX==ERROR_NO_NET_OR_BAD_PATH
             invoke TextOut,hdc,10,10, addr asmgetwnetuser_5,8
         .ELSE EAX==ERROR_EXTENDED_ERROR
             invoke TextOut,hdc,10,10, addr asmgetwnetuser_4,8
         .ENDIF
         mov eax,1
      .ENDIF
      ret
AsmGetWNetUser endp
        
        


    

阅读(2506) | 评论(0) | 转发(0) |
0

上一篇:WNET协议应用

下一篇:WNET协议应用

给主人留下些什么吧!~~