hur.cn - 华软网

 热门搜索

VC程序,取消共享文件夹

  作者:未知    来源:网络    更新时间:2011/5/21
怎样用VC做个一个程序,取消已共享的文件夹啊。就是自己共享的文件夹,现在使它不共享,怎样用程序控制啦。麻烦各位大小指点,尽量能给出一个实例。谢谢啦。
---华软 网友回答---
NetShareAdd    Shares a resource on a server. 
NetShareCheck  Queries whether a server is sharing a device. 
NetShareDel    Deletes a share name from a server's list of shared resources. 
NetShareEnum    Retrieves share information about each shared resource on a server. 
NetShareGetInfo Retrieves information about a specified shared resource on a server. 
NetShareSetInfo Sets a shared resource's parameters. 

---华软网友回复---
C++">
#define UNICODE
#include <windows.h>
#include <stdio.h>
#include <lm.h>

void wmain( int argc, TCHAR *argv[ ])
{
   NET_API_STATUS res;

   if(argc<3)
      printf("Usage: NetShareDel server share\n");
   else
   {
      //
      // Call the NetShareDel function to delete the share.
      //
      res=NetShareDel(argv[1], argv[2], 0);
      //
      // Display the result of the call.
      //
      if(res==0)
         printf("Share Removed.\n");
      else
         printf("Error: %u\n", res);
   }
   return;
}


---华软网友回复---
这是MSND上面的,我看过,就是不是很明白
用的时候,没效果,可以举一个,自己做的程序实例么

---华软网友回复---
引用 3 楼 subfly 的回复:
这是MSND上面的,我看过,就是不是很明白
用的时候,没效果,可以举一个,自己做的程序实例么


没问题啊,失败的话可能是你权限的问题
Only members of the Administrators, Server Operators, or Power Users local group, or those with Server Operator group membership, can successfully delete file shares with a call to the NetShareDel function. The Print Operator can delete printer shares.

C++">
DWORD dwRet;
dwRet = NetShareDel(NULL, _T("1"), 0);

if (dwRet == NERR_Success)
{
AfxMessageBox(_T("DEL OK"));
}
else if (dwRet == NERR_NetNameNotFound)
{
AfxMessageBox(_T("the path not found"));
}
if (dwRet == ERROR_ACCESS_DENIED)
{
AfxMessageBox(_T("denied"));
}

---华软网友回复---
大哥,还是不行哦,你说的权限是只哪个方面的,怎样设置
---华软网友回复---
把这个下载下来看看吧
http://www.pudn.com/downloads90/sourcecode/windows/system/detail345331.html
---华软网友回复---
引用 5 楼 subfly 的回复:
大哥,还是不行哦,你说的权限是只哪个方面的,怎样设置


Only members of the Administrators, Server Operators, or Power Users local group, or those with Server Operator group membership, can successfully delete file shares with a call to the NetShareDel function. The Print Operator can delete printer shares.

xp下的权限按照上面就行

vista win7下即使按照上面情况,在运行时也要用右键管理员身份运行才能成功,UAC就这样
代码测试过,要是还不行,就是其他方面的问题了,你在找找看
---华软网友回复---
也可以在代码中执行一个新进程,在进程中执行net share命令行程序。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。