天下网吧-网盟论坛【网吧程序天地】〖易语言编程讨论〗 → [原创]XP|2003 注册表启动项管理 有顶就开源
关闭 帖子评论
选取类型: 中立 支持 反对
观点标题:
验证码:验证码,看不清楚?请点击刷新验证码
观点内容:
(不支持HTML)
  1. 请以客观、真实地作出评论,并注意语言文明;
  2. 观点发表后不能作出更改;
回复贴子
您是本帖的第 3462 个阅读者
平板打印
标题:[原创]XP|2003 注册表启动项管理 有顶就开源
zhangyilu
帅哥哟,离线,有人找我吗?
头衔:黑茶网络
等级:论坛游民
文章:130
积分:771
注册:2006年4月26日
发贴心情
[原创]XP|2003 注册表启动项管理 有顶就开源
添加到QQ书签收藏

XP|2003 注册表启动项管理

程序原理:

通过读取系统注册表的:HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 的启动项!

并可自行填写程序路径加入指定的注册表路径!如:HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER

如图:

 


此主题相关图片如下:1.jpg
按此在新窗口浏览图片

此主题相关图片如下:2.jpg
按此在新窗口浏览图片

程序代码:

.版本 2
.支持库 iext

.程序集 窗口程序集1

.子程序 __启动窗口_创建完毕

刷新注册表启动项 ()

.子程序 刷新注册表启动项
.局部变量 a, 整数型
.局部变量 b, 整数型
.局部变量 c, 整数型
.局部变量 d, 文本型
.局部变量 e, 字节集
.局部变量 f, 整数型
.局部变量 索引, 整数型
.局部变量 文件名最长度, 整数型
.局部变量 文件路径最长度, 整数型

启动项超级列表框.整行选择 = 真
启动项超级列表框.全部删除 ()
文件名最长度 = 0
文件路径最长度 = 0

