开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 101|回复: 1
收起左侧

[完成] 注册表

 关闭 [复制链接]
结帖率:87% (20/23)
发表于 2025-11-1 01:34:48 | 显示全部楼层 |阅读模式   河南省许昌市
15精币
这个能用易实现写注册表吗

@echo off
setlocal enabledelayedexpansion

:menu
cls
echo ==============================
echo   卡密管理系统(GogID 注册表操作)
echo ==============================
echo 1. 写入卡密到注册表
echo 2. 读取注册表卡密
echo 3. 退出
echo ==============================
set /p choice=请选择操作 (1/2/3):

if "%choice%"=="1" goto write
if "%choice%"=="2" goto read
if "%choice%"=="3" exit /b
goto menu

:write
set /p USERID=请输入卡密:
set SUB_KEY=SOFTWARE\Gog
set VALUE_NAME=GogID

:: 创建注册表路径(兼容中文路径)
reg add "HKCU\%SUB_KEY%" /f 2>nul
if %errorlevel% neq 0 (
    echo 错误:无法创建注册表路径 HKCU\%SUB_KEY%
    pause
    goto menu
)

:: 写入 REG_SZ 类型(对齐 C++ 的 WCHAR 编码)
reg add "HKCU\%SUB_KEY%" /v %VALUE_NAME% /t REG_SZ /d "%USERID%" /f >nul
if %errorlevel% equ 0 (
    echo [成功] 卡密已写入注册表
) else (
    echo [错误] 写入注册表失败
)
pause
goto menu

:read
set SUB_KEY=SOFTWARE\Gog
set VALUE_NAME=GogID

:: cha询注册表值(兼容空值情况)
for /f "tokens=2*" %%a in ('reg query "HKCU\%SUB_KEY%" /v %VALUE_NAME% 2^>nul ^| findstr /i "%VALUE_NAME%"') do (
    set "value=%%b"
)

if defined value (
    echo 当前注册表卡密: !value!
) else (
    echo 未找到注册表项或值
)
pause
goto menu


最佳答案

查看完整内容

是的,这段CMD代码完全可以用易语言实现注册表操作。以下是易语言的实现代码: ```e .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 子键, 文本型 .程序集变量 值名称, 文本型 .子程序 __启动窗口_创建完毕 子键 = "SOFTWARE\Gog" 值名称 = "GogID" .子程序 _按钮_写入_被单击 .局部变量 卡密, 文本型 卡密 = 编辑框_卡密.内容 .如果 (卡密 = "") 信息框 (“请输入卡密”, 0, , ) ...
结帖率:100% (3/3)

签到天数: 6 天

发表于 2025-11-1 01:34:49 | 显示全部楼层   福建省漳州市
是的,这段CMD代码完全可以用易语言实现注册表操作。以下是易语言的实现代码:

```e
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 子键, 文本型
.程序集变量 值名称, 文本型

.子程序 __启动窗口_创建完毕
    子键 = "SOFTWARE\Gog"
    值名称 = "GogID"

.子程序 _按钮_写入_被单击
    .局部变量 卡密, 文本型
   
    卡密 = 编辑框_卡密.内容
    .如果 (卡密 = "")
        信息框 (“请输入卡密”, 0, , )
        返回 ()
    .否则
        .如果 (写注册项 (#现行用户, 子键 + “\” + 值名称, 卡密))
            信息框 (“[成功] 卡密已写入注册表”, 0, , )
        .否则
            信息框 (“[错误] 写入注册表失败”, 0, , )
        .如果结束
    .如果结束

.子程序 _按钮_读取_被单击
    .局部变量 注册表值, 文本型
   
    注册表值 = 取文本注册项 (#现行用户, 子键 + “\” + 值名称, "")
    .如果 (注册表值 ≠ "")
        编辑框_显示.内容 = “当前注册表卡密: ” + 注册表值
    .否则
        编辑表_显示.内容 = “未找到注册表项或值”
    .如果结束

.子程序 _按钮_退出_被单击
    结束 ()
```

对应的易语言窗体设计:
- 1个编辑框(名称:编辑框_卡密)- 用于输入卡密
- 1个编辑框(名称:编辑框_显示)- 用于显示读取的卡密
- 3个按钮:
  - 按钮_写入 - 写入注册表
  - 按钮_读取 - 读取注册表  
  - 按钮_退出 - 退出程序

**易语言相比CMD的优势:**
1. **更好的错误处理** - 直接使用易语言的注册表操作命令
2. **图形化界面** - 更友好的用户操作体验
3. **代码更简洁** - 无需处理CMD的字符串解析
4. **兼容性更好** - 直接处理Unicode编码,无需担心中文路径问题

**主要用到的易语言命令:**
- `写注册项()` - 写入注册表
- `取文本注册项()` - 读取注册表
- `#现行用户` - 对应HKEY_CURRENT_USER

这样实现的易语言程序功能与原CMD脚本完全一致,但用户体验更好。

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /2 下一条

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表