本帖最后由 奋斗丶小Z 于 2016-4-24 20:16 编辑
原理呢就是把explorer.exe以管理员方式运行,
因为WIN10运行explorer.exe不是以管理员权限运行的,
所以导致WIN10很多用户使用一些支持拖放的软件无法拖放,
原因就是他们2个权限不对等,所以拖放的时候应该是权限不够导致的,
不是软件的权限不够而是低权限的桌面explorer.exe拖动程序去比他高权限的进程所以导致无法支持拖放,
但是以这个方法运行explorer.exe管理员权限运行之后就不用右键以管理员方式运行了,
因为explorer.exe也就是桌面运行的程序会默认继承父进程的权限,
父进程也就是桌面,所以我也不BB了我直接上C源码,当然也有成品,我也没写一套,
因为我懒,大神们给点热心给点CB啊,别客气啊
[C] 纯文本查看 复制代码 #include "stdafx.h"
#include <windows.h>
//管理员权限运行
BOOL RunAsExe(TCHAR *pPath)
{
SHELLEXECUTEINFO Shell = { sizeof(SHELLEXECUTEINFO) };//初始化cBszie字节
Shell.lpVerb = _T("runas");//以管理员方式运行程序
Shell.lpFile = pPath;//运行的路径
Shell.nShow = SW_SHOWNORMAL; //显示为正常模式
BOOL B = ShellExecuteEx(&Shell);
if (B)
{
return TRUE;
}
else
{
return FALSE;
}
}
int WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd)
{
TCHAR *pPath = _T("C:\\Windows\\explorer.exe");
RunAsExe(pPath);
}
然后在运行一个BAT
taskkill /F /IM explorer.exe
start explorer.exe
explorer.exe 是上面C语言编译出来的EXE程序
自行放在BAT目录下就可以了
但是BAT要以管理员方式运行
我上一份成品
链接:http://pan.baidu.com/s/1o8AbIpc 密码:q48f
|