' 注册表启动项枚举HKEY_LOCAL_MACHINE 系统默认启动项有两处注册表
b = RegOpenKeyA (#HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run”, a)
.如果真 (b ≠ 0)
    返回 ()
.如果真结束
c = 0
.循环判断首 ()
    d = 取空白文本 (255)
    e = 取空白字节集 (255)
    b = RegEnumValueA (a, c, d, 255, 0, 0, e, 255)
    .如果真 (b = 0)
        索引 = 启动项超级列表框.插入表项 (-1, “HKEY_LOCAL_MACHINE”, , , , )
        启动项超级列表框.置标题 (索引, 1, d)
        .如果真 (取文本长度 (d) × 7 > 文件名最长度)  ' 计算文件名最长度.为方便超级列表框1.置列宽
            文件名最长度 = 取文本长度 (d) × 7
        .如果真结束
        启动项超级列表框.置标题 (索引, 2, 到文本 (e))
        .如果真 (取文本长度 (到文本 (e)) × 7 > 文件路径最长度)  ' 计算文件路径最长度.为方便超级列表框1.置列宽
            文件路径最长度 = 取文本长度 (到文本 (e)) × 7
        .如果真结束

    .如果真结束
    c = c + 1
.循环判断尾 (b = 0)
RegCloseKey (b)
' 注册表启动项枚举HKEY_CURRENT_USER
b = RegOpenKeyA (#HKEY_CURRENT_USER, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run”, a)
.如果真 (b ≠ 0)
    返回 ()
.如果真结束
c = 0
.循环判断首 ()
    d = 取空白文本 (255)
    e = 取空白字节集 (255)
    b = RegEnumValueA (a, c, d, 255, 0, 0, e, 255)
    .如果真 (b = 0)
        索引 = 启动项超级列表框.插入表项 (-1, “HKEY_CURRENT_USER”, , , , )
        启动项超级列表框.置标题 (索引, 1, d)
        .如果真 (取文本长度 (d) × 7 > 文件名最长度)  ' 计算文件名最长度.为方便超级列表框1.置列宽
            文件名最长度 = 取文本长度 (d) × 7
        .如果真结束
        启动项超级列表框.置标题 (索引, 2, 到文本 (e))
        .如果真 (取文本长度 (到文本 (e)) × 7 > 文件路径最长度)  ' 计算文件路径最长度.为方便超级列表框1.置列宽
            文件路径最长度 = 取文本长度 (到文本 (e)) × 7
        .如果真结束

    .如果真结束
    c = c + 1
.循环判断尾 (b = 0)
RegCloseKey (b)
启动项超级列表框.置列宽 (1, 文件名最长度 + 10)
启动项超级列表框.置列宽 (2, 文件路径最长度)


.子程序 _启动项超级列表框_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

弹出菜单 (启动选项菜单, , )


.子程序 _删除此启动项_被选择

.如果真 (信息框 (“是否要删除此启动项?”, 49, ) = 0)
    .如果真 (启动项超级列表框.取标题 (启动项超级列表框.现行选中项, 0) = “HKEY_LOCAL_MACHINE”)
        删除注册项 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\” + 启动项超级列表框.取标题 (启动项超级列表框.现行选中项, 1))
    .如果真结束
    .如果真 (启动项超级列表框.取标题 (启动项超级列表框.现行选中项, 0) = “HKEY_CURRENT_USER”)
        删除注册项 (#现行用户, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\” + 启动项超级列表框.取标题 (启动项超级列表框.现行选中项, 1))
    .如果真结束
    刷新注册表启动项 ()
.如果真结束
' 删除注册表启动项

.子程序 _浏览启动程序按钮_被单击

' 通用对话框1.过滤器 = “可执行文件|*.exe”
.如果真 (通用对话框1.打开 ())
    加入启动程序编辑框.内容 = 通用对话框1.文件名
.如果真结束


.子程序 _加入程序启动按钮_被单击
.局部变量 文件名, 文本型

.如果真 (加入启动程序编辑框.内容 = “”)
    信息框 (“请点击” + #左引号 + “浏览” + #右引号 + “选择要加入启动项的文件.”, 64, “提示”)
    返回 ()
.如果真结束
文件名 = 取文本右边 (加入启动程序编辑框.内容, 取文本长度 (加入启动程序编辑框.内容) - 倒找文本 (加入启动程序编辑框.内容, “\”, , 假))
.' 如果真 (取文本右边 (文件名, 4) ≠ “.exe”)
    ' 信息框 (“请选择可执行文件”, 64, “提示”)
    ' 返回 ()
.如果真结束
.如果真 (信息框 (“确定要把 ” + 文件名 + “ 加入到注册表启动项吗?”, 33, “提示”) = 0)
    .如果真 (MACHINE单选框.选中 = 真)
        写注册项 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\” + 文件名, 加入启动程序编辑框.内容)
    .如果真结束
    .如果真 (USER单选框.选中 = 真)
        写注册项 (#现行用户, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\” + 文件名, 加入启动程序编辑框.内容)
    .如果真结束
    刷新注册表启动项 ()

.如果真结束
' 加入注册表启动项

 

在此下载附件!


以下内容只有回复后才可以浏览



庆祝黑茶网络技术交流论坛正式成立!
http://bbs.chinahcwl.cn/
黑茶网络④ 群号: 712726
黑茶网络⑤ 群号:51772137
黑茶网络⑥ 群号:50179100
黑茶网络⑦ 群号:5481007
系统服务器优化共享 ! 提供绿茶所有^^!

2008-3-5 13:18:00


[原创]XP|2003 注册表启动项管理 有顶就开源
发贴表情字体颜色字体背景颜色粗体斜体下划线超级连接插入图片Flash图片realplay视频文件Media Player视频文件引用清理代码生成一个财付通交易信息显示: 预览 回复标题 上传表单
字节.