在Menu.rc中,对
popup "查看(&V)" 与 popup "帮助(&H)" 分别尝试加上 选项参数(INACTIVE、GRAYED),比如:
‘popup "查看(&V)",HELP,INACTIVE ’;
并且用nmake编译,然后 复原 ‘popup "查看(&V)"’ ;
修改asm文件,‘invoke GetSubMenu,hMenu,0’,意思是把鼠标右键弹出的菜单由“查看(&V)”改为 "文件(&F)",之后编译链接后 再复原 至“查看(&V)”,于是奇怪的情况出现,点菜单栏里的“查看”,选“工具栏”的 子菜单,打勾 标记不会出现,而在 右键 中的 选“工...


- [e56004474] 7.以上做完,用LordPE修改好入口点,其次“目录表”中的“输入表”地址修正好。以上做好,基本就没 11/23 10:06
- [e56004474] 6.ImportREC修复输入表时,如果其中一条函数无法正常识别,fix Dump出来的文件,需要 11/23 10:02
- [e56004474] 5.浏览时图片显示了一小部分,请点击下图片,会全部正常显示。 11/23 09:57
- [游客] 我的理解是书上印错了 07/08 15:56
- [e56004474] STDCALL调用 方式,把要导出的过程名修改为以下格式: _name@nn 06/10 14:48
- [e56004474] option casemap:none 指明大小写 是否敏感. (《啄石成玉》第3章才有说明) 03/23 17:34
- [e56004474] 编译链接指令如下 ML.EXE /C /COFF /I C:\Masm615\INCLUDE 1 03/17 19:47
- [starrynight] 加油! 10/09 17:31
- [fpamc] 串个门儿~ 08/15 06:52
- [chinatree] 没看懂你最后一句再说什么。 07/23 00:07
[2019-06-25 21:46] ch5-Menu 莫名其妙的问题
阅读全文 |
评论次数(0) |
浏览次数(608) |
所属类型(琢石成器)
[2019-06-25 20:55] AppendMenu中的(uFlags) 参数为数字 ' 0 ' 。
BOOL AppendMenu(hMenu hMenu,UINT uFlags,UINT uIDNewltem,LPCTSTR lpNewltem)
例如:
invoke GetMenuState,hMenu,ebx,MF_BYCOMMAND
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
然而书中的Meun.asm例子中:
;***************************...
例如:
invoke GetMenuState,hMenu,ebx,MF_BYCOMMAND
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
然而书中的Meun.asm例子中:
;***************************...
阅读全文 |
评论次数(0) |
浏览次数(608) |
所属类型(琢石成器)
[2019-06-25 18:44] 加载菜单资源的二种方法:
方法一:(注册窗口类)
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszMenuName,IDM_MAIN ;注意这里加载!!
mov @stWndClass.lpszClassName,offset...
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszMenuName,IDM_MAIN ;注意这里加载!!
mov @stWndClass.lpszClassName,offset...
阅读全文 |
评论次数(0) |
浏览次数(531) |
所属类型(琢石成器)
[2019-06-22 15:57] ch04 - FirstWindow.asm 一些测试。
// _WinMain proc :
【1】:————————————————————————
invoke GetModuleHandle,NULL
mov hInstance,eax
改为 “mov hInstance,400000H”,程序正常运行。
————————————————————————————
【2】:
;**************
; 注册窗口类
;**************
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
改为 “mov @stWndClass.hbrBackgrou...
【1】:————————————————————————
invoke GetModuleHandle,NULL
mov hInstance,eax
改为 “mov hInstance,400000H”,程序正常运行。
————————————————————————————
【2】:
;**************
; 注册窗口类
;**************
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
改为 “mov @stWndClass.hbrBackgrou...
阅读全文 |
评论次数(0) |
浏览次数(534) |
所属类型(琢石成器)
[2019-06-14 21:38] 示例Menu.asm一些疑问
*******************************************************************
; 处理菜单及加速键消息
;********************************************************************
.elseif eax == WM_COMMAND
invoke _DisplayMenuItem,wParam
mov eax,wParam
movzx eax,ax
.if eax == IDM_EXIT
call _Quit
.el...
; 处理菜单及加速键消息
;********************************************************************
.elseif eax == WM_COMMAND
invoke _DisplayMenuItem,wParam
mov eax,wParam
movzx eax,ax
.if eax == IDM_EXIT
call _Quit
.el...
阅读全文 |
评论次数(0) |
浏览次数(659) |
所属类型(琢石成器)
[2019-06-14 21:26] GetMenuState中uld参数等含义
GetMenuState是一个计算机函数,用于取得菜单标志,主要参数有hMenu、uld、MF_BYCOMMAND、返回值等。
hMenu:含有其菜单项的标志将被提取得的菜单的句柄。
uld:其某单标志将被取得的菜单项,此参数含义由参数uFlags决定。
UFlags:用于指定参数uld的含义的值。此参数可取下列值之一:
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
;示例:Menu.a...
hMenu:含有其菜单项的标志将被提取得的菜单的句柄。
uld:其某单标志将被取得的菜单项,此参数含义由参数uFlags决定。
UFlags:用于指定参数uld的含义的值。此参数可取下列值之一:
MF_BYCOMMAND:表示参数uld给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定,则MF_BYCOMMAND是缺省值。
MF_BYPOSITION:表示参数uld给出菜单项相对于零的位置。
;示例:Menu.a...
阅读全文 |
评论次数(0) |
浏览次数(561) |
所属类型(琢石成器)
[2019-06-14 20:37] 函数原型:HMENU GetSubMenu(HMENU hMenu,int nPos)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming 3rd Edition>
; by 罗云彬, http://www.win32asm.com.cn
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Menu.asm
; 菜单资源的使用例子
;疑问如下:
_ProcWinMain proc uses ebx e...
; Sample code for < Win32ASM Programming 3rd Edition>
; by 罗云彬, http://www.win32asm.com.cn
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Menu.asm
; 菜单资源的使用例子
;疑问如下:
_ProcWinMain proc uses ebx e...
阅读全文 |
评论次数(0) |
浏览次数(594) |
所属类型(琢石成器)
[2019-06-13 08:19] makefile文件
EXE = FirstWindow.exe #指定输出文件 (把AddSub.exe 改为你需要编译的文件名)
OBJS = FirstWindow.obj #需要的目标文件 (把AddSub.OBJ 改为你需要编译的文件名)
#需要的资源文件
LINK_FLAG = /subsystem:windows /DEBUG /MAP #连接选项
#注意是 subsystem:console
ML_FLAG =...
OBJS = FirstWindow.obj #需要的目标文件 (把AddSub.OBJ 改为你需要编译的文件名)
#需要的资源文件
LINK_FLAG = /subsystem:windows /DEBUG /MAP #连接选项
#注意是 subsystem:console
ML_FLAG =...
阅读全文 |
评论次数(0) |
浏览次数(609) |
所属类型(琢石成器)
[2012-06-05 21:04] 匈牙利表示法
匈牙利表示法:
在匈牙利表示法中,变量名以一个或多个小写字母开始,代表变量的类型。后面附以变量的名字,变量名以意义明确的大小写混合字母序列所构成。这种方案允许每个变量都附有表征变量类型的信息。
匈牙利表示法的补充:
全局变量的定义使用标准的匈牙利表示法,在参数的前面加下划线,在局部变量的前面加@符号,这样引用的时候就能随时注意到变量的作用域。
在内部子程序的名称前加下划线,以便和系统API区别
=======================================================
全局变量的定义使用标准的匈牙利表示法。(全局变量表示...
在匈牙利表示法中,变量名以一个或多个小写字母开始,代表变量的类型。后面附以变量的名字,变量名以意义明确的大小写混合字母序列所构成。这种方案允许每个变量都附有表征变量类型的信息。
匈牙利表示法的补充:
全局变量的定义使用标准的匈牙利表示法,在参数的前面加下划线,在局部变量的前面加@符号,这样引用的时候就能随时注意到变量的作用域。
在内部子程序的名称前加下划线,以便和系统API区别
=======================================================
全局变量的定义使用标准的匈牙利表示法。(全局变量表示...
阅读全文 |
评论次数(1) |
浏览次数(581) |
所属类型(琢石成器)
页码数(1):
1