易语言常用api(dll命令)

合集下载

易语言核心支持库DLL命令大全

易语言核心支持库DLL命令大全

易语言核心支持库DLL命令大全.版本 2.DLL命令 _取短整型指针, 整数型, , "lstrcpyn", 公开.参数目的指针, 短整数型, 传址.参数源指针, 短整数型, 传址.参数复制长度, 整数型, , 0.DLL命令 _取双精度指针, 整数型, , "lstrcpyn", 公开.参数目的指针, 字节型, 传址.参数源指针, 字节型, 传址.参数复制长度, 整数型, , 0.DLL命令 _取文本指针, 整数型, , "lstrcpyn", 公开.参数目的指针, 文本型, 传址.参数源指针, 文本型, 传址.参数复制长度, 整数型, , 0.DLL命令 _取整型指针, 整数型, , "lstrcpyn", 公开.参数目的指针, 整数型, 传址.参数源指针, 整数型, 传址.参数复制长度, 整数型, , 0.DLL命令 _取子程序指针, 整数型, , "lstrcpyn", 公开, 返回整型子程序 .参数目的指针, 子程序指针.参数源指针, 子程序指针.参数复制长度, 整数型, , 0.DLL命令 _取字节集指针, 整数型, , "lstrcpyn", 公开.参数目的指针, 字节集, 传址.参数源指针, 字节集, 传址.参数复制长度, 整数型, , 0.DLL命令 _取字节指针, 整数型, , "lstrcpyn", 公开.参数目的指针, 字节型, 传址.参数源指针, 字节型, 传址.参数复制长度, 整数型, , 0.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx", 公开, 传递钩子 .参数钩子句柄, 整数型.参数钩子类型, 整数型.参数消息一, 整数型.参数消息二, 整数型.DLL命令 CharLower, 文本型, , "CharLowerA", 公开, 到小写_.参数 str, 文本型.DLL命令 CharUpper, 文本型, , "CharUpperA", 公开, 到大写_.参数 str, 文本型.DLL命令 CloseHandle, 整数型, "kernel32.dll", "CloseHandle", 公开 .参数对象句柄, 整数型.DLL命令 CopyMemory_msg, 整数型, , "RtlMoveMemory", 公开, 复制消息 .参数目标地址, MSG.参数源地址, 整数型.参数复制长度, 整数型.DLL命令 CreateFont, 整数型, "gdi32", "CreateFontA", 公开, 用指定的属性创建一种逻辑字体执行成功则返回逻辑字体的句柄,零表示失败。

易语言调用API函数监视目录与文件的代码

易语言调用API函数监视目录与文件的代码

