RSS订阅 | 匿名投稿
您的位置:网站首页 > 系统 > 正文

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

作者:admin 来源:未知 日期:2011/4/5 0:05:42 人气: 标签:

在另一篇文章中已经介绍了给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

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

读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址: