DELPHI写的程序生成“快捷方式”的问题

我用DELPHI2010写了一只程式,打开执行都没有问题,但是生成的桌面快捷方式却有问题,一打开就卡;(1)程式本省执行没有问题(2)生成的快捷方式如果放在和程式执行档同... 我用DELPHI2010写了一只程式,打开执行都没有问题,但是生成的桌面快捷方式却有问题,一打开就卡;(1)程式本省执行没有问题(2)生成的快捷方式如果放在和程式执行档同一路径上打开也没有问题(3)检查桌面快捷方式路径没有问题,是正确的。(4)直接打开桌面快捷方式就卡(5)桌面快捷方式如果用管理员权限打开也没问题可以正常执行。 问:怎么修改程序,让桌面快捷方式不用管理员权限也能正常执行?万分感谢!!! 展开
 我来答
pykill8
2017-03-30 · 超过85用户采纳过TA的回答
知道小有建树答主
回答量:312
采纳率:100%
帮助的人:55.4万
展开全部
提升权限可以让本程序更好的运行,管理员模式也是为了提升权限,如果程序受到权限限制会好多dll不能调用,
delphi 编程内本身可以提升自身权限

/提升进程权限为DEBUG权限
procedure SetPrivilege;
var
OldTokenPrivileges, TokenPrivileges: TTokenPrivileges;
ReturnLength: dword;
hToken: THandle;
Luid: int64;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
LookupPrivilegeValue(nil, 'SeDebugPrivilege', Luid);
TokenPrivileges.Privileges[0].luid := Luid;
TokenPrivileges.PrivilegeCount := 1;
TokenPrivileges.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, False, TokenPrivileges, SizeOf(TTokenPrivileges), OldTokenPrivileges, ReturnLength);
OldTokenPrivileges.Privileges[0].luid := Luid;
OldTokenPrivileges.PrivilegeCount := 1;
OldTokenPrivileges.Privileges[0].Attributes := TokenPrivileges.Privileges[0].Attributes or SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, False, OldTokenPrivileges, ReturnLength, PTokenPrivileges(nil)^, ReturnLength);
end;
用法就不用说了吧,
procedure TForm1.FormCreate(Sender: TObject);
begin SetPrivilege; ...
一句话就把程序提升为DEBUG权限了,然后就可以随便结束其他进程了.
希望可以帮到你
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式