易语言凭空创建窗口并响应窗口消息
系统结构:窗口函数,CreateWindowEx,RegisterClassEx,ShowWindow,UpdateWindow,GetModuleHandle,DefWindowProc,DispatchMessage,GetMessage,TranslateMessage,LoadCursor,LoadIcon,PostQuitMessage,
======程序集1
| |
| |------ _启动子程序
| |
| |------ 窗口函数
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateWindowEx
| |
| |---[dll]------ RegisterClassEx
| |
| |---[dll]------ ShowWindow
| |
| |---[dll]------ UpdateWindow
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ DefWindowProc
| |
| |---[dll]------ DispatchMessage
| |
| |---[dll]------ GetMessage
| |
| |---[dll]------ TranslateMessage
| |
| |---[dll]------ LoadCursor
| |
| |---[dll]------ LoadIcon
| |
| |---[dll]------ PostQuitMessage
调用的DLL命令:
.DLL命令 CreateWindowEx, 整数型, "user32", "CreateWindowExA", , 建立窗口
.参数 dwExStyle, 整数型
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
.参数 dwStyle, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 nWidth, 整数型
.参数 nHeight, 整数型
.参数 hWndParent, 整数型
.参数 hMenu, 整数型
.参数 hInstance, 整数型
.参数 lpParam, 整数型
.DLL命令 RegisterClassEx, 整数型, "user32", "RegisterClassExA", ,
.参数 pcWndClassEx, WNDCLASSEX
.DLL命令 ShowWindow, 整数型, "user32", "ShowWindow", , 控制窗口的可见性(在vb里使用:针对vb窗体及控件,请使用对应的vb属性) 如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)
.参数 hwnd, 整数型, , 窗口句柄,要向这个窗口应用由nCmdShow指定的命令
.参数 nCmdShow, 整数型, , 为窗口指定可视性方面的一个命令。请用下述任何一个常数;SW_HIDE:隐藏窗口,活动状态给令一个窗口;SW_MINIMIZE:最小化窗口,活动状态给令一个窗口;SW_RESTORE:用原来的大小和位置显示一个窗口,同时令其进入活动状态;SW_SHOW:用当前的大小和位置显示一个窗口,同时令其进入活动状态;SW_SHOWMAXIMIZED:最大化窗口,并将其激活;SW_SHOWMINIMIZED:最小化窗口,并将其激活;SW_SHOWMINNOACTIVE:最小化一个窗口,同时不改变活动窗口;SW_SHOWNA:用当前的大小和位置显示一个窗口,不改变活动窗口;SW_SHOWNOACTIVATE:用最近的大小和位置显示一个窗口,同时不改变活动窗口;SW_SHOWNORMAL:与SW_RESTORE相同;
.DLL命令 UpdateWindow, 整数型, "user32", "UpdateWindow", , 强制立即更新窗口,窗口中以前屏蔽的所有区域都会重画(在vb里使用:如vb窗体或控件的任何部分需要更新,可考虑直接使用refresh方法 非零表示成功,零表示失败
.参数 hwnd, 整数型, , 欲更新窗口的句柄;
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 DefWindowProc, 整数型, "user32", "DefWindowProcA", , 调用缺省窗口过程
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 DispatchMessage, 整数型, "user32", "DispatchMessageA", , 向窗口发送消息
.参数 lpMsg, MSG
.DLL命令 GetMessage, 整数型, "user32", "GetMessageA", , 从线索消息队列中返回一条消息
.参数 lpMsg, MSG
.参数 hwnd, 整数型
.参数 wMsgFilterMin, 整数型
.参数 wMsgFilterMax, 整数型
.DLL命令 TranslateMessage, 整数型, "user32", "TranslateMessage", , 转换虚拟关键字消息
.参数 lpMsg, MSG
.DLL命令 LoadCursor, 整数型, "user32", "LoadCursorA", , 从指定的模块或应用程序实例中载入一个鼠标指针。LoadCursorBynum是LoadCursor函数的类型security声明 执行成功则返回已载入的指针的句柄;零表示失败。在Windows ; 95 和Win16环境中,这个函数只能载入标准尺寸的图标
.参数 实例句柄, 整数型, , 一个DLL的模块句柄;或者一个实例句柄,指定包含了鼠标指针的可执行程序
.参数 鼠标指针标识, 整数型, , 作为一个字串,指定欲载入的指针资源。作为一个长整数值,指定欲载入的资源ID;或者设置一个常数,代表某幅固有系统指针。如装载的是一个固有系统指针,注意hInstance参数应设为零。在api32.txt文件中以前缀IDC_ 作为标志;
.DLL命令 LoadIcon, 整数型, "user32", "LoadIconA", , 从指定的模块或应用程序实例中载入一个图标。其中,LoadIconBynum是LoadIcon函数的类型security声明 执行成功则返回已载入的图标的句柄;零表示失败。会设置GetLastError
.参数 实例句柄, 整数型
.参数 图标标识, 整数型
.DLL命令 PostQuitMessage, , "user32", "PostQuitMessage", , 通知WINDOWS线索将中断
.参数 nExitCode, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。