delphi win7中的Uac与开机自动启动  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi win7中的Uac与开机自动启动


在另一篇文章中已经介绍了给Exe加上Uac的方法,在使用的过程中我们会发现,如果把带Uac的Exe写入注册表的Run中,是无法实现开机自动启动的,原因就是带Uac的exe需要申请管理员权限,以便运行执行程序,而在开机时无法申请到管理员权限,Exe将无法正常启动。那么如何使带Uac的Exe开机自动启动呢。
既然带Uac的Exe开机无法申请到管理员权限,那么可以新建一个不带Uac的小程序,在其中实现申请管理员权限启动exe不就可以解决问题了吗?实现方法如下:
unit DyjStartMainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellAPI;
const
WM_STARTCLOSE = WM_USER + 100;
type
TFrmDyjStart = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
protected
procedure WMStartClose(var Msg: TMessage); message WM_STARTCLOSE;
public
{ Public declarations }
end;
var
FrmDyjStart: TFrmDyjStart;
implementation
{$R *.dfm}
procedure TFrmDyjStart.FormCreate(Sender: TObject);
begin
PostMessage(Self.Handle, WM_STARTCLOSE, 0, 0);
end;
procedure TFrmDyjStart.WMStartClose(var Msg: TMessage);
var
_vPathExe : string;
begin
_vPathExe := ExtractFilePath(Application.ExeName) + 'Dyj2.exe';
ShellExecute(0, 'runas', PChar(_vPathExe), nil, nil, SW_SHOWNORMAL);
Application.Terminate;
end;
end.
 

该篇文章感觉里面说的那些东西行不通,仅作参考,我找到好方法了会替换本篇文字。 www.delphitop.com

 

最终解决办法:http://www.delphitop.com/html/xitong/1527.html  20191020补充


1.  VC 的 win7开机自动启动拥有管理员权限 http://www.cnblogs.com/keith2011/articles/2038398.html
 
我目前是这么用呢
主程序+辅助程序(带uac) 当主程序需要管理员权限时,就呼出辅助程序来完成。

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.075586080551147 seconds