易语⾔调⽤API函数监视⽬录与⽂件的代码DLL命令表.版本 2.DLL命令 GetPrivateProfileInt, 整数型, , "GetPrivateProfileIntA".参数 lpAppName, ⽂本型.参数 lpKeyName, ⽂本型.参数 nDefault, 整数型.参数 lpFileName, ⽂本型.DLL命令 GetPrivateProfileString, 整数型, , "GetPrivateProfileStringA".参数 lpAppName, ⽂本型.参数 lpKeyName, ⽂本型.参数 lpDefault, ⽂本型.参数 lpReturnedString, ⽂本型, 传址.参数 nSize, 整数型.参数 lpFileName, ⽂本型.DLL命令 TerminateThread, 整数型, , "TerminateThread".参数 hThread, 整数型.参数 dwExitCode, 整数型.DLL命令 CloseHandle, 整数型, , "CloseHandle".参数 Object, 整数型.DLL命令 PostMessage, 整数型, , "PostMessageA".参数 hWnd, 整数型.参数 Msg, 整数型.参数 wParam, 整数型.参数 lParam, 整数型.DLL命令 RegisterHotKey, 整数型, , "RegisterHotKey".参数 hWnd, 整数型.参数 id, 整数型.参数 fsModifiers, 整数型.参数 vk, 整数型.DLL命令 CreateThread, 整数型, , "CreateThread".参数 SecurityAttributes, 整数型.参数 StackSize, 整数型.参数 StartFunction, 整数型.参数 ThreadParameter, 整数型.参数 CreationFlags, 整数型.参数 ThreadId, 整数型, 传址.DLL命令 WideCharToMultiByte1, 整数型, "kernel32.dll", "WideCharToMultiByte".参数 CodePage, 整数型, , CodePage.参数 dwFlags, 整数型, , dwFlags.参数 lpWideCharStr, 字节集, , lpWideCharStr.参数 cchWideChar, 整数型, , cchWideChar.参数 lpMultiByteStr, 整数型, , lpMultiByteStr.参数 cchMultiByte, 整数型, , cchMultiByte.参数 lpDefaultChar, 整数型, , lpDefaultChar.参数 lpUsedDefaultChar, 逻辑型, , lpUsedDefaultChar.DLL命令 WideCharToMultiByte, , "kernel32.dll", "WideCharToMultiByte".参数 CodePage, 整数型, , CodePage.参数 dwFlags, 整数型, , dwFlags.参数 lpWideCharStr, 字节集, , lpWideCharStr.参数 cchWideChar, 整数型, , cchWideChar.参数 lpMultiByteStr, 字节集, , lpMultiByteStr.参数 cchMultiByte, 整数型, , cchMultiByte.参数 lpDefaultChar, 整数型, , lpDefaultChar.参数 lpUsedDefaultChar, 逻辑型, , lpUsedDefaultChar.DLL命令 CreateFile, 整数型, , "CreateFileA".参数 lpFileName, ⽂本型.参数 dwDesiredAccess, 整数型.参数 dwShareMode, 整数型.参数 lpSecurityAttributes, 整数型.参数 dwCreationDisposition, 整数型.参数 dwFlagsAndAttributes, 整数型.参数 hTemplateFile, 整数型.DLL命令 ReadDirectoryChangesW, 逻辑型, , "ReadDirectoryChangesW".参数 hDirectory, 整数型.参数 lpbuff, _FILE_NOTIFY_INFORMATION, 传址.参数 nBufferLength, 整数型.参数 bWatchSubtree, 逻辑型.参数 dwNotifyFilter, 整数型.参数 lpBytesReturned, 整数型, 传址.参数 lpOverlapped, OVERLAPPED, 传址.参数 lpCompletionRoutine, 整数型.DLL命令 WritePrivateProfileString, 整数型, , "WritePrivateProfileStringA".参数 lpAppName, ⽂本型.参数 lpKeyName, ⽂本型.参数 lpString, ⽂本型.参数 lpFileName, ⽂本型⾃定义数据类型表.版本 2.数据类型 OVERLAPPED.成员 ternal, 整数型.成员 ternalHigh, 整数型.成员低32位, 整数型.成员⾼32位, 整数型.成员事件句柄, 整数型.数据类型 _FILE_NOTIFY_INFORMATION.成员 NextEntryOffset, 整数型.成员 Action, 整数型.成员 FileNameLength, 整数型.成员 FileName, 字节型, , "1024"常量数据表.版本 2.常量 WM_SYSCOMMAND, "274".常量 SC_MINIMIZE, "61472".常量 MOD_ALT, "1".常量 GENERIC_READ, "-2147483648".常量 GENERIC_WRITE, "1073741824".常量 FILE_SHARE_READ, "1".常量 FILE_SHARE_WRITE, "2".常量 FILE_SHARE_DELETE, "4".常量 FILE_FLAG_BACKUP_SEMANTICS, "33554432".常量 OPEN_EXISTING, "3".常量 FILE_NOTIFY_CHANGE_FILE_NAME, "1".常量 FILE_NOTIFY_CHANGE_DIR_NAME, "2".常量 FILE_NOTIFY_CHANGE_ATTRIBUTES, "4".常量 FILE_NOTIFY_CHANGE_SIZE, "8".常量 FILE_NOTIFY_CHANGE_LAST_WRITE, "16".常量 FILE_NOTIFY_CHANGE_LAST_ACCESS, "32".常量 FILE_NOTIFY_CHANGE_CREATION, "64".常量 FILE_NOTIFY_CHANGE_SECURITY, "256".常量 FILE_ACTION_ADDED, "1".常量 FILE_ACTION_REMOVED, "2".常量 FILE_ACTION_RENAMED_NEW_NAME, "5".常量 FILE_ACTION_RENAMED_OLD_NAME, "4".常量 FILE_ACTION_MODIFIED, "3"监视⽬录与⽂件的代码.版本 2.⽀持库 iext.⽀持库 shell.程序集窗⼝程序集1.程序集变量 m_bAddNew0, 整数型.程序集变量 m_bDel0, 整数型.程序集变量 m_bRename, 整数型.程序集变量 m_bModify0, 整数型.程序集变量 m_bOther0, 整数型.程序集变量 m_strWatchedDir, ⽂本型.程序集变量 m_hThread, 整数型.程序集变量 hDir, 整数型.程序集变量 m_bAlwaysOnTop, 整数型.程序集变量 m_bAutoRun, 整数型.程序集变量 m_bMinimized, 整数型.程序集变量 m_bAutoStart, 整数型.程序集变量 m_i, 整数型.程序集变量 m_OVERLAPPED, OVERLAPPED.⼦程序 __启动窗⼝_创建完毕m_bAlwaysOnTop = GetPrivateProfileInt (“Settings”, “AlwaysOnTop”, 0, “.\\Settings.ini”)m_bAutoRun = GetPrivateProfileInt (“Settings”, “AutoRun”, 0, “.\\Settings.ini”)m_bMinimized = GetPrivateProfileInt (“Settings”, “Minimized”, 0, “.\\Settings.ini”)m_bAutoStart = GetPrivateProfileInt (“Settings”, “AutoStart”, 0, “.\\Settings.ini”)m_bAddNew0 = GetPrivateProfileInt (“Selections”, “m_bAddNew”, 0, “.\\Settings.ini”)m_bDel0 = GetPrivateProfileInt (“Selections”, “m_bDel”, 0, “.\\Settings.ini”)m_bRename = GetPrivateProfileInt (“Selections”, “m_bRename”, 0, “.\\Settings.ini”)m_bModify0 = GetPrivateProfileInt (“Selections”, “m_bModify”, 0, “.\\Settings.ini”)m_bOther0 = GetPrivateProfileInt (“Selections”, “m_bOther”, 0, “.\\Settings.ini”)m_strWatchedDir =取空⽩⽂本 (260)GetPrivateProfileString (“Settings”, “监视⽬录”, “”, m_strWatchedDir, 260, “.\\Settings.ini”)m_hThread = 0hDir = -1.如果真 (m_bAlwaysOnTop = 1)OnBtnAlwaysOnTop ().如果真结束.如果真 (m_bMinimized = 1)PostMessage (取窗⼝句柄 (), #WM_SYSCOMMAND, #SC_MINIMIZE, 0).如果真结束.如果真 (m_bAutoStart = 1)OnStart ().如果真结束RegisterHotKey (取窗⼝句柄 (), 199, #MOD_ALT, #Z键)IDC_STATE.标题= “你选择的监视⽬录为:” + m_strWatchedDir.⼦程序 __启动窗⼝_将被销毁.如果真 (m_hThread ≠ 0)TerminateThread (m_hThread, 0)m_hThread = 0.如果真结束.如果真 (hDir ≠ -1)CloseHandle (hDir)hDir = -1.如果真结束.⼦程序 ThreadProc, 整数型.参数 lparam, 整数型.局部变量 pNotify, _FILE_NOTIFY_INFORMATION.局部变量 dwBytesReturned, 整数型.局部变量 str1, ⽂本型.局部变量 temp, 字节集hDir = CreateFile (m_strWatchedDir, 位或 (#GENERIC_READ, #GENERIC_WRITE), 位或 (#FILE_SHARE_READ, #FILE_SHARE_WRITE, #FILE_SHARE_DELETE), 0, #OPEN_EXISTING, #FILE_FLAG_BACKUP_SEMANTICS, 0).如果真 (hDir = -1)返回 (0).如果真结束.判断循环⾸ (真).如果 (ReadDirectoryChangesW (hDir, pNotify, 1024, 真, 位或 (#FILE_NOTIFY_CHANGE_FILE_NAME, #FILE_NOTIFY_CHANGE_DIR_NAME, #FILE_NOTIFY_CHANGE_ATTRIBUTES, #FILE_NOTIFY_CHANGE_SIZE, #FILE_NOTIFY_CHANGE_LAST_WR .如果 (pNotify.NextEntryOffset ≠ 0)temp =字节数组转字节集 (pNotify.FileName).否则temp =字节数组转字节集 (pNotify.FileName).如果结束str1 = Unicode转Ansi (取字节集左边 (temp, pNotify.FileNameLength))m_list.插⼊表项 (-1, 到⽂本 (取⼩时 (取现⾏时间 ())) + “:” +到⽂本 (取分钟 (取现⾏时间 ())) + “:” +到⽂本 (取秒 (取现⾏时间 ())), , , , )m_list.置标题 (m_list.取表项数 () - 1, 2, m_strWatchedDir + str1).判断开始 (pNotify.Action = #FILE_ACTION_ADDED) ' 添加了新⽂件m_list.置标题 (m_list.取表项数 () - 1, 1, “添加了⽂件”).判断 (pNotify.Action = #FILE_ACTION_REMOVED) ' 删除了⽂件m_list.置标题 (m_list.取表项数 () - 1, 1, “删除了⽂件”).判断 (pNotify.Action = #FILE_ACTION_RENAMED_NEW_NAME) ' 重命名了⽂件m_list.置标题 (m_list.取表项数 () - 1, 1, “重命名了⽂件”).判断 (pNotify.Action = #FILE_ACTION_RENAMED_OLD_NAME) ' 重命名了⽂件m_list.置标题 (m_list.取表项数 () - 1, 1, “重命名了⽂件”).判断 (pNotify.Action = #FILE_ACTION_MODIFIED) ' 修改了⽂件m_list.置标题 (m_list.取表项数 () - 1, 1, “修改了⽂件”).默认m_list.置标题 (m_list.取表项数 () - 1, 1, “未知变化”) ' 未知变化.判断结束.否则跳出循环 ().如果结束.判断循环尾 ()返回 (0).⼦程序 Unicode转Ansi, ⽂本型.参数参数_数据, 字节集.局部变量局部_计数, 整数型.局部变量局部_结果数据, 字节集.局部变量局部_结果⽂本, ⽂本型局部_计数=取字节集长度 (参数_数据) ÷ 2 ' 字符数⽬两个局部_计数= WideCharToMultiByte1 (936, 512, 参数_数据, 局部_计数, 0, 0, 0, 假) ' 取转换后的数⽬局部_结果数据=取空⽩字节集 (局部_计数)WideCharToMultiByte (936, 512, 参数_数据, -1, 局部_结果数据, 局部_计数, 0, 假)局部_结果⽂本=取字节集数据 (局部_结果数据, #⽂本型, )返回 (局部_结果⽂本).⼦程序字节数组转字节集, 字节集.参数字节数组, 字节型, 数组.局部变量字节集, 字节集.局部变量 N, 整数型.计次循环⾸ (取数组成员数 (字节数组), N)字节集=字节集+到字节集 (字节数组 [N]).计次循环尾 ()返回 (字节集).⼦程序 OnBtnAlwaysOnTop.⼦程序 OnStartStartWatch (m_strWatchedDir)IDC_STOP.禁⽌=假IDC_START.禁⽌=真IDC_SELECT_DIR.禁⽌=真IDC_STATE.标题= “正在监视````” + m_strWatchedDir.⼦程序 StartWatch, 逻辑型.参数 path, ⽂本型.局部变量 ThreadId, 整数型m_strWatchedDir = pathm_hThread = CreateThread (0, 0, 到整数 (&ThreadProc), 0, 0, ThreadId).如果 (m_hThread = 0)返回 (假).否则返回 (真).如果结束.⼦程序 _IDC_STOP_被单击.如果真 (m_hThread ≠ 0)TerminateThread (m_hThread, 0)m_hThread = 0.如果真结束.如果真 (hDir ≠ -1)CloseHandle (hDir)hDir = -1.如果真结束IDC_STOP.禁⽌=真IDC_START.禁⽌=假IDC_SELECT_DIR.禁⽌=假.⼦程序 _IDC_CLEAR_被单击m_list.全部删除 ().⼦程序 _IDC_SELECT_DIR_被单击m_strWatchedDir =浏览⽂件夹 (“”, 假).如果真 (m_strWatchedDir = “”)m_strWatchedDir = “c:\”返回 ().如果真结束WritePrivateProfileString (“settings”, “监视⽬录”, m_strWatchedDir, “.\\Settings.ini”)IDC_STATE.标题= “你选择了监视:” + m_strWatchedDir.⼦程序 _IDC_START_被单击OnStart ().⼦程序 _IDC_ABOUT_被单击信息框 (“Hello World”, 0, )运⾏结果:总结以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。

易语言调用api枚举网卡名称并且获取信息的代码

易语言调用api枚举网卡名称并且获取信息的代码

易语⾔调⽤api枚举⽹卡名称并且获取信息的代码DLL命令表.版本 2.DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址.参数 hModule, 整数型.参数 lpProcName, ⽂本型.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取⼀个应⽤程序或动态链接库的模块句柄如执⾏成功成功,则返回模块句柄。

零表⽰失败。

会设置GetLastError.参数 lpModuleName, ⽂本型, , 指定模块名,这通常是与模块的⽂件名相同的⼀个名字。

例如,NOTEPAD.EXE程序的模块⽂件名就叫作NOTEPAD;.DLL命令 IsBadCodePtr, 整数型, "kernel32", "IsBadCodePtr", , 确定读指针的合法性.参数 lpfn, 整数型.DLL命令 LoadLibrary, 整数型, "kernel32", "LoadLibraryA", , 载⼊指定的动态链接库,并将它映射到当前进程使⽤的地址空间。

⼀旦载⼊,即可访问库内保存的资源成功则返回库模块的句柄,零表⽰失败。

会设置GetLastError .参数 lpLibFileName, ⽂本型, , 指定要载⼊的动态链接库的名称。

采⽤与CreateProcess函数的lpCommandLine参数指定的同样的搜索顺序;常量数据表.版本 2.常量 ERROR_BUFFER_OVERFLOW, "111", , 111.常量 ERROR_SUCCESS, "0", , 0L.常量 MIB_IF_TYPE_ETHERNET, "6", , 以太⽹接⼝.常量 MIB_IF_TYPE_FDDI, "15", , 15.常量 MIB_IF_TYPE_LOOPBACK, "24", , 24.常量 MIB_IF_TYPE_OTHER, "1", , 其他类型的⽹络接⼝.常量 MIB_IF_TYPE_PPP, "23", , PPP(点到点协议)⽹络接⼝.常量 MIB_IF_TYPE_SLIP, "28".常量 MIB_IF_TYPE_TOKENRING, "9".常量 MIB_IF_TYPE_IEEE80211, "71", , IEEE 802.11 wireless network interface.常量 ERROR_INSUFFICIENT_BUFFER, "122", , 122获取⽹卡的IP地址、MAC等信息代码.版本 2.程序集⽹卡操作程序集.⼦程序彗星取⽹卡信息, 整数型, 公开, 获取⽹卡的IP地址、MAC等信息。

SKINSHARP易语言API调用命令

SKINSHARP易语言API调用命令

置控件的文本 整数型 颜色 DLL 库文件名: SkinH_EL.dll 在 DLL 库中对应命令名: SkinH_TextColor 传 参数名 类型 数组 址 句柄 整数型 红色分量 整数型 绿色分量 整数型 蓝色分量 整数型 DLL 命令名
备注 控件句柄 取值范围 0-255 取值范围 0-255 取值范围 0-255
SkinH_Alpha 参数名 类型 句柄 整数型 透明度 整数型 DLL 命令名
传址 数组
备注 指定窗体句柄 取值范围 0-255
返回值 公 备注 类型 开 获取指定点 获取指定窗口或控件在 nX,nY 处的颜色值,无符号整 整数型 √ 颜色 型 返回颜色值(RGB) DLL 库文件名: SkinH_EL.dll 在 DLL 库中对应命令名: SkinH_GetColor 传 参数名 类型 数组 备注 址 句柄 整数型 指定窗口或控件的句柄 横坐标 整数型 指定横坐标点 纵坐标 整数型 指定纵坐标点 返 DLL 回 公 命令 值 备注 开 名 类 型 指定窗体和控件的换肤类型,成功返回 0。换肤类型:SHE_COMMON: 0//对滚动条,背景换肤;SHE_DIALOG:1//对话框;SHE_EDITCTRL: 2//编辑框;SHE_RICHEDIT:3//超级编辑框;SHE_LISTBOX:4//列 表控件;SHE_LISTCTRL:5//列表视图;SHE_TREECTRL:6//树形控 件;SHE_TABCTRL:7//选择夹;SHE_SCROLLBAR:8//滚动条控件; SHE_SPINCTRL :9//调节控件;SHE_COMBOBOX:10//组合框; SHE_TRACKBAR:11//滑动条;SHE_HEADERCTRL:12//列头控件; 指定 整 SHE_PROGRESS:13//滚动条控件;SHE_MONTHCAL:14//月历控件; 换肤 数 √ SHE_DATETIME:15//日期时间控件;SHE_ANIMATE:16//动画控件; 类型 型 SHE_STATUSBAR:17//状态栏;SHE_TOOLBAR:18//工具栏; SHE_MDICLIENT:19//MDI 客户区;SHE_MDIWINDOW:20//MDI 窗口; SHE_MDICHILD: 21//MDI 子窗口; SHE_CONTROLBAR: 22//ControlBar; SHE_PUSHBUTTON:23//普通按钮;SHE_CHECKBOX:24//复选按钮; SHE_RADIOBUTTON:25//单选按钮;SHE_GROUPBOX:26//分组框; SHE_DIALOG_EL:1000//易语言窗口;SHE_VCLBUTTON:1001//VCL 按钮;SHE_PICTURE_EL:1002//易语言图片框。 DLL 库文件名: SkinH_EL.dll 在 DLL 库中对应命令名: SkinH_Map

详解易语言DLL以及API函数

详解易语言DLL以及API函数

详解易语⾔DLL以及API函数
易语⾔ DLL 详细解释
使⽤易语⾔多媒体教程中的例⼦。

.版本 2 //DLL⽂件,需要插⼊⼀个窗体、标签、按钮
.程序集窗⼝程序集1
.⼦程序 _按钮1_被单击
窗⼝1.销毁 ()
.⼦程序⾃创信息框, , 公开
.参数标题, ⽂本型
.参数内容, ⽂本型
载⼊ (窗⼝1, , 假) // 载⼊(),必须放在前⾯,放在后两句的后⾯则提⽰窗⼝⽆法载⼊
窗⼝1.标题=标题
窗⼝1.标签1.标题=内容
//编译为⾃创信息框.dll
//当你想调⽤前⾯的dll时,必须先插⼊dll命令.
.版本 2
.DLL命令⾃创信息框, , "⾃创信息框", "⾃创信息框" // 第⼀个⾃创信息框可以⾃⼰任意取名字。

第⼆个⾃创信息框可以不带后缀dll。

.参数 cc, ⽂本型
.参数 dd, ⽂本型 //参数名称可以和dll⽂件中的参数⼀样或者不⼀样,但是类型必须⼀样。

.版本 2
.程序集窗⼝程序集1
.⼦程序 _按钮1_被单击
⾃创信息框 (“aa”, “bb”) //调⽤dll命令。

//可以把这个和上⾯的两个红⾊⾃创信息框改成任意的名称,但是名称必须⼀致。

//编译为可执⾏⽂件
整体上还要注意⼀点,就是第⼆个程序必须编译成可执⾏⽂件,并且与DLL⽂件共同放在⼀个⽬录中,才可以调⽤DLL⽂件。

如果没有编译,只是调试运⾏,使没法调⽤DLL⽂件的。

妈的,保存过后,好像调试运⾏也可以调⽤DLL⽂件了。

不管了,知道有这个BUG就⾏了。

易语言获取归属地写法

易语言获取归属地写法

易语言获取归属地写法易语言获取归属地可以通过调用网络API进行实现。

以下是一个示例代码:```easy# 定义函数获取归属地define GetLocation(ip, &location)# 加载API模块apiModule = Module.Load("api.dll")# 调用API函数获取归属地ret = apiModule.手机号码归属地查询(ip, &location)# 判断返回值,若成功则返回真,否则返回假if ret == 0 thenreturn 1elsereturn 0end ifend define# 主程序define DoMain# 定义变量ip = "127.0.0.1"location = AllocString(256)# 调用函数获取归属地result = GetLocation(ip, *location)# 判断结果并输出if result == 1 thenPrint("IP:" + ip + "的归属地是:" + location)elsePrint("获取归属地失败")end if# 释放字符串内存FreeString(location)end define# 执行主程序DoMain()```在上述代码中,使用了一个名为`手机归属地API`的动态链接库(`api.dll`)。

代码通过调用该库中的`手机归属地查询`函数来获取给定IP地址的归属地信息,并将结果存储在一个字符串中。

随后判断结果是否成功,若成功则输出归属地信息,否则输出错误信息。

(完整word版)易语言API图文教程

(完整word版)易语言API图文教程

易语言与WIN32 API的使用本人也是个小菜鸟啦。

今天写这个,就是为了一下比我还新手的同学参考参考的资料。

----------------------基础知识:先来了解一下,什么的动态链接库再看看,什么是API。

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

推荐API工具,是易语言自带的API助手,一般在X:\e\wizard\API助手如下图,,很好用,很强大哦。

可以看出,有了API,我们编程的生活是多么的美好,很多函数都不需要我们亲力亲为的去写,只要调用就OK了。

然后,我们来看一下数据类型。

因为在API中有很多地方使用了结构体(看百度哦),为了对这些结构体进行匹配,所以在易语言中我们也要对他建立相应的数据类型。

例如这是C语言的结构体格式SYSTEMTIME StructureThe SYSTEMTIME structure has the following form:typedef struct _SYSTEMTIME {WORD wYear;WORD wMonth;WORD wDayOfWeek;WORD wDay;WORD wHour;WORD wMinute;WORD wSecond;WORD wMilliseconds;} SYSTEMTIME;而我们如果想在易语言中实现他,就可以这样定义.版本2.数据类型系统时间_, , SYSTEMTIME.成员年, 短整数型, , , wYear.成员月, 短整数型, , , wMonth.成员星期, 短整数型, , , wDayOfWeek.成员日, 短整数型, , , wDay.成员小时, 短整数型, , , wHour.成员分, 短整数型, , , wMinute.成员秒, 短整数型, , , wSecond.成员毫秒, 短整数型, , , wMilliseconds你可能会奇怪,我怎么知道什么WORD 是什么类型。

易语言常用语句文库

易语言常用语句文库

易语言常用语句文库.txt熬夜,是因为没有勇气结束这一天;赖床,是因为没有勇气开始这一天。

朋友,就是将你看透了还能喜欢你的人。

易语言常用语句易语言常用语句(一)对于初学者来说,即使代码是全中文的,也需要别人讲解才能明白其中的意思。

如果我们能够理解其中大多数的代码的意思,那我们学习易语言就会相对容易。

为此下面列举易语言常见的各类语句供大家学习或编程时参考。

㈠、赋值型语句。

(也可称属性型语句)(特征:有一个“=”号将左右两边连起来)这是我们学易语言首先会接触的一类语句。

比如:标签1.标题=“祖国,您好!”,这句代码的意思是:标签1的标题是:“祖国,你好!”——即将标签1的标题属性值定为“祖国,你好!”(所谓赋值也)。

我们所见的给变量赋值就是用此类语句。

赋值语句常见有以下两类:...⑴、将某一对象的某种属性值赋给另一对象。

比如:标签1.标题=编辑框5.内容。

意思即是“标签1的标题跟编辑框5中的内容一样”。

比如我们在编辑框5中输入“易语言使英语盲也学会了编程”,那么在相关事件(比如单击按钮)的驱动下,标签1的标题也相应显示为“易语言使英语盲也学会了编程”。

...⑵、将某一类型的属性值赋予某个对象。

比如:标签1.标题=“祖国,你好!”,将“祖国,你好!”赋给标签1的标题。

所赋予的属性值可以是各种类型的,比如:窗口1.可视=真,这个“真”是一个逻辑型数值。

如果是文本型数值要用双引号,比如刚才的例子:标签1.标题=“祖国,你好!”即是。

又如,我们会发现这类句子:标签 2.标题=到文本 (取小时(取现行时间 ())) +“:”+到文本 (取分钟 (取现行时间())) +“:”+到文本 (取秒 (取现行时间 ()))。

因为标签类对象只接受文本型数据,所以要把时间型数据转化为文本型,否则测试时会提示:“所接受的数据类型与传递给它的数据类型不一致”。

有时我们会发现此类句子:容器1=容器1+10,这个语句的意思是:“将容器1加10之后,再将新值传回给容器1”。

易语言的Dll命令及程序集知识点

易语言的Dll命令及程序集知识点

易语⾔的Dll命令及程序集知识点在易应⽤程序中可以直接调⽤系统外部动态连接库(即 Dll 库)中的命令。

在调⽤前,必须⾸先进⾏定义,定义Dll 命令涉及到以下主要属性:Dll 命令名。

定义该 Dll 命令在易程序中的使⽤名称;返回值类型。

定义 Dll 命令返回值的数据类型,只能为⽆、字节、短整数、整数、逻辑及⽂本型;Dll 库⽂件名。

定义当前 Dll 命令所在动态连接库的⽂件名。

如果不指定库⽂件名,系统将默认在 Kernel32.dll、Gdi32.dll、User32.dll、Mpr.dll、Advapi32.dll 等 Windows 系统的基本应⽤程序界⾯函数(API)库中搜寻指定命令;Dll 命令在 Dll 库中的对应命令名。

定义当前 Dll 命令在其所在动态连接库中的名称,如果不指定,系统将默认等同于 Dll 命令名;定义 Dll 命令参数时的主要属性:1. 类型。

Dll 命令参数所定义的数据类型应该与实际的 Dll 库命令⼀致。

可以使⽤除了⽂本数组及字节集数组外的任何数据类型,包括库⾃定义和⽤户⾃定义数据类型。

2. 传址。

某些实际 Dll 库命令的参数需要接收数据地址,设置本属性为真可以确保将参数数据的地址传递过去。

如果参数数据的类型为数组、⽂本、字节集、⽤户定义数据类型、库定义数据类型,则⽆论此属性是否为真,都将传递数据地址。

如果本属性为真且调⽤ Dll 命令时所传递过来数据的类型与相应位置处所定义参数的数据类型不⼀致但可以相互转换,则系统先分配⼀块临时内存空间,然后进⾏转换并将转换后的数据存放到该空间,最后将此内存空间的地址传递到实际的 Dll 库命令。

参见例程 sample.e 中的相应部分。

3. 数组。

意义同上。

程序集程序集顾名思义即⼦程序的集合,⽤作将应⽤程序中的⼦程序分组归类。

在程序编辑过程中,每个程序集将在单独的编辑窗⼝内进⾏编辑。

到此这篇关于易语⾔的Dll命令及程序集知识点的⽂章就介绍到这了,更多相关易语⾔Dll命令程序集内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

易语言常用语句

易语言常用语句
同时我们又会发现另一类句式,比如“销毁()”,这个句式跟命令型句式很象,但其实它是下面这个句式的省略表达:窗口单元.销毁 ()。也即是说调用当前窗口单元的方法句式可省略前面的对象名前缀,它仍然是一种方法型语句。再举另一例子,“窗口单元.弹出菜单 (欲弹出的菜单,[水平显示位置],[垂直显示位置])”可以省略表达成“弹出菜单 (欲弹出的菜单,[水平显示位置],[垂直显示位置])”。
易语言的草稿型语句的格式是:
※草稿:程序代码
草稿型语句也不能被程序执行,有两种情况会出现草稿型语句:①、没有转为正式语句,在代码前会有“※草稿:”字样,转化为可以运行的正式代码的方法:双击该行代码使之变灰,然后按回车键(即Enter键)。②、该行代码有错误,不能转化为正式语句。处理:修改错误。
①、注释型语句。
易语言的注释型语句的格式是:
※ 注释语句
注释语句不能执行程序,只是用来解释上一行代码的意思。易语言是把注释代码隐藏起来的。显示某行代码的注释语句的方法是:选中某行代码,如果在该行代码前出现“+”号,说明该行代码有注解,点击该“+”号可以打开该行代码的注解,点击“-”可以重新隐藏注解。
这句的意思是,调用“画板1”的“滚动写行”方法。而其欲写出的数据(参数)是“数值到人民币 (100, 假)”(这句的语法请看帮助),这是一种数值转换命令语句。
③、调用相关对象的属性值作为方法的参数。例句:
列表框.加入项目 (编辑框1.内容,)
②、运行命令。使本程序或其他程序运行,其句式为:
运行 (欲运行的命令行,是否等待程序运行完毕,[被运行程序窗口显示方式])。
示例:运行(程序1,,假)。
...⑵、将某一类型的属性值赋予某个对象。

钩子 易语言

钩子 易语言

易语言钩子DLL注入源码及源码说明2010-04-06 13:52[所有要使用到的API].版本 2.DLL命令 LoadLibraryA, 整数型.参数 lpLibFileName, 文本型.DLL命令 SetWindowsHookExA, 整数型, "user32.dll", "SetWindowsHookExA", 公开, SetWindowsHookEx.参数钩子类型, 整数型, , idHook.参数回调函数地址, 整数型, , lpfn.参数实例句柄, 整数型, , hmod.参数线程ID, 整数型, , dwThreadId.DLL命令 FreeLibrary, 整数型, "kernel32.dll", "FreeLibrary", , 释放指定的动态链接库,它们早先是用LoadLibrary ;API函数装载的非零表示成功,零表示失败。

会设置GetLastError.参数库句柄, 整数型, , hLibModule,要释放的一个库句柄,在VB里使用只能用这个函数释放那些由应用程序明确装载的DLL。

对LoadLibrary的每一次调用都应该有一个对应的FreeLibrary 调用;.DLL命令 UnhookWindowsHookEx, 整数型, "user32.dll", "UnhookWindowsHookEx", , UnhookWindowsHookEx.参数钩子句柄, 整数型, , hHook.DLL命令 CallNextHookEx, 整数型, "user32.dll", "CallNextHookEx", 公开, CallNextHookEx .参数钩子句柄, 整数型, , hHook.参数代码值, 整数型, , ncode.参数附加参数1, 整数型, , wParam.参数附加参数2, 整数型, 传址, lParam.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress", , 取进程路径.参数模块句柄, 整数型, , hModule.参数进程名称, 文本型, , lpProcName.DLL命令 GetCurrentThreadId, 整数型, "kernel32.dll", "GetCurrentThreadId".DLL命令获取特别文件夹位置_, 整数型, "shell32.dll", "SHGetSpecialFolderLocation".参数窗口句柄, 整数型, , hwndOwner.参数文件夹位置, 整数型, , nFolder.参数结构, 项目标识符列表_, 传址, pIdl.DLL命令从列表id取路径_, 整数型, "shell32.dll", "SHGetPathFromIDListA", , $(b).参数结构指针, 整数型, , pIdl.参数路径, 文本型, 传址, pszPath.DLL命令 CallWindowProcA, 整数型, "user32.dll", "CallWindowProcA".参数动态调用代码, 字节集, , 一定要用本人编写的.参数子程序, 子程序指针, , 子程序指针.参数参数, 整数型, 数组, 为整数数组,参数1为成员1…类推;文本型和字节集型(自定义结构)为指针.参数参数数目, 整数型, , 一定要和参数数组相符,不然会出错.参数是否C调用, 整数型, , 真为cdecl调用方式,假为stdcall调用方式(即标准WINAPI方式)[这里函数所有代码和一个自定义类型,API代码在左边].版本 2.程序集程序集1.程序集变量临时呼出热键, 整数型.程序集变量临时载入窗口, 窗口.程序集变量钩子模块句柄, 整数型, , "1000".程序集变量钩子句柄, 整数型, , "1000".程序集变量钩子IDx, 整数型.程序集变量 x, 整数型.程序集变量钩子句柄1, 整数型.程序集变量 temp目录, 文本型.程序集变量 xxx, 整数型.程序集变量热键钩子句柄, 整数型.程序集变量第一次, 逻辑型.子程序调用_调用子程序, 整数型, 公开, 呼叫某个函数可以传入无限个参数返回函数返回值.参数子程序指针, 子程序指针, , 指定函数.参数参数, 整数型, 可空数组, 指定参数可以不写, 参数为数组格式为参数[1]=xxx 参数[2]=xxx 文本型或字节集请用转换指针格式2 加入成员(参数,xxx).局部变量动态调用代码, 字节集动态调用代码= { 85, 139, 236, 86, 139, 117, 16, 141, 78, 255, 133, 201, 124, 21, 139, 69, 12, 141, 4, 136, 65, 139, 16, 137, 85, 16, 255, 117, 16, 131, 232, 4, 73, 117, 242, 255, 85, 8, 137, 69, 12, 139, 69, 20, 133, 192, 116, 13, 141, 4, 181, 0, 0, 0, 0, 137, 69, 16, 3, 101, 16, 139, 69, 12, 94, 93, 194, 16, 0 }返回 (CallWindowProcA (动态调用代码, 子程序指针, 参数, 取数组成员数 (参数), 0)).子程序操作_取特定目录, 文本型, 公开, 取特定的目录(返回所要取的指定目录名无效返回空) .参数欲获取目录类型, 整数型, 可空, 0我的桌面 1临时目录 5我的文档 6我的收藏夹 7我的启动11我的开始菜单 20系统字体 36Windows安装目录 37系统目录 [99更多].局部变量路径, 文本型.局部变量标示结构, 项目标识符列表_.局部变量目录类型, 整数型.如果真 (欲获取目录类型= 99)输出调试文本 (“0我的桌面 2我的程序 5我的文档 6我的收藏夹 7我的启动 8我最近的文档 9我的发送到 11我的开始菜单 13我的音乐 14我的视频 16我的桌面 20系统字体 22开始菜单组 23程序组 24启动组 25桌面 31收藏夹 32我的浏览器临时目录 33我的Cookies 34我的历史记录36Windows安装目录 37系统目录 38文件安装目录 39我的图片 40用户目录 41系统目录 46文档 47管理工具 48我的管理工具 53音乐 54图片 55视频”).如果真结束.如果 (欲获取目录类型= 1)目录类型= 34.否则目录类型=欲获取目录类型.如果结束获取特别文件夹位置_ (0, 目录类型, 标示结构)路径=取空白文本 (255)从列表id取路径_ (标示结构.结构大小, 路径).如果真 (路径=“”)返回 (“”).如果真结束.如果真 (欲获取目录类型= 1)路径=子文本替换 (路径, “History”, “Temp”, , , 真).如果真结束返回 (路径+“\”).子程序注入_安装钩子DLL, 整数型, 公开, DLL注入返回0=失败整数型 DLL接口(代码值,参数1,参数2).参数线程ID, 整数型, , -1 全局钩子.参数 DLL全名, 文本型, , DLL全名.参数 DLL接口, 文本型, 可空, 默认整数型钩子接口(代码值,参数1,参数2).局部变量临时变量, 整数型.局部变量目录, 文本型.局部变量窗口句柄, 整数型.如果真 (是否为空 (DLL接口) =真)DLL接口=“钩子接口”.如果真结束.如果真 (线程ID = 0)返回 (0).如果真结束.如果真 (线程ID = -1)线程ID = 0.如果真结束钩子IDx =钩子IDx + 1钩子模块句柄 [钩子IDx] = LoadLibraryA (DLL全名)钩子句柄 [钩子IDx] = SetWindowsHookExA (3, GetProcAddress (钩子模块句柄 [钩子IDx], DLL 接口), 钩子模块句柄 [钩子IDx], 线程ID)目录=操作_取特定目录 (1)写配置项 (目录+“ada.ini”, “ada”, “钩子句柄”, 到文本 (钩子句柄 [钩子IDx]))输出调试文本 (钩子IDx, 钩子模块句柄 [钩子IDx], 钩子句柄 [钩子IDx])返回 (钩子IDx).版本 2.子程序注入_卸载钩子DLL, 逻辑型, 公开.参数钩子ID, 整数型, 可空, 卸载所有时无效.参数卸载所有, 逻辑型, 可空.局部变量 xx, 整数型.如果真 (卸载所有).如果真 (钩子IDx > 0).计次循环首 (钩子IDx, xx).如果真 (钩子模块句柄 [xx] ≠ 0)FreeLibrary (钩子模块句柄 [xx])UnhookWindowsHookEx (钩子句柄 [xx]).如果真结束.计次循环尾 ().如果真结束返回 (真).如果真结束.如果真 (钩子ID > 0).如果真 (钩子模块句柄 [钩子ID] ≠ 0)FreeLibrary (钩子模块句柄 [钩子ID])UnhookWindowsHookEx (钩子句柄 [钩子ID])返回 (真).如果真结束.如果真结束返回 (假).子程序注入_初始化钩子DLL, 整数型, 公开, DLL用..参数代码值, 整数型.参数参数1, 整数型.参数参数2, 整数型.参数初始, 子程序指针.局部变量 xxxx, 整数型.如果真 (钩子句柄1 = 0)temp目录=操作_取特定目录 (1)钩子句柄1 =到整数 (读配置项 (temp目录+“ada.ini”, “ada”, “钩子句柄”, )).如果真结束.如果真 (第一次=假)第一次=真调用_调用子程序 (初始).如果真结束返回 (CallNextHookEx (钩子句柄1, 代码值, 参数1, 参数2)).子程序注入_设置呼出窗口, 逻辑型, 公开.参数设置热键, 整数型.参数呼出窗口, 窗口临时呼出热键=设置热键临时载入窗口=呼出窗口热键钩子句柄= SetWindowsHookExA (2, 到整数 (&呼出键接口), 0, GetCurrentThreadId ()) .如果真 (热键钩子句柄> 0)返回 (真).如果真结束返回 (假).子程序呼出键接口, 整数型.参数一, 整数型.参数二, 整数型.参数三, 整数型.如果真 (一= 0 且二=临时呼出热键且三> 0) .如果 (是否已创建 (临时载入窗口)).如果 (临时载入窗口.可视)临时载入窗口.可视=假.否则临时载入窗口.可视=真.如果结束.否则载入 (临时载入窗口, , 假)临时载入窗口.Esc键关闭=假临时载入窗口.最小化按钮=真.如果结束.如果真结束返回 (CallNextHookEx (热键钩子句柄, 一, 二, 三)).版本 2.数据类型项目标识符列表_, , ITEMIDLIST.成员结构大小, 整数型, , , cb.成员标识符长度, 字节型, , "255", abID此函数是用来调用指针函数的.就是CALL取目录用这个我就不解释了下面是源码主要函数函数解释:本函数参数1为要HOOK的线程ID,参数2为要注入的DLL名,参数3[可空]为DLL接口名字空则为"钩子接口".下面解释是如何实现的:1.首先使用LoadLibraryA获取DLL模块地址.2.然后设置SetWindowsHookExA参数一为HOOK类型,使用WH_GETMESSAGE(3) Hook来监视从GetMessage or PeekMessage函数返回的消息。

什么是API,我们怎么去使用?

什么是API,我们怎么去使用?

什么是api,我们怎么去使用?在论坛里,大家经常都可以看到api这个字样,并且有很多朋友的程序里也涉及到了这些,这个api究竟代表的是什么呢?让我们打开《易语言知识库》的第二十二章:dll命令。

同时,再打开任何一个api查看器(在易语言源程序交流园地里有下载链接)。

为大家举一个例:ClipCursor函数。

从字面上来直译,好象是剪辑光标之类的什么意思对吧。

下面,我们来看看在VB里这个函数他代表的是什么:VB声明Declare Function ClipCursor& Lib "user32" (lpRect As RECT) 说明将指针限制到指定区域。

返回值Long,非零表示成功,零表示失败。

会设置GetLastError参数表 :参数类型及说明lpRect: RECT,指定一个矩形,用像素屏幕坐标系统表示。

鼠标指针必须在这个区域内运动。

注解 :指针剪切后,按Ctrl+Alt+Del可简单的清除剪切区域下面,我就针对上面的一些内容给大家讲解一下api函数:一、Declare Function ClipCursor& Lib "user32" (lpRect As RECT)这一句的意思就是:声明函数ClipCursor,该函数所在库为“user32”里,此函数有一个参数,名为lpRect,此参数的类型为RECT。

为什么要声明函数?这是在编程中所必须的。

就象你在程序中所设立的那些容器一样,你首先必须得在程序前面说明(当然,在易语言中声明api函数是在专门的位置里声明的),这样,程序才能知道你会使用到他,所以,我们必须得声明函数。

二、说明:将指针限制到指定区域。

这句话的意思就是我们可以在程序中用此函数将我们的鼠标指针给限制在某一个特定的区域里。

想想我们计算机的屏幕保护程序采用密码保护时吧。

你的鼠标跑不出它的密码输入框的。

三、返回值:Long,非零表示成功,零表示失败。

易语言常用DLL库文件名

易语言常用DLL库文件名

易语言常用DLL库文件名说明(由初学者1 整理)user32 - user32.dll - DLL文件信息DLL 文件: user32 或者 user32.dllDLL 名称: Windows User API Client DLL描述:user32.dll是Windows用户界面相关应用程序接口,用于包括Windows 处理,基本用户界面等特性,如创建窗口和发送消息。

kernel32- kernel32.dll - DLL文件信息DLL 文件:kernel32 或者kernel32.dllDLL 名称:描述:kernel32.dll是Windows9x/Me中非常重要的32位动态链接库文件,属于内核级文件。

它控制着系统的内存管理、数据的输入输出操作和中断处理shlwapi - shlwapi.dll - DLL文件信息DLL 文件: SHLWAPI 或者 shlwapi.dllDLL 名称: Microsoft Shell Light-weight Utility Library描述:shlwapi.dll是UNC和URL地址动态链接库文件,用于注册键值和色彩设置。

advapi32 - advapi32.dll - DLL文件信息DLL 文件: advapi32 或者 advapi32.dllDLL 名称: Advanced Windows 32 Base API DLL描述:advapi32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关。

psapi - psapi.dll - DLL文件信息DLL 文件: psapi 或者 psapi.dllDLL 名称: Process Status Helper描述:psapi.dll是Windows系统进程状态支持模块。

iphlpapi - iphlpapi.dll - DLL文件信息DLL 文件: iphlpapi 或者 iphlpapi.dllDLL 名称: IP Helper API描述:iphlpapi.dll是Windows IP辅助API应用程序接口模块。

一步一步跟我学易语言之DLL命令

一步一步跟我学易语言之DLL命令

⼀步⼀步跟我学易语⾔之DLL命令Dll命令我们来学习⼀下有关“dll命令”的⼀些相关知识吧。

那么什么叫“dll”呢?要解释什么叫“dll”,我们先从“API”说起吧。

什么叫“API”?所谓API就是⼀种函数,他们包含在⼀个附加名为DLL的动态链接库⽂件中。

⽤标准的定义来讲,API就是Windows的32位应⽤程序编程接⼝,是⼀系列很复杂的函数,消息和结构,它使编程⼈员可以⽤不同类型的编程语⾔编制出运⾏在Windows操作系统上的应⽤程序。

看过了上⾯的解释,⼤家应该对“dll”有初步的了解了吧?对!“dll”就是存放“API”的仓库,把不同的“API”放到不同的仓库⾥⾯,⽅便⼤家使⽤,所谓“dll命令”就是调⽤这些仓库中的“API”。

那么在“易语⾔”是如何使⽤“dll命令”的呢?⾸先在双击“dll命令”;在⼯作区选择新建“dll命令”;创建好之后,我们将要开始定义这个“dll命令”;由于“dll命令”⾮常多,具体要使⽤哪个dll需要查相关资料,我们这⾥就⽤“mouse_event”这个“dll命令”做个例⼦;⾸先第⼀项填⼊这个“dll命令”的名称,就是我们要操作他的名字,这个可以根据您的要求⾃⼰设置,由于这个dll的效果是移动⿏标,我们就叫他移动⿏标吧。

这段英⽂就是对这个dll的解释,其中红⾊部分为这个dll⼀般所使⽤的名称,当然这个您也可以⾃⼰改动,蓝⾊部分为这个dll 命令所在的dll库的名称,这个⼀定不要改动,如果名字变了,您所制定的dll 就⽆法找到这个库了,绿⾊部分为这个dll在库中的名称,这个也不要改动,改动了也将找不到,括号内为这个dll所使⽤的⼏个参数的名称和类型,这个也可根据您⾃⼰的想法改变,但是参数⼀定不能多,也不能少,位置也不能颠倒。

下⾯我们来依次填⼊DLL库⽂件名;对应的命令名;填⼊这个dll的⼏个参数,参数名称也可以起中⽂名。

在定义dll的时候。

⼀般在“)”之后的⼀段英⽂是定义这个dll返回值的类型的,由于这个dll没有返回值,所以这⾥什么也不填;这样就定义好了⼀个“dll命令”;那么我们怎么使⽤这个“dll命令”呢?其实使⽤“dll命令”就和我们以前使⽤“易语⾔”的命令⽅法⼀样,只不过“易语⾔”的命令是内部定义好的,⽽“dll命令”是我们外部⾃⼰定义的。

