易语言编辑框增加右键菜单项源码
系统结构:NewWndProc,API_SetWindowLong,API_CallWindowProc,API_SendMessage,API_AppendMenu,API_GetCurrentThreadId,API_GetModuleHandle,API_SetWinEventHook,API_UnhookWinEvent,API_GetCurrentProcessId,API_GetCurrentThreadId,API_SendMessage,API_SendMessage_String,API_AppendMenu,API_AppendMenu_String,API_CallWindowProc,API_SetWindowLong,API_GetWindow,API_GetFocus,
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ NewWndProc
| |
| |------ __启动窗口_将被销毁
| |
| |
======调用的Dll
| |
| |---[dll]------ API_SetWindowLong
| |
| |---[dll]------ API_CallWindowProc
| |
| |---[dll]------ API_SendMessage
| |
| |---[dll]------ API_AppendMenu
| |
| |---[dll]------ API_GetCurrentThreadId
| |
| |---[dll]------ API_GetModuleHandle
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_将被销毁
| |
| |------ _WinEventProc
| |
| |------ _proc
| |
| |
======调用的Dll
| |
| |---[dll]------ API_SetWinEventHook
| |
| |---[dll]------ API_UnhookWinEvent
| |
| |---[dll]------ API_GetCurrentProcessId
| |
| |---[dll]------ API_GetCurrentThreadId
| |
| |---[dll]------ API_SendMessage
| |
| |---[dll]------ API_SendMessage_String
| |
| |---[dll]------ API_AppendMenu
| |
| |---[dll]------ API_AppendMenu_String
| |
| |---[dll]------ API_CallWindowProc
| |
| |---[dll]------ API_SetWindowLong
| |
| |---[dll]------ API_GetWindow
| |
| |---[dll]------ API_GetFocus
调用的DLL命令:
.DLL命令 API_SetWindowLong, 整数型, , "SetWindowLongA"
.参数 hWnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 API_CallWindowProc, 整数型, , "CallWindowProcA"
.参数 lpPrevWndFunc, 整数型
.参数 hWnd, 整数型
.参数 uMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 API_SendMessage, 整数型, , "SendMessageA"
.参数 hWnd, 整数型
.参数 uMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 API_AppendMenu, 整数型, , "AppendMenuA"
.参数 hMenu, 整数型
.参数 wFlags, 整数型
.参数 wIDNewItem, 整数型
.参数 lpNewItem, 文本型
.DLL命令 API_GetCurrentThreadId, 整数型, , "GetCurrentThreadId"
.DLL命令 API_GetModuleHandle, 整数型, , "GetModuleHandleA"
.参数 lpModuleName, 整数型
调用的DLL命令:
.DLL命令 API_SetWinEventHook, 整数型, "user32.dll", "SetWinEventHook", ,
.参数 eventMin, 整数型
.参数 eventMax, 整数型
.参数 hmodWinEventProc, 整数型
.参数 pfnWinEventProc, 整数型
.参数 idProcess, 整数型
.参数 idThread, 整数型
.参数 dwFlags, 整数型
.DLL命令 API_UnhookWinEvent, 整数型, "user32.dll", "UnhookWinEvent", ,
.参数 hWinEventHook, 整数型, 传址
.DLL命令 API_GetCurrentProcessId, 整数型, "kernel32", "GetCurrentProcessId", , 获取当前进程一个唯一的标识符 当前的进程标识符
.DLL命令 API_GetCurrentThreadId, 整数型, "kernel32", "GetCurrentThreadId", , 获取当前线程一个唯一的线程标识符 当前的线程标识符
.DLL命令 API_SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum,
SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息
.DLL命令 API_SendMessage_String, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum,
SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 文本型, , 具体取决于消息
.DLL命令 API_AppendMenu, 整数型, "user32", "AppendMenuA", , 在指定的菜单里添加一个菜单项 非零表示成功,零表示失败。会设置GetLastError
.参数 菜单句柄, 整数型, , 菜单句柄
.参数 菜单常数标志, 整数型, , 参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数
.参数 新菜单条目ID, 整数型, , 指定菜单条目的新命令ID。如果在wFlags参数中指定了MF_POPUP字段,那么这应该是指向一个弹出式菜单的句柄
.参数 标志值, 整数型, , (相应的vb声明见注解),如果在wFlags参数中指定了MF_STRING标志,这就代表在菜单中设置的字串。如设置了MF_BITMAP标志,这就代表一个Long型变量,其中包含了一个位图句柄。如设置了MF_OWNERDRAW,这个值就会包括在DRAWITEMSTRUCT和MEASUREITEMSTRUCT结构中,在条目需要重画的时候由windows发送出去
.DLL命令 API_AppendMenu_String, 整数型, "user32", "AppendMenuA", , 在指定的菜单里添加一个菜单项 非零表示成功,零表示失败。会设置GetLastError
.参数 菜单句柄, 整数型, , 菜单句柄
.参数 菜单常数标志, 整数型, , 参考ModifyMenu函数中的菜单常数标志定义表,其中列出了允许使用的所有常数
.参数 新菜单条目ID, 整数型, , 指定菜单条目的新命令ID。如果在wFlags参数中指定了MF_POPUP字段,那么这应该是指向一个弹出式菜单的句柄
.参数 标志值, 文本型, , (相应的vb声明见注解),如果在wFlags参数中指定了MF_STRING标志,这就代表在菜单中设置的字串。如设置了MF_BITMAP标志,这就代表一个Long型变量,其中包含了一个位图句柄。如设置了MF_OWNERDRAW,这个值就会包括在DRAWITEMSTRUCT和MEASUREITEMSTRUCT结构中,在条目需要重画的时候由windows发送出去
.DLL命令 API_CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 API_SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.参数 dwNewLong, 整数型, , 由nIndex指定的窗口信息的新值
.DLL命令 API_GetWindow, 整数型, "user32", "GetWindow", , 获得一个窗口的句柄,该窗口与某源窗口有特定的关系 由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零值。会设置GetLastError
.参数 源窗口, 整数型, , 源窗口
.参数 关系, 整数型, , 指定结果窗口与源窗口的关系,它们建立在下述常数基础上:
GW_CHILD:寻找源窗口的第一个子窗口
GW_HWNDFIRST:为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口
GW_HWNDLAST:为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗口
GW_HWNDNEXT:为源窗口寻找下一个兄弟窗口
GW_HWNDPREV:为源窗口寻找前一个兄弟窗口
GW_OWNER:寻找窗口的所有者
.DLL命令 API_GetFocus, 整数型, "user32", "GetFocus", , 获得拥有输入焦点的窗口的句柄 拥有焦点的那个窗口的句柄。如没有窗口拥有输入焦点,则返回零
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。