易语言窗口加载系统菜单源码
系统结构:GetSystemMenu,SetWindowLongA,CallWindowProcA,AppendMenuA,ShellExecute,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ _新窗口消息处理
| |
| |
======调用的Dll
| |
| |---[dll]------ GetSystemMenu
| |
| |---[dll]------ SetWindowLongA
| |
| |---[dll]------ CallWindowProcA
| |
| |---[dll]------ AppendMenuA
| |
| |---[dll]------ ShellExecute
调用的DLL命令:
.DLL命令 GetSystemMenu, 整数型, "user32", "GetSystemMenu", , 取得指定窗口的系统菜单的句柄。
.参数 hWnd, 整数型, , 窗口的句柄
.参数 bRevert, 逻辑型, , 如设为TRUE,表示接收原始的系统菜单;
.DLL命令 SetWindowLongA, 整数型
.参数 hWnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 CallWindowProcA, 整数型
.参数 lpPrevWndFunc, 整数型
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 AppendMenuA, 整数型, "user32", "AppendMenuA", , 在指定的菜单里添加一个菜单项 非零表示成功,零表示失败。会设置GetLastError
.参数 hMenu, 整数型, , 菜单句柄
.参数 uFlags, 整数型, , 参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数
.参数 uIDNewItem, 整数型, , 指定菜单条目的新命令ID。如果在wFlags参数中指定了MF_POPUP字段,那么这应该是指向一个弹出式菜单的句柄
.参数 lpNewItem, 文本型, , (相应的vb声明见注解),如果在wFlags参数中指定了MF_STRING标志,这就代表在菜单中设置的字串。如设置了MF_BITMAP标志,这就代表一个Long型变量,其中包含了一个位图句柄。如设置了MF_OWNERDRAW,这个值就会包括在DRAWITEMSTRUCT和MEASUREITEMSTRUCT结构中,在条目需要重画的时候由windows发送出去;
.DLL命令 ShellExecute, 整数型, "shell32.dll", "ShellExecuteA", , ; 查找与指定文件关联在一起的程序的文件名 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
.参数 lpOperation, 文本型, , 指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
.参数 lpFile, 文本型, , 想用关联程序打印或打开一个程序名或文件名
.参数 lpParameters, 文本型, , 如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
.参数 lpDirectory, 文本型, , 想使用的完整路径
.参数 nShowCmd, 整数型, , 定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数;
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。