易语言如何编写dll文件和调用dll文件

易语言如何编写dll文件和调用dll文件

易语⾔如何编写dll⽂件和调⽤dll⽂件
易语⾔编写dll⽂件,在新建中选择编写动态链接库
然后我们看到的就是这样的
这⾥要注意的是,可以直接在启动⼦程序下些命令,勾选公开,⼀样可以调⽤。

但是程序会运⾏两遍。

⽅法,忽略上⾯默认代码,直接新建⼦程序,⼦程序名⾃定,需要返回值的填写返回值类型,⼀定要勾选公开
可以提供参数和变量。

然后静态编译 OK。

这样就编写了⼀个dll。

调⽤dll,假设我们编写的dll名字为123.dll
调⽤的时候,插⼊⼀个新的dll,“DLL命令名”⾃定义,⽆所谓什么。

“库⽂件名”⼀定要填写你编写出来的dll名,如上⾯123.dll “在库中对应命令名”我们填写,⼆图中⼦程序的名字,⼀定不能填错。

如果命令中有参数就定义参数。

===========
在试⽤的过程中,我们就像⽤模块⼀样调⽤命令即可。

⽐如上图:直接打开⽹址()即可,在括号中填写⽂本形式的⽹址。

就这么简单。

===========
最后要注意的是,要想调⽤⾃⼰编写的dll⽂件,⼀定要把dll和程序放在同⼀⽬录下,否则就只能注册dll后再⽤。

