|
楼主 |
发表于 2012-2-1 17:42:37
|
显示全部楼层
广东省深圳市
℡愛國々飯團 发表于 2012-2-1 17:35
这个... 你试试把开头地址的软件地址改下能不能用
哎呀我的吗呀 斑竹帅哥 我是一菜鸟 你懂这个东西 我砸看得懂呢~~.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.子程序 _按钮1_被单击
输出调试文本 (设置开机自动运行 (“D:\Program Files\e\e.exe”, , “易语言编程”))
输出调试文本 (删除启动项 (“易语言编程”))
.子程序 设置开机自动运行, 整数型, , 返回正为成功,返回零为设置过,无须再设置,返回负为失败
.参数 可执行文件名, 文本型, , 带全路径的可执行文件名
.参数 运行参数, 文本型, 可空
.参数 启动项名称, 文本型
.局部变量 函数返回值, 整数型
.局部变量 注册表句柄, 整数型
.局部变量 类型, 整数型
.局部变量 启动项项值, 文本型
.局部变量 缓冲文本, 文本型
.局部变量 缓冲数值, 整数型
.如果 (是否为空 (运行参数) = 真)
启动项项值 = 字符 (34) + 删首尾空 (可执行文件名) + 字符 (34)
.否则
启动项项值 = 字符 (34) + 删首尾空 (可执行文件名) + 字符 (34) + “ ” + 删首尾空 (运行参数)
.如果结束
函数返回值 = 打开注册表项_ (-2147483646, “Software\Microsoft\Windows\CurrentVersion\Run”, 注册表句柄)
.如果 (函数返回值 = 0) ' 打开注册表成功
缓冲文本 = 取空白文本 (256)
缓冲数值 = 256
函数返回值 = 读注册表项值_ (注册表句柄, 启动项名称, 0, 类型, 缓冲文本, 缓冲数值)
.如果 (函数返回值 = 0) ' 读取注册表成功
.如果 (缓冲文本 ≠ 字符 (0)) ' 注册表项有键值,设置过自动运行
.如果 (取文本左边 (缓冲文本, 缓冲数值 - 1) ≠ 启动项项值) ' 项值已变,须重新设置
函数返回值 = 设置注册表项值_ (注册表句柄, 启动项名称, 0, 1, 启动项项值, 取文本长度 (启动项项值))
.如果 (函数返回值 = 0) ' 重新设置自动运行成功
关闭注册表项_ (注册表句柄)
返回 (2)
.否则
关闭注册表项_ (注册表句柄) ' 重新设置自动运行失败
返回 (-1)
.如果结束
.否则
' 项值没变,无须再次设置
关闭注册表项_ (注册表句柄)
返回 (0)
.如果结束
.否则
' 注册表项无键值,尝试重新设置
函数返回值 = 设置注册表项值_ (注册表句柄, 启动项名称, 0, 1, 启动项项值, 取文本长度 (启动项项值))
.如果 (函数返回值 = 0) ' 重新设置自动运行成功
关闭注册表项_ (注册表句柄)
返回 (3)
.否则
关闭注册表项_ (注册表句柄) ' 重新设置自动运行失败
返回 (-2)
.如果结束
.如果结束
.否则
' 读取注册表失败,可能没有设置过自动运行
函数返回值 = 设置注册表项值_ (注册表句柄, 启动项名称, 0, 1, 启动项项值, 取文本长度 (启动项项值))
.如果 (函数返回值 = 0) ' 设置自动运行成功
关闭注册表项_ (注册表句柄)
返回 (1)
.否则
关闭注册表项_ (注册表句柄) ' 设置自动运行失败
返回 (-1)
.如果结束
.如果结束
.否则
返回 (-3) ' 打开注册表失败
.如果结束
.子程序 删除启动项, 整数型, , 删除成功返回0,失败返回负数
.参数 启动项名, 文本型
.局部变量 函数返回值, 整数型
.局部变量 注册表句柄, 整数型
函数返回值 = 打开注册表项_ (-2147483646, “Software\Microsoft\Windows\CurrentVersion\Run”, 注册表句柄)
.如果 (函数返回值 = 0)
函数返回值 = 删除注册表项_ (注册表句柄, 启动项名)
.如果 (函数返回值 = 0)
关闭注册表项_ (注册表句柄)
返回 (0)
.否则
关闭注册表项_ (注册表句柄)
返回 (-1)
.如果结束
.否则
返回 (-2)
|
|