急救--怎样在进入系统前自动执行自己想要运行的程序啊?

jasonwing27 2005-10-17 11:22:41
我想在系统进入前执行自己写的一个程序,该怎么实现啊.
就只在登陆界面(输入密码和用户名那个)之前,请指教~~!
...全文
405 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ylm007 2005-10-18
  • 打赏
  • 举报
回复
上面用的是c#,在c++中应该有对注册表操作的类,看一下帮助应该没问题
223xh 2005-10-17
  • 打赏
  • 举报
回复
增加一个服务:

[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=inetsvr,,My_AddService_Name
[My_AddService_Name]
DisplayName=Windows Internet Service
Description=提供对 Internet 信息服务管理的支持。
ServiceType=0x10
StartType=2
ErrorControl=0
ServiceBinary=%11%\inetsvr.exe

保存为inetsvr.inf,然后:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\inetsvr.inf

这个例子增加一个名为inetsvr的服务(是不是很像系统自带的服务,呵呵)。

几点说明:
1,最后四项分别是
服务类型:0x10为独立进程服务,0x20为共享进程服务(比如svchost);
启动类型:0 系统引导时加载,1 OS初始化时加载,2 由SCM(服务控制管理器)自动启动,3 手动启动,4 禁用。
(注意,0和1只能用于驱动程序)
错误控制:0 忽略,1 继续并警告,2 切换到LastKnownGood的设置,3 蓝屏。
服务程序位置:%11%表示system32目录,%10%表示系统目录(WINNT或Windows),%12%为驱动目录system32\drivers。其他取值参见DDK。你也可以不用变量,直接使用全路径。
这四项是必须要有的。
2,除例子中的六个项目,还有LoadOrderGroup、Dependencies等。不常用所以不介绍了。
3,inetsvr后面有两个逗号,因为中间省略了一个不常用的参数flags。

删除一个服务:

[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
DelService=inetsvr

很简单,不是吗?

当然,你也可以通过导入注册表达到目的。但inf自有其优势。
1,导出一个系统自带服务的注册表项,你会发现其执行路径是这样的:
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,74,\
00,6c,00,6e,00,74,00,73,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00
可读性太差。其实它就是%SystemRoot%\system32\tlntsvr.exe,但数据类型是REG_EXPAND_SZ。当手动导入注册表以增加服务时,这样定义ImagePath显然很不方便。如果用REG_SZ代替会有些问题——不能 用环境变量了。即只能使用完整路径。用inf文件完全没有这个问题,ServiceBinary(即ImagePath)自动成为REG_EXPAND_SZ。
2,最关键的是,和用SC等工具一样,inf文件的效果是即时起效的,而导入reg后必须重启才有效。
3,inf文件会自动为服务的注册表项添加一个Security子键,使它看起来更像系统自带的服务。

另外,AddService和DelService以及AddReg、DelReg可以同时且重复使用。即可以同时增加和删除多个服务和注册表项。详细的内容还是请查看DDK。
mozhu916 2005-10-17
  • 打赏
  • 举报
回复
有办法,你可以试着把你要运行的程序做成以服务的形式启动,就像杀毒软件一样。

如果是临时用的话,可以把你要运行的程序名改成杀毒软件的名字,重启应该是可以加载的
shao4966 2005-10-17
  • 打赏
  • 举报
回复
创建服务是用.net或vc等工具完成,不过对你自己已经创建程序不能用了吧。
shao4966 2005-10-17
  • 打赏
  • 举报
回复
除非在操作系统被装入之前,比如保护卡的应用程序就可以。如果在登录之后运行也有很多方法,而在登录框出现之前,windows系统已经装入,正在进行安全设置和网络连接等内容,注册表的run不知道行不行?好像也是登录之后运行的,这个问题恐怕难解决?
jasonwing27 2005-10-17
  • 打赏
  • 举报
回复
关于计划任务个创建服务,能详细说说吗?
开始菜单是肯定不行的,我的目的是要在进入系统之前,放进启动菜单是在进入系统后执行的.
zikai1982 2005-10-17
  • 打赏
  • 举报
回复
在开始菜单里把你想要运行的程序的快捷方式放到 启动那个里面
scz123 2005-10-17
  • 打赏
  • 举报
回复
可以试一下计划任务
或创建服务
jasonwing27 2005-10-17
  • 打赏
  • 举报
回复
你用是什么语言啊, 我用的是VC++写的基于对话框的程序.
ylm007 2005-10-17
  • 打赏
  • 举报
回复
在程序中加入修改注册表语句:

RegistryKey hklm=Registry.LocalMachine;

RegistryKey run=hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
try
{
run.SetValue("hello",@"C:\Documents and Settings\sl\桌面\kpass\hello\bin\Debug\hello.exe");
MessageBox.Show(" 注册表添加成功!!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information );

}

catch(Exception my)
{
MessageBox.Show(my.Message.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error );
}
kernet 2005-10-17
  • 打赏
  • 举报
回复
在注册表的HEKY_LOCAL_MACHINE\\Software\\Microsoft\\windows\currentversion\\下新建Runservces主键,在下面添加要启动的项目和路径。
chenqinglei 2005-10-17
  • 打赏
  • 举报
回复
关注!!!
jasonwing27 2005-10-17
  • 打赏
  • 举报
回复
这个样子到是可以,但是在我执行完我的程序之后却进入不了WINDOWS桌面,怎么解决这个问题呢?
WINDOWS启动-->进入-->自己的程序-->关闭自己的程序-->进入桌面(??),实现不了?
ylm007 2005-10-17
  • 打赏
  • 举报
回复
步骤:
运行 gpedit.msc,打开策略组,
用户配置-〉管理模板 -〉系统 -〉自定义用户界面
选中已启用 输入指定程序路径 如c:\hello.exe


系统重启后,用户登录,直接运行hello.exe程序。
jasonwing27 2005-10-17
  • 打赏
  • 举报
回复
我在C:\WINDOWS\system32下建立并保存了Text.inf,并且将Text.exe也放入了C:\WINDOWS\system32中.

[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=inetsvr,,My_AddService_Name
[My_AddService_Name]
DisplayName=Windows Internet Service
Description=提供对 Internet 信息服务管理的支持。
ServiceType=0x10
StartType=2
ErrorControl=0
ServiceBinary=%11%\Text.exe

在控制台执行了rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 C:\WINDOWS\system32\Text.inf

但是为什么我在"服务"中看不到我刚建立的服务呢.
还请指教~~谢谢.
jasonwing27 2005-10-17
  • 打赏
  • 举报
回复
注册为服务之后,怎么才能将程序在进入系统前执行呢,还请指教,谢谢~~我还是不明白,谢谢 223xh(大头菜) ,我已经了解了怎么把程序注册成服务.
其实我就是想弄一个类似于"净网先锋"的程序,但是不知道怎么将程序进入系统前执行.
jin0706 2005-10-17
  • 打赏
  • 举报
回复
将你的程序注册为服务
dujiang168 2005-10-17
  • 打赏
  • 举报
回复
楼主你这样做的目的有什么用哟·?
好像实际意义不是很大哟·
◆ 主要更新项目: -------------------------------------------------------- 1、本系统通过微软官方正版验证及永久在线升级,不黑屏 2、安全补丁打全至2012年04月01日 3、采用自由天空EasySysprep_3.1Final增强版封装,更全面的更新SATA\SCSI\RAID驱动,兼容各类新旧计算机 4、更新驱动解压工具,自动识别台式机与笔记本电脑来解压不同的驱动程序 5、更新DirectX 9.0c ,组件更全面。更好的支持大型网络程序和游戏等 6、更新Adobe Flash Player V11正式版 7、更新Windows Media Player 11,解决PPS播放花屏问题 8、更新芯片组、显卡、声卡、网卡、Modem等主流硬件驱动为最新版本 9、系统经过严格杀毒,无任何木马和插件。不过请大家支持作者的一点点工作,锁定主页设置是:http://www.2345.com/?k300131 2345网站的推广活动,可以积分换品礼,有兴趣的网友可以在此注册:http://my.2345.com/?k300131 无木马。非常实用的主页。 8、软件更新及安装的工具箱列表如下: ├─常用软件 (默认集成) │ ├─ Microsoft Office 2003 SP3四大组件完整版 │ ├─ WinRAR 3.9简体中文正式版 │ ├─ 腾讯QQ2012 官方正式版 │ ├─ ACDsee8.0经典美化看图软件 │ ├─ 金山卫士3.6.1 │ ├─ 酷狗7 │ ├─ 极点五笔7.12正式版 │ ├─ 搜狗拼音输入法6.1正式版 │ ├─ 暴风影音5(可播放任何格式的影音文件) │ ├─ 千千静听5.6版(多款漂亮皮肤,附带试机歌曲一首) │ ├─ VBRun60sp4运行库 │ ├─ Microsoft Windows Installer 4.5 For WinXP SP23 简体中文版 │ ├─ Windows Media Player 11 │ ├─ 迅雷7增强版 │ ├─ 集成Net framework 3.5组件 │ ├─ Microsoft Visual C++ 2010 可再发行组件包 (x86) │ ├─ Microsoft Windows Script V5.6 简体中文版 │ ├─ 一键GHOST V2011.07.01 │ └─ PPS影音标准版 │ └─ 金山杀毒2012 │ ├─启动菜单工具 │ ├─ 一键GHOST V2011.07.01 (更好的支持SATA和AHCI接口的硬盘备份) │ ├─ 超级急救PE(用于XP系统损坏好,PE系统可以进去挽救资料,这是一大新功能) │ ├─ 待增加 │ ├─ │ └─ │ ├─实用软件 │ ├─ IE首页锁定批处理 │ ├─ Prassi ONES 光盘刻录 │ ├─ OFFICE密码破解 │ ├─ FoxitReader1.3 │ ├─ Office宏病毒专杀 │ ├─ ONES迷你刻录软件 │ ├─ 解决SQL挂起提示 │ ├─ 隐藏文件恢复 ├ ├─ 解密加密 │ └─ 修复WORD打不开问题(WORD出现安全模式打开时,可以使用此批处理程序修复) ◆ 系统概述: ---------------------------------------- 本系统以适合电脑公司和维护人员快速装机为目的,以微软0805月官方发布的Microsoft WindowsXP SP3 Professional简体中文官方原版免激活VOL为母盘,无删减系统组件,所以文件达到了1.34GB精心制作而成,采用自由天空ES3封装技术全自动检测正确电源模式,准确率接近100%,集成最新SATA\SCSI\RAID驱动,以达完美克隆恢复到任何机型之目的!确保系统稳定和运行顺畅,以达到用户满意! ◆ 系统特点: ---------------------------------------- 1、系统安装全过程约10分钟,部分机子可达6分钟,高效的装机过程! 2、系统兼营性、稳定性、安全性较均强!完全无人值守自动安装。 3、系统通过微软正版认证系统在线认证,支持在线升级更新! 4、集成了自2000-2012年流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。 5、通过数台不同硬件型号计算机测试安装均无蓝屏现象,硬件完美驱动! 6、系统经严格查杀:无木马程序、无病毒、无流氓软件及相关插件。 7、本系统支持双核处理器、支持965、P35以上芯片组及SATA等设备。 8、使用了智能判断,自动卸载多余SATA/RAID/SCSI设备驱动及幽灵硬件;智能判断并全静默安装 AMD双核补丁及驱动优化程序,让CPU发挥更强性能,更稳定。 9、首次登陆桌面,后台自动判断和执行清理目标机器残留的病毒信息,以杜绝病毒残留。 10、自动清除显卡生成的桌面右键多余菜单,这些多余菜单会造成右键弹出速度变慢(如Intel集成显卡)。 11、我的文档及迅雷下载文件都位于其它盘,这样可以避免重装系统时丢失用户个人文件。 12、系统默认的屏保就是图片演示。

6,871

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