注册dll⽤到 regsvr32 /s xxx.dll 命令。

但是因为注册这个动作太敏感,很容易被360误报,所以不提倡。

易语言API以及DLL调用方法详解。

易语言API以及DLL调用方法详解。

对于新手易语言用户来说DLL和API很高深很神秘,你今天看了我这个教程,你就不觉得了!!进入正题:我们首先来编写一个易语言的子程序(这个不懂建议去再去看看例子)本子程序的原理就是:传递一个半径给本子程序然后使用公式算出周长后返回一个整数型的周长!!然后我们来调用这个函数:然后程序给编辑框1赋值圆周,然后显示到编辑框!运行程序就是这样了!!其实编写DLL和调用DLL的方式就于编写子程序相似!我们接下来用编写DLL的方式实现!打开易语言!打开易语言就是这样,跟以往不同的是没有窗口设计框!其实也可以添加窗口!!然后我们来编写DLL接口函数,按下ctrl+n然后创建一个子程序,在返回值类型写下整数型然后回车创建一个参数接口!就像这样参数名可以随便填写但是类型不能!因为半径是数字,所以我们设置为整数型。

然后我们创建一个变量周长来保存运行的结果!!因为我们上面返回值设置为整数型,所以我们需要返回一个整数。

返回的是上面?我们需要求周长,我们就返回周长!是不是跟先编写的子程序一样的?最重要的一点是这里必须勾上,因为勾上了这个,外部程序就能调用了!如果不勾上,这个子程序只能供DLL内部调用!然后我们编译起来!然后我们来调用这个DLL,运行易语言,新建一个程序!然后双击这里,我们需要声明程序函数(非常重要);为什么我们要声明呢?因为易语言中没有这个函数,所以我们要求程序调用外部的这个函数来帮助我们完成。

