WNetGetUser的使用(100分)

  • 主题发起人 主题发起人 晓风月
  • 开始时间 开始时间

晓风月

Unregistered / Unconfirmed
GUEST, unregistred user!
想完成的功能:我有一个共享文件夹为“c:/DownLoads”,现在有局域网用户连接到了我<br>这个文件夹来,并且在做文件操作,我怎样得到他的用户名?<br>我的想法是通过WNetGetUser来实现,但下面的程序不能得到想要的结果!<br><br>// 取得用户名称<br>function GetUserName: AnsiString;<br>var<br>&nbsp; lpName: PAnsiChar;<br>&nbsp; lpUserName: PAnsiChar;<br>&nbsp; lpnLength: DWORD;<br>begin<br>&nbsp; Result := '';<br>&nbsp; lpName := 'c:/DownLoads';<br>&nbsp; lpnLength := 0;<br>&nbsp; if WNetGetUser(lpName, lpUserName, lpnLength) = NO_ERROR then<br>&nbsp; &nbsp; Result := lpUserName;<br>end;
 
上面提到的WNetGetUser来实现,我的问题已经验证是不可行的了!!!<br><br>另外,我对这个函数的理解也是错了点,不能直接写路径,只能是设备。<br><br>function GetUserName: AnsiString;<br>var<br>&nbsp; lpName: PAnsiChar;<br>&nbsp; lpUserName: PAnsiChar;<br>&nbsp; lpnLength: DWORD;<br>&nbsp; MeError: Integer;<br>begin<br>&nbsp; Result := '';<br>&nbsp; lpName := 'g:';<br>&nbsp; lpnLength := 0;<br>&nbsp; lpUserName := '';<br><br>&nbsp; &nbsp;GetMem(lpUserName, lpnLength);<br><br>&nbsp; &nbsp;MeError := WNetGetUser(lpName, lpUserName, lpnLength);<br><br>&nbsp; &nbsp; if MeError = NO_ERROR then<br>&nbsp; &nbsp; &nbsp; Result := lpUserName<br>&nbsp; &nbsp; else<br>&nbsp; &nbsp; &nbsp; ShowMessage(Inttostr(MeError));<br><br>&nbsp; &nbsp; FreeMem(lpUserName, lpnLength);<br>end;<br>---------------------------------------------<br>请各位再看看,用什么方法可以解决我想要的用户!
 
想结贴了,但不知在没有人回答的情况下怎样结贴?<br>管理员哪里去了?
 
后退
顶部