wawa 发表于 2013-1-28 13:38:57

罗云彬32汇编里的问题

在鱼C老师的视频里讲到用resedit.exe软件生成的资源脚本文件里资源ID取值是:
#define IDR_MENU1                               100
#define IDR_ACCELERATOR1                        101
#define IDM_OPEN                              40000
#define IDM_OPTION                              40001
#define IDM_EXIT                              40002

罗云彬书里面的资源ID取值是:
#define        IDM_MAIN                0x2000        //菜单
#define        IDA_MAIN                0x2000        //加速键
#define        IDM_OPEN                0x4101
#define        IDM_OPTION                0x4102
#define        IDM_EXIT                0x4103

书里面将数值的取值范围是0~ffffh,大于ffffh的是字符串取值
resedit.exe生成的ID值需要改动吗,可以直接用吗?我个人理解应该可以直接用
resedit.exe生成的值是十进制的在ID取值范围内,不知道我的理解是否正确

メ㊣逆ご帅☆ 发表于 2013-1-28 13:38:58

本帖最后由 メ㊣逆ご帅☆ 于 2013-1-28 17:51 编辑

resedit是可以用的,但注意要在var.bat中设置资源头文件的文件夹,不然会有一堆错误的。
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
分别设置语言标识符和次语言标识符为中立
方便程序判断该程序是什么语言
至于那个取值范围你的理解应该是对的(顺便说下,十进制和十六进制在计算机看来本质上是完全没区别的哦。只是我们人的认知问题。只有显示在屏幕等上才有本质区别)
你可以实验看看超出取值范围会怎样。抱歉停电用手机。没办法帮你-_-||




终于有电了,拿了个以前的代码测试了下


可以看出超出范围了

编译下


可以发现打开文件的按钮依旧存在

或许我们认为没问题

但是

我认为我视力良好,但还是发现它坑爹的少了个F
看来取值必须是0-FFFFH不然我们最高位的F会溢出,然后直接被无视掉。。


wawa 发表于 2013-1-28 13:42:20

还有个问题是resedit.exe里面还多出了几段代码,不知道是什么意思,书本里没有解释,请大牛帮个忙:
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 这段代码有什么用
页: [1]
查看完整版本: 罗云彬32汇编里的问题