右键,新建一个DLL命令完成了,我们需要做什么呢?我们需要一个参数传递半径!这就是声明好了的DLL,那个文件名为什么只写一个1.dll呢?因为我这个是刚刚写的那个DLL的文件名,为什么不写完整路径呢?在同一目录下或者SYSTREAM32(系统)目录下的DLL都可以不用写上完整路径!那个参数1的类型就是刚刚那个DLL子程序1参数的类型。

必须注意的是,DLL 函数有返回值,所以声明的时候必须写上对应的数据类型!!然后我们就像调用子程序一样调用DLL,在写好代码以后需要保存,看源码路径和DLL路径是否在同一目录。

易语言常用api大全(dll命令)

易语言常用api大全(dll命令)
.参数 数据1, 整数型, 传址 数组, lpstring1
.参数 数据2, 整数型, 传址 数组, lpstring2
.参数 数据长度, 整数型, , imaxlength
.dll命令 lstrcpyn, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn
.参数 进程句柄, 整数型
.参数 级别, 整数型, , 例如:64 更过自己去搜索下
.dll命令 setpriorityclass, 整数型, "kernel32", "setpriorityclass", 公开, $(b)设置一个进程的优先级别 进程的优先级,零表示失败。会设置getlasterror
.参数 数据1, 文本型, 传, 文本型, 传址 数组, lpstring2
.参数 数据长度, 整数型, , imaxlength
.dll命令 取整数数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn
.dll命令 取特定进程优先级_, 整数型, "kernel32", "getpriorityclass", 公开, getpriorityclass$(b)获取特定进程的优先级别 进程的优先级,零表示失败。会设置getlasterror
.参数 进程句柄, 整数型, , 进程句柄;
.dll命令 getthreadpriority, 整数型, "kernel32", "getthreadpriority", 公开, getthreadpriority

