컴퓨터에 매핑되지 않은 지정된 네트워크 드라이브에 지정된 파일이 있는지를 단순히 확인하는 작은 프로그램이 있습니다.
이것을 확인하려면 네트워크 위치에 임시로 매핑하고 파일이 존재하는지 확인하고 드라이브 매핑을 해제하십시오. 이제는 WNetAddConnection2를 빈 로컬 이름 (MSDN : string이 비어 있거나 lpLocalName이 NULL 인 경우 해당 함수가 로컬 장치를 리디렉션하지 않고 네트워크 리소스에 연결 함)로 호출 할 수 있음을 알았습니다. 그냥 코드를 보여주는
:빈 로컬 이름이있는 WNetAddConnection2 호출
NETRESOURCE nr;
nr.dwType = RESOURCETYPE_DISK;
nr.lpLocalName = NULL; // explicitly set this to NULL
nr.lpRemoteName = "\\\\computer\\c$";
nr.lpProvider = NULL;
DWORD dwResult = WNetAddConnection2(&nr, cstrPassword, cstrUsername, FALSE);
if (dwResult != 0)
{
return false;
}
CPath cLocation(cstrFileLocation);
return cLocation.FileExists() != FALSE;
지금까지 너무 좋은 코드는 잘 작동합니다. 하지만 지금 내가 알고 싶은 것은 WNetAddConnection2의 호출에 문제가 있는지 여부입니다. 로컬 이름이 없으므로 WNetCancelConnection을 호출 할 수 없습니다. 그렇다면 지금 내 컴퓨터에 좀비가 있습니까?
내 컴퓨터의 모든 네트워크 연결을 어떻게 볼 수 있습니까? 최상은 명령 프롬프트 (NET USE와 비슷한 것)에 대한 간단한 명령입니다.
감사합니다. 유용했습니다. – Fred