반응형
#include <LMShare.h>
#include <Lmapibuf.h>
#pragma comment(lib, "Netapi32.lib")
PSHARE_INFO_502 BufPtr;
NET_API_STATUS res;
LPTSTR lpszServer = NULL;
DWORD er = 0, tr = 0, resume = 0;
DWORD total = 0;
do
{
res = NetShareEnum(lpszServer, 502, (LPBYTE *)&BufPtr, MAX_PREFERRED_LENGTH, &er, &tr, &resume);
if (res == ERROR_SUCCESS || res == ERROR_MORE_DATA)
{
total += er;
PSHARE_INFO_502 p = BufPtr;
DWORD i = 0;
for (i = 1; i <= er; i++)
{
if (STYPE_IPC != (p->shi502_type & 0x000000FF))
{
TCHAR ParamBuf[128] = {0,};
TCHAR *pFormat = _T("share \"%s\" /delete");
wsprintf(ParamBuf, pFormat, p->shi502_netname);
SHELLEXECUTEINFO rSEI = {0};
rSEI.cbSize = sizeof(rSEI);
rSEI.lpVerb = _T("open");
rSEI.lpFile = _T("net");
rSEI.lpParameters = ParamBuf;
rSEI.nShow = SW_HIDE;
rSEI.fMask = SEE_MASK_NOCLOSEPROCESS;
if (TRUE == ShellExecuteEx(&rSEI))
{
//성공
}
DWORD nStatus = WaitForSingleObject(rSEI.hProcess, INFINITE);
if (WAIT_OBJECT_0 != nStatus)
{
}
}
p++;
}
NetApiBufferFree(BufPtr);
}
} while (res == ERROR_MORE_DATA);
#include <Lmapibuf.h>
#pragma comment(lib, "Netapi32.lib")
PSHARE_INFO_502 BufPtr;
NET_API_STATUS res;
LPTSTR lpszServer = NULL;
DWORD er = 0, tr = 0, resume = 0;
DWORD total = 0;
do
{
res = NetShareEnum(lpszServer, 502, (LPBYTE *)&BufPtr, MAX_PREFERRED_LENGTH, &er, &tr, &resume);
if (res == ERROR_SUCCESS || res == ERROR_MORE_DATA)
{
total += er;
PSHARE_INFO_502 p = BufPtr;
DWORD i = 0;
for (i = 1; i <= er; i++)
{
if (STYPE_IPC != (p->shi502_type & 0x000000FF))
{
TCHAR ParamBuf[128] = {0,};
TCHAR *pFormat = _T("share \"%s\" /delete");
wsprintf(ParamBuf, pFormat, p->shi502_netname);
SHELLEXECUTEINFO rSEI = {0};
rSEI.cbSize = sizeof(rSEI);
rSEI.lpVerb = _T("open");
rSEI.lpFile = _T("net");
rSEI.lpParameters = ParamBuf;
rSEI.nShow = SW_HIDE;
rSEI.fMask = SEE_MASK_NOCLOSEPROCESS;
if (TRUE == ShellExecuteEx(&rSEI))
{
//성공
}
DWORD nStatus = WaitForSingleObject(rSEI.hProcess, INFINITE);
if (WAIT_OBJECT_0 != nStatus)
{
}
}
p++;
}
NetApiBufferFree(BufPtr);
}
} while (res == ERROR_MORE_DATA);
반응형
'IT > C++' 카테고리의 다른 글
객체에서 std::shared_ptr 얻기 (0) | 2023.08.07 |
---|---|
ASPICE 에 대해서. (0) | 2023.03.30 |
lambda expression (0) | 2020.09.26 |
[MFC] 특정 사용자 권한으로 공유폴더 만들기 (0) | 2017.02.10 |
[MFC] 사용자 계정 생성 (0) | 2017.02.08 |
[MFC] Radio Button 투명 배경 (0) | 2016.11.01 |
[MFC] 시작프로그램에 등록하기 (0) | 2016.10.27 |
[MFC] 심플한 로그 함수 (0) | 2016.10.18 |
[MFC] CProgressCtrl Marquee 속성 설정 (0) | 2016.10.14 |
[MFC] 재부팅 기능 (0) | 2016.10.13 |
댓글