易语言常用api(dll命令)

易语言常用api(dll命令)

版本 2.DLL命令‎生成声音_‎,整数型, "kerne‎l32.dll", "Beep", 公开, , Beep,用于生成简‎单的声音Long,TRUE(非零)表示成功,否则返回零‎。

会设置Ge‎t Last‎E rror‎.参数声音频率, 整数型, , dwFre‎q,声音频率(从37Hz‎到3276‎7Hz)Long,声音频率(从37Hz‎到3276‎7Hz)。

在wind‎o ws95‎中忽略.参数声音持续时‎间, 整数型, , dwDur‎a tion‎,参见相关帮‎助Long‎,声音的持续‎时间,以毫秒为单‎位。

如为-1,表示一直播‎放声音,直到再次调‎用该函数为‎止。

在wind‎o ws95‎中会被忽略‎.DLL命令‎取字节数据‎地址_, 整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn .参数数据1, 字节型, 传址, lpStr‎i ng1.参数数据2, 字节型, 传址, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎取字节数组‎数据地址_‎,整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn .参数数据1, 字节型, 传址数组, lpStr‎i ng1.参数数据2, 字节型, 传址数组, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎取字节集数‎据地址_, 整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn .参数数据1, 字节集, 传址, lpStr‎i ng1.参数数据2, 字节集, 传址, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎取文本数据‎地址_, 整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn .参数数据1, 文本型, 传址, lpStr‎i ng1.参数数据2, 文本型, 传址, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎取文本数组‎数据地址_‎,整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn .参数数据1, 文本型, 传址数组, lpStr‎i ng1.参数数据2, 文本型, 传址数组, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎取整数数据‎地址_, 整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn .参数数据1, 整数型, 传址, lpStr‎i ng1.参数数据2, 整数型, 传址, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎取整数数组‎数据地址_‎,整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn .参数数据1, 整数型, 传址数组, lpStr‎i ng1.参数数据2, 整数型, 传址数组, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎lstrc‎p yn, 整数型, "kerne‎l32.dll", "lstrc‎p yn", 公开, lstrc‎p yn.参数数据1, 文本型, 传址, lpStr‎i ng1.参数数据2, 文本型, 传址, lpStr‎i ng2.参数数据长度, 整数型, , iMaxL‎e ngth‎.DLL命令‎置线程优先‎级_, 整数型, "kerne‎l32", "SetTh‎r eadP‎r iori‎t y", 公开, $(b)设定线程的‎优先级别非零表示成‎功,零表示失败‎。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

