您现在的位置: 中国教师站 >> 教师关注 >> 电脑技术 >> 编程技术 >> Delphi >> 正文

Google
在WIN2000与WIN98中创建共享文件夹的方法
作者:Siny 文章来源:中国教师站cn-teacher 点击数: 更新时间:2007-4-22 15:48:09
dress(hNETAPI, 'NetApiBufferFree');

      EC := WinNT_NetWkstaGetInfo(nil, 100, Pointer(WSNT));
      if EC = 0 then
      begin
        Result := WideCharToString(WSNT^.wki100_langroup);
        WinNT_NetApiBufferFree(Pointer(WSNT));
      end;
    end;
  end
  else
  begin
    hNETAPI := LoadLibrary('RADMIN32.DLL');
    if hNETAPI <> 0 then
    begin @Win95_NetApiBufferFree := GetProcAddress(hNETAPI, 'NetApiBufferFree');
        @Win95_NetUserGetInfo := GetProcAddress(hNETAPI, 'NetUserGetInfoA');

      EC := Win95_NetWkstaUserGetInfo(nil, 1, Pointer(WS95));
      if EC = 0 then
      begin
        Result := WS95^.wkui1_logon_domain;
        Win95_NetApiBufferFree(Pointer(WS95));
      end;
    end;
  end;

finally
  if hNETAPI <> 0 then
    FreeLibrary(hNETAPI);
end;
end;

function AppendShareResource(ServerName,FilePath,NetName, Remark : string): Integer;
var
  ShInfo: TSHARE_INFO_502;
  parm_err:PDWORD;
  _FilePath,_NetName, _Remark : PWideChar ;
  _ServerName : Pchar ;
  LibHandle   : THandle;
begin
  LibHandle := LoadLibrary(NTlib);
  if LibHandle = 0 then
    raise Exception.Create('Unable to map library: ' + NTlib);
  try
    @NTNetShareAdd := GetProcAddress(Libhandle, 'NetShareAdd');
    GetMem(_ServerName,255) ; //分配内存
    GetMem(_FilePath,255);
    GetMem(_NetName,255);
    GetMem(_Remark,255);
    StringToWideChar(FilePath,_FilePath,255); //字符串转换,一定要转换正确
    StringToWideChar(NetName,_NetName,255);
    StringToWideChar(Remark,_Remark,255);
    strpcopy(_ServerName,ServerName);
    //开始创建结构
    with ShInfo do
    begin
      shi502_netname := _NetName;
      shi502_type := STYPE_DISKTREE ;
      shi502_remark := _Remark ;
      shi502_max_uses := $FFFFFFFF;
      shi502_current_uses := 10;
      shi502_path := _FilePath;
      shi502_passwd := nil;
      shi502_reserved := 0;
      shi502_security_descriptor := nil;
      shi502_permissions := ACCESS_ALL;
    end;
    try
      Result := NTNetShareAdd(_ServerName, 502, @ShInfo, parm_err);
    finally // 别忘了释放内存
      FreeMem(_ServerName,255);
      FreeMem(_FilePath,255);
      FreeMem(_NetName,255);
      FreeMem(_Rema

上一页  [1] [2] [3] [4] 下一页

相关专题:
 
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
GOOGLE广告

阅读排行

| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
中国教师站

中国教师站 版权所有 Copyright © 2006-2020 All Rights Reserved 站长:Sina & Siny
[备用域名:www.JXZYW.Com] 有事请留言有事请留言
【实力成就精品 诚信呵护品牌】

信息产业部备案
苏ICP备06018635号