BOOL ChangeUser()
{
DWORD pid = GetPIDByName(L"explorer.exe")
if (pid == -1) return FALSE
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
if (hProc == INVALID_HANDLE_VALUE) return FALSE
HANDLE hToken
if (!OpenProcessToken(hProc, TOKEN_ALL_ACCESS, &hToken))
return FALSE
return ImpersonateLoggedOnUser(hToken)
}
BOOL CheckAccess(const char* name)
{
DWORD attr = GetFileAttributesA(name)
if (attr == -1)
{
printf("No access to file: %s\n", name)
return FALSE
}
else
{
printf("File attribute %x\n", attr)
return TRUE
}
}
int main(int argc, char** argv)
{
if (argc <2) return 0
if (CheckAccess(argv[1]))
return 0
if (!ChangeUser())
{
printf("Failed to change user\n")
return 0
}
printf("Changed to normal user.\n")
CheckAccess(argv[1])
return 0
}
&ltimg src="https://pic3.zhimg.com/50/49bfdb3482e45274fe56c6acdca631d7_hd.jpg" data-rawheight="178" data-rawwidth="434" class="origin_image zh-lightbox-thumb" width="434" data-original="https://pic3.zhimg.com/49bfdb3482e45274fe56c6acdca631d7_r.jpg"&gt
这里略去了GetPIDByName实现。
映射网络驱动盘:拒绝访问是设置错误造成的,解决方法为:
1、点击开始菜单,找到"计算机",并点击。
2、找到并点击“映射网络驱动器”。
3、会d出一个网络驱动器的设置窗口。
4、驱动器符号的选择。点击驱动器,可以选择系统所剩下的盘符,这里选择“Z”盘。
5、择需要映射的共享文件夹。我们可以直接在下图红色标注框中直接输入共享文件夹的地址,也可以点击右边的”浏览“查看局域网中其它计算机的共享文件夹。
6、点击“完成”,系统会为我们映射网络驱动器。然后打开我的计算机,会看到如下蓝色标注图所示。双击网络驱动器,就可以直接访问到我们想要访问的网络共享资源了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)