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) 当主程序需要管理员权限时,就呼出辅助程序来完成。

相关阅读 >>

Delphi rest application 与 webbroker application 区别

Delphi 无窗体无界面exe怎么做?

Delphi access 导出 excel 表格

Delphi递归删除列表文件以外的所有文件

Delphi webbrowser有关技术

Delphi memo1 统计行 列

Delphi反调试【初级】检测法

Delphi combobox和listbox的文字可以右对齐显示

Delphi 中文字符串截取

Delphi控制台程序怎么清屏

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...