版本2.DLL命令生成声音_, 整数型, "kernel32.dll", "Beep", 公开, , Beep,用于生成简单的声音Long,TRUE(非零)表示成功,否则返回零。

会设置GetLastError.参数声音频率, 整数型, , dwFreq,声音频率(从37Hz到32767Hz)Long,声音频率(从37Hz到32767Hz)。

在windows95中忽略.参数声音持续时间, 整数型, , dwDuration,参见相关帮助Long,声音的持续时间,以毫秒为单位。

如为-1,表示一直播放声音,直到再次调用该函数为止。

在windows95中会被忽略.DLL命令取字节数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn .参数数据1, 字节型, 传址, lpString1.参数数据2, 字节型, 传址, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令取字节数组数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn .参数数据1, 字节型, 传址数组, lpString1.参数数据2, 字节型, 传址数组, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令取字节集数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn .参数数据1, 字节集, 传址, lpString1.参数数据2, 字节集, 传址, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令取文本数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn .参数数据1, 文本型, 传址, lpString1.参数数据2, 文本型, 传址, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令取文本数组数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn .参数数据1, 文本型, 传址数组, lpString1.参数数据2, 文本型, 传址数组, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令取整数数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn .参数数据1, 整数型, 传址, lpString1.参数数据2, 整数型, 传址, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令取整数数组数据地址_, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn .参数数据1, 整数型, 传址数组, lpString1.参数数据2, 整数型, 传址数组, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令lstrcpyn, 整数型, "kernel32.dll", "lstrcpyn", 公开, lstrcpyn.参数数据1, 文本型, 传址, lpString1.参数数据2, 文本型, 传址, lpString2.参数数据长度, 整数型, , iMaxLength.DLL命令置线程优先级_, 整数型, "kernel32", "SetThreadPriority", 公开, $(b)设定线程的优先级别非零表示成功,零表示失败。

