招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 高校计算机 - 正文

Delphi实现对注册表的监视和扫描

来源:fjzsksw.com 2009-11-3 17:49:06

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(_Remark,255);
  end;
  finally
  FreeLibrary(Libhandle);
  end;
  end;
  function DeleteShareResource(ServerName: string; NetName: string): Integer;
  var
  _ServerName : Pchar ;
  LibHandle : THandle;
  begin
  LibHandle := LoadLibrary(NTlib);
  if LibHandle = 0 then
  raise Exception.Create(\’Unable to map library: \’ + NTlib);
  try
  @NTNetShareDel := GetProcAddress(Libhandle, \’NetShareDel\’);
  GetMem(_ServerName,255) ; //分配内存
  strpcopy(_ServerName,ServerName);
  try
  Result := NTNetShareDel(_ServerName, NetName,0);
  finally
  FreeMem(_ServerName,255);
  end;
  finally
  FreeLibrary(Libhandle);
  end;
  end;

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



  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.
    最新文章


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号