会设置GetLastError本文档由6shell编程网 网络整理谢谢。

.参数线程句柄, 整数型, , hThread.参数优先权, 整数型, , nPriority 例如:-2 更过自己去搜索下.DLL命令SetThreadPriority, 整数型, "kernel32", "SetThreadPriority", 公开, $(b)设定线程的优先级别非零表示成功,零表示失败。

会设置GetLastError.参数线程句柄, 整数型, , hThread.参数优先权, 整数型, , nPriority 例如:-2 更过自己去搜索下.DLL命令置进程优先级_, 整数型, "kernel32", "SetPriorityClass", 公开, $(b)设置一个进程的优先级别进程的优先级,零表示失败。

会设置GetLastError.参数进程句柄, 整数型.参数级别, 整数型, , 例如:64 更过自己去搜索下.DLL命令SetPriorityClass, 整数型, "kernel32", "SetPriorityClass", 公开, $(b)设置一个进程的优先级别进程的优先级,零表示失败。

会设置GetLastError.参数进程句柄, 整数型.参数级别, 整数型, 数组, 例如:64 更过自己去搜索下.DLL命令取线程优先级_, 整数型, "kernel32", "GetThreadPriority", 公开, GetThreadPriority .参数线程句柄, 整数型, , 线程句柄.DLL命令取特定进程优先级_, 整数型, "kernel32", "GetPriorityClass", 公开, GetPriorityClass$(b)获取特定进程的优先级别进程的优先级,零表示失败。

会设置GetLastError.参数进程句柄, 整数型, , 进程句柄;.DLL命令GetThreadPriority, 整数型, "kernel32", "GetThreadPriority", 公开, GetThreadPriority.参数线程句柄, 整数型, , 线程句柄.DLL命令GetPriorityClass, 整数型, "kernel32", "GetPriorityClass", 公开, GetPriorityClass$(b)获取特定进程的优先级别进程的优先级,零表示失败。

会设置GetLastError .参数进程句柄, 整数型, , 进程句柄;.DLL命令取当前线程伪句柄_, 整数型, "kernel32", "GetCurrentThread", 公开, GetCurrentThread $(b)获取当前线程的一个伪句柄当前线程的伪句柄.DLL命令取当前进程伪句柄_, 整数型, "kernel32", "GetCurrentProcess", 公开, GetCurrentProcess$(b)获取当前进程的一个伪句柄当前进程的伪句柄一般是-1.DLL命令GetCurrentThread, 整数型, "kernel32", "GetCurrentThread", 公开, GetCurrentThread$(b)获取当前线程的一个伪句柄当前线程的伪句柄一般是-2.DLL命令GetCurrentProcess, 整数型, "kernel32", "GetCurrentProcess", 公开, GetCurrentProcess$(b)获取当前进程的一个伪句柄当前进程的伪句柄.DLL命令退出线程_, 整数型, "kernel32", "ExitThread", 公开, ExitThread.参数线程句柄, 整数型.DLL命令ExitThread, 整数型, "kernel32", "ExitThread", 公开, ExitThread.参数线程句柄, 整数型.DLL命令关机对话框_, 整数型, "shell32.dll", "#60", 公开, #60.参数参数, 整数型, , YourGuess.DLL命令复制文件_, 整数型, "kernel32.dll", "CopyFileA", 公开.参数源文件名, 文本型, , lpExistingFileName,被复制的文件名本文档由6shell编程网 网络整理谢谢。

.参数目标文件名, 文本型, , lpNewFileName,目标文件名.参数是否覆盖, 整数型, , bFailIfExists,非0不覆盖,0覆盖.DLL命令删除文件_, 整数型, "Kernel32.dll", "DeleteFileA", 公开, 删除指定文件.参数文件名, 文本型, , lpFileName,欲删除文件的名字.DLL命令最小化窗口_, 整数型, "user32.dll", "CloseWindow", 公开, 非0表示成功,0表示失败.参数窗口句柄, 整数型, , hwnd,欲最小化窗口的窗口句柄.DLL命令取文件属性_, 整数型, "kernel32", "GetFileAttributesA", 公开, 1、#只读文件;2、#隐藏文件;4、#系统文件;16、#子目录;32、#存档文件要判断是否设置了某个属性,在返回值与想要得知的属性值之间使用“位与”命令进行比较。

如果所得的结果不为零,则表示设置了这个属性值。

如果取文件属性失败,将返回-1。

.参数文件名, 文本型.DLL命令取文件扩展名_, 整数型, "shlwapi.dll", "PathFindExtensionA", 公开, 无扩展名返回空得到的返回整数值要进过指针到文本代码才可以取得.参数文件路径, 文本型, , pszPath.DLL命令删除扩展名_, , "shlwapi.dll", "PathRemoveExtensionA", 公开, 比如: C:\Documents and Settings\Administrator\桌面\1.exe 返回C:\Documents and Settings\Administrator\桌面\1.参数文件路径, 文本型, , pszPath 得到的变量保存在文本路径中.DLL命令NtShutdownSystem, 整数型, "ntdll.dll", , 公开.参数se_, 整数型, , 0为关机,1为重起.DLL命令RtlAdjustPrivilege, 整数型, "ntdll.dll", , 公开.参数se_, 整数型.参数true_, 逻辑型.参数hprocess, 整数型.参数ret, 整数型, 传址.DLL命令播放声音文件_, 整数型, "winmm.dll", "PlaySoundA", 公开, 播放声音文件.参数声音文件名, 文本型, , lpszName.参数模块句柄, 整数型, , hModule 一般填写1.参数标志, 整数型, , dwFlags 一般填写0.DLL命令是否为管理员_, 整数型, "advpack.dll", "IsNTAdmin", 公开, ' 返回值非0为管理员.参数参数1, 整数型, , dwReserved,默认0.参数参数2, 整数型, , lpdwReserved,默认0.DLL命令ShellExecute, 整数型, , "ShellExecuteA", 公开, 执行命令.参数窗口句柄, 整数型, , 父窗口句柄,可为0 hwnd 0 指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框.参数操作方式, 文本型, , lpOperation“open” 指定字串“open”来打开lpFlie文档,或指定“Print”来打印它.参数链接地址, 文本型, , lpFile要打开的网页地址或mailo:709760015@ 想用关联程序打印或打开一个程序名或文件名.参数命令行参数, 文本型, , lpParameters“”或"0" 如lpszFlie是可执行文件,则这个字本文档由6shell编程网 网络整理谢谢。

相关文档
最新文档