纯易语言API编程

合集下载

易语言创建任务计划

易语言创建任务计划

易语言创建任务计划任务计划是计算机系统中一项重要的功能,可以定时执行某些指定的操作。

在易语言中,我们可以使用Windows API来创建任务计划。

具体步骤如下:1. 导入Windows API模块在易语言中,我们需要使用Windows API模块来创建任务计划。

打开易语言程序,在菜单栏中选择“模块”-“导入模块”,然后选择“kernel32.dll”,点击“确定”按钮即可导入。

2. 定义任务计划的执行时间在编写代码前,我们需要先定义任务计划的执行时间。

这里我们可以使用系统时间函数来获取当前时间,并设置任务计划的执行时间。

例如:```Dim StartTime As SYSTEMTIMEDim ExecuteTime As SYSTEMTIMEGetSystemTime(StartTime)ExecuteTime = StartTimeExecuteTime.wHour = 12ExecuteTime.wMinute = 0ExecuteTime.wSecond = 0```这里定义了一个执行时间为每天中午12点的任务计划。

3. 创建任务计划使用Windows API函数“CreateScheduledTask”可以创建任务计划。

在创建任务计划前,我们需要先定义一个“TASK_TRIGGER”结构体,来指定任务计划的触发器。

例如:```Dim Trigger As TASK_TRIGGERTrigger.cbTriggerSize = SizeOf(TASK_TRIGGER)Trigger.wBeginYear = 0Trigger.wBeginMonth = 0Trigger.wBeginDay = 0Trigger.wEndYear = 0Trigger.wEndMonth = 0Trigger.wEndDay = 0Trigger.wStartHour = ExecuteTime.wHourTrigger.wStartMinute = ExecuteTime.wMinuteTrigger.TriggerType = TASK_TIME_TRIGGER_ONCETrigger.Reserved1 = 0Trigger.Reserved2 = 0```这里定义了一个“TASK_TIME_TRIGGER_ONCE”类型的任务计划触发器,表示任务计划只执行一次。

易语言调用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等信息。

易语言常常利用API命令

易语言常常利用API命令

易语言常常利用api大全(dll命令).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)设定线程的优先级别非零表示成功,零表示失败。

易语言的API函数大全

易语言的API函数大全

易语言的API函数大全编程————易语2010-05-1922:19:18阅读1106评论0字号:大中小订阅1.API之网络函数WNetAddConnection创建同一个网络资源的永久性连接WNetAddConnection2创建同一个网络资源的连接WNetAddConnection3创建同一个网络资源的连接WNetCancelConnection结束一个网络连接WNetCancelConnection2结束一个网络连接WNetCloseEnum结束一次枚举操作WNetConnectionDialog启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource枚举网络资源WNetGetConnection获取本地或已连接的一个资源的网络名称WNetGetLastError获取网络错误的扩展错误信息WNetGetUniversalName获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser获取一个网络资源用以连接的名字WNetOpenEnum启动对网络资源进行枚举的过程2.API之消息函数BroadcastSystemMessage将一条系统消息广播给系统中所有的顶级窗口GetMessagePos取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime取得消息队列中上一条消息处理完毕时的时间PostMessage将一条消息投递到指定窗口的消息队列PostThreadMessage将一条消息投递给应用程序RegisterWindowMessage获取分配给一个字串标识符的消息编号ReplyMessage答复一个消息SendMessage调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback将一条消息发给窗口SendMessageTimeout向窗口发送一条消息SendNotifyMessage向窗口发送一条消息3.API之文件处理函数CloseHandle关闭一个内核对象。

详解易语言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函数大全

易语言的API函数大全

易语言的API函数大全编程————易语 2010-05-19 22:19:18 阅读1106 评论0字号:大中小订阅1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字WNetOpenEnum 启动对网络资源进行枚举的过程2. API之消息函数BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口SendMessageTimeout 向窗口发送一条消息SendNotifyMessage 向窗口发送一条消息3. API之文件处理函数CloseHandle 关闭一个内核对象。

易语言调用api实现文件拖放获取路径的代码

易语言调用api实现文件拖放获取路径的代码

易语⾔调⽤api实现⽂件拖放获取路径的代码拖放⽂件⽀持任意版本Windows系统此功能需要加载精易模块5.6.版本 2.⽀持库 spec.程序集窗⼝程序集_启动窗⼝.程序集变量⽂件拖放类, ⽂件拖放.⼦程序 __启动窗⼝_创建完毕.局部变量拖放处理, ⼦程序指针⽂件拖放类.注册拖放 (_启动窗⼝.取窗⼝句柄 (), &拖放处理)proc_FilterMsg ().⼦程序拖放处理.参数总⽂件数量, 整数型.参数当前是第⼏个⽂件, 整数型.参数当前的⽂件名, ⽂本型.参数当前的⽂件类型, ⽂本型调试输出 (总⽂件数量, 当前是第⼏个⽂件, 当前的⽂件名, 当前的⽂件类型).⼦程序 __启动窗⼝_将被销毁⽂件拖放类.卸载拖放 (_启动窗⼝.取窗⼝句柄 ()).⼦程序 proc_FilterMsg, , , 过滤消息,解决win10下以管理员⾝份运⾏不⽀持拖放的问题.局部变量 vDllHwnd, 整数型.局部变量 vthis, 整数型vDllHwnd = LoadLibraryA (⽬录_取Windows⽬录 () + “SysWOW64\user32.dll”).如果真 (vDllHwnd = 0)返回 ().如果真结束vthis = GetProcAddress (vDllHwnd, “ChangeWindowMessageFilter”)Call (vthis, 563, 1)Call (vthis, 74, 1)Call (vthis, 73, 1)FreeLibrary (vDllHwnd).⼦程序 Call, 整数型.参数⼦程序地址.参数参数1, , 可空.参数参数2, , 可空.参数参数3, , 可空.参数参数4, , 可空.参数参数5, , 可空.参数参数6, , 可空.参数参数7, , 可空.参数参数8, , 可空.参数参数9, , 可空.参数参数10, , 可空.参数参数11, , 可空.参数参数12, , 可空.参数参数13, , 可空.参数参数14, , 可空.参数参数15, , 可空置⼊代码 ({ 86, 190, 15, 0, 0, 0, 141, 77, 8, 141, 76, 241, 252, 139, 65, 4, 133, 192, 116, 2, 255, 49, 78, 131, 233, 8, 133, 246, 117, 239, 255, 85, 8, 94, 201, 194, 124, 0 })返回 (0)运⾏结果:总结以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。

易语言:通俗API使用教程

易语言:通俗API使用教程

易语言:通俗API使用教程看到易论坛上有很多新手朋友对API都不懂怎么使用,做为一个Windows 编程爱好者,如果不会用Windows系统提供给我们的编程接口,那将是一件非常遗憾的事,鉴于此,本文作者以自身体会为基础,结合易语言实例,深入浅出的讲解API在易语言中的使用,希望对新手朋友有所帮助.什么叫API?API全称为Application Programming Intererface,直译的话可叫它“应用程序接口”。

它是Windows开放给程序员的编程接口,使得在用户级别下可以对操作系统进行控制,也就是一般的应用程序都需要调用API来完成某些功能,API说到底就是一系列的函数,我们可以把它理解为程序的子程序或子过程,只不过它是系统本身提供给用户在进行高级编程中供其程序使用。

API能做什么?它起什么作用?我们编写的程序通过调用它来达到操作系统的目地,它是系统提供给我们的编程接口,一个很经典的例子就是我们要通过调用API函数ExitWindowsEx来关闭系统,它还为各编程语言间的融会贯通架起了桥梁.我怎样才知道我要的功能可以用某个API实现?当你要实现的功能与系统的功能有关时都尽量假设可以用API办到,首先你要知道一些常用的API的功能,下面有提供一个API的文档,你可以浏览地看一下,以后程序要实现某功能你可以在里面找,另外,互联网上是一个无限的知识库,你可以问百度(),问Google,另外微软还提供了一个知识库叫"MSDN",你也可以查看,具体你可以在网上搜下看.在易中我该怎么使用API?要全面了解和使用API,我们先应该了解下动态链接库(DLL)的调用机制,因为API其实就是封装在DLL里面的一系列的函数;了解DLL调用机制的最好办法是就是我们自己写个DLL然后我们再在自己的程序中调用,说做就做,不知道你有没有用过易写过DLL,没有也没关系,我们来练习一下:打开易语言,新建一"动态链接库",我们单击右键新建一个子程序,起名叫"MyAPI"改好名字后,在名字编辑框里"回车"3下,这样就添加了3个空白参数,参数名和类型等可以按自己的实际需要填写,最后说明一下,如果你要外面的程序可以调用,一定要把"公开"勾上,下面是我的示例代码:==============================.版本 2.子程序 MyAPI, 整数型, 公开.参数提示信息, 文本型.参数按钮类型, 整数型.参数窗口标题, 文本型返回 (信息框 (提示信息, 按钮类型, 窗口标题))====================================== 这样,带参数调用这个子程序后,程序就会根据传过来的参数调用易带的信息框命令,并返回结果给调用方OK,我们把它编译出来存为"Mydll.dll",我们再新建一个窗口程序,先保存在"Mydll.dll"的同目录,然后点击左栏的"DLL命令"在右栏的空白处单击右键,选择第一项"新DLL命令"来新建一个DLL命令,在这个新DLL命令的"DLL命令名"里写入一个便于理解的名字,这里就叫"我的信息框",在"返回值类型"里写入我们在DLL里定以的类型"整数型",在"DLL库文件名"里写入我们的DLL名字"Mydll.dll"在"DLL库中对应命令名"中写入我们在DLL中公开的子程序名"MyAPI",然后"回车"3下,添加3个参数,名称不一定要相同,但类型一定要和我们在DLL里的子程序"MyAPI"一一对应,如下面的代码:.DLL命令我的信息框, 整数型, "Mydll.dll", "MyAPI".参数提示信息, 文本型.参数按钮类型, 整数型.参数窗口标题, 文本型好,我们回到窗口界面,双击窗口,来到"_启动窗口_创建完毕"事件,在其下面写入如下代码:.如果真 (我的信息框(“调用DLL成功!要退出程序吗?”, #是否钮, “信息”) = #是钮)结束 ().如果真结束写好后,F5运行,是不是出现了一个信息框啊!点"是"后还会退出程序!恩,搞懂了这些,理解API也就不难了! API实际上就是一些在DLL 中公开的子程序,我们只要事先知道这些子程序的名子及它的参数和它所在的DLL名称,象上面一样我们先在"DLL命令"那里声明后,就可以在易程序中像调用子程序那样调用了,我们一般查到的API资料都是些VB 声明,就像下面的GetWindowText函数:====================================== ==================GetWindowTextVB声明Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cchAs Long) As Long说明取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性)返回值Long,复制到lpString的字串长度;不包括空中止字符。

(完整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 是什么类型。

易语言调用百度文字识别api方法

易语言调用百度文字识别api方法

易语⾔调⽤百度⽂字识别api⽅法现在百度ai特别强⼤,很多⼤公司都是调⽤百度的数据,那么对于习惯易语⾔的我们改怎么操作呢?今天以百度ai⽂字识别为例。

⾸先打开百度ai平台注册或登录百度账号,进⼊控制台,选择⽂字识别新建应⽤,获取appid和app key选择技术⽂档,api⽂档参考第⼀个调⽤⽅式,通过url调⽤要获取token请参考相关链接然后根据参数说明填写相关代码,最后结果如下:.版本 2.⽀持库 spec.程序集窗⼝程序集_启动窗⼝.⼦程序 __启动窗⼝_创建完毕.⼦程序 _按钮1_被单击.局部变量提交地址, ⽂本型.局部变量提交内容, ⽂本型.局部变量 client_id, ⽂本型.局部变量 client_secret, ⽂本型.局部变量返回结果, ⽂本型.局部变量 token, ⽂本型.局部变量图⽚, 字节集.局部变量 data, ⽂本型.局部变量 url, ⽂本型.局部变量总条数, 整数型.局部变量 i, 整数型.局部变量临时⽂本, 整数型.局部变量数组, ⽂本型提交地址= “https:///oauth/2.0/token”client_id = “BWpHOl4WSBgTL3QAYzByIkDE”client_secret = “8U4xwBL0PlgoiZYghsWV7xp79IClIPII”提交内容= “grant_type=client_credentials&client_id=” + client_id + “&client_secret=” + client_secret 返回结果=⽹页_访问S (提交地址, 1, 提交内容)token =到⽂本 (⽂本_取出中间⽂本 (返回结果, #常量1, #常量2, ))调试输出 (token)图⽚=读⼊⽂件 (取运⾏⽬录 () + “\测试图⽚.png”)图⽚框1.图⽚=图⽚data =编码_BASE64编码 (图⽚)url = “image=” +编码_URL编码 (data, 真, 真)提交地址= “https:///rest/2.0/ocr/v1/general?access_token=” + token返回结果=⽹页_访问S (提交地址, 1, url, )返回结果=编码_URL解码 (返回结果, 真)总条数=到整数 (⽂本_取出中间⽂本 (返回结果, #常量3, #常量4))调试输出 (总条数).计次循环⾸ (总条数, i)临时⽂本=⽂本_取中间_批量 (返回结果, #常量5, #常量6, 数组)编辑框2.加⼊⽂本 (数组 [i] + #换⾏符) .计次循环尾 ()调⽤完成。

易语言获取读写权限模块

易语言获取读写权限模块

易语言获取读写权限模块1. 介绍在编程中,有时候我们需要对文件或者系统进行读写操作,但是默认情况下,我们并没有足够的权限来进行这些操作。

为了解决这个问题,我们可以使用易语言编写一个获取读写权限的模块。

本文将详细介绍如何使用易语言获取读写权限,并提供一些实用的例子和技巧。

2. 获取文件读写权限2.1 使用API函数在易语言中,我们可以使用API函数来获取文件的读写权限。

下面是一个简单的示例代码:// 引用API函数$include <windows.h>// 获取文件读写权限function GetFileReadWritePermission(file_path)// 打开文件var handle = CreateFileA(file_path, GENERIC_READ | GENERIC_WRITE, FILE_SHA RE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)if handle != 0// 关闭文件CloseHandle(handle)return trueelsereturn falseendifendfunc2.2 使用系统命令除了使用API函数,我们还可以使用系统命令来获取文件的读写权限。

下面是一个使用系统命令的示例代码:// 获取文件读写权限function GetFileReadWritePermission(file_path)// 执行系统命令var result = ShellExecute(0, "open", "cmd.exe", "/c echo off & (echo.) >> " + file_path, 0, SW_HIDE)if result > 32return trueelsereturn falseendifendfunc3. 获取系统读写权限3.1 使用API函数除了获取文件的读写权限,有时候我们还需要获取系统的读写权限。

易语言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函数大全

易语言的API函数大全

易语言的API函数大全编程————易语 2010-05-19 22:19:18 阅读1106 评论0字号:大中小订阅1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字WNetOpenEnum 启动对网络资源进行枚举的过程2. API之消息函数BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口SendMessageTimeout 向窗口发送一条消息SendNotifyMessage 向窗口发送一条消息3. API之文件处理函数CloseHandle 关闭一个内核对象。

易语言API助手使用方法

易语言API助手使用方法

易语⾔API助⼿使⽤⽅法
易语⾔API助⼿它的唯⼀功能就是⽅便查询API函数命令,能够⾃动在程序中加⼊指定dll命令声明的向导程序。

1、先了解⼀下API,Application Programming Interface,应⽤程序编程接⼝,编程⼈员通过这个接⼝,可以调⽤系统某些软件或者硬件的功能!
2、易语⾔的API助⼿对API进⾏了分类,可以以英⽂或中⽂的形式查看,同时提供了中英⽂索引查找和⼀些例程!
3、我们可以通过易语⾔的⼯具---执⾏易向导,来导⼊需要的API助⼿中的函数!
4、选中API助⼿,然后就会⾃动打开API助⼿,选择⾃⼰的需要的API,并在⽬录中双击,选择代码的形式,勾选选中的函数,点击导放即可!
5、这样就可以直接在易语⾔导⼊了由API助⼿选中的函数,⽤于相当的⽅便!。

易语言WindowsAPI

易语言WindowsAPI

易语言WindowsAPI上一期我们讲了勾子基本概念和一些简单的应用这一期我们就来学习用用钩子技术和内存文件映射共享技术来实现远程线程插入现在网上关于这项编程技术的介绍满天飞,因为要想写出一个好的后门,该后门至少要达到高隐蔽.防查杀,无端口,自启动等要求,而将木马以DLL的形式嵌入到系统进程中,基本上可以满足要求,而这种远程线程注入技术也成为现代后门和木马程序的一项标准技术指标.如果大家要想更为清晰地掌握该项编程技术,强烈推荐细读jeffery Richter的<>.该书个人觉得是每个学习Windows黑客编程技术爱好者的圣经.不过,由于易语言出来的时间不长,网上用易语言具体实现这项编程技术的资料廖廖无几今天,我们就来用易语言来实现远程线程插入:大家知道,传统的远程线程插入是通过以下几个API来完成的;·OpenProcess - 用于打开要寄生的目标进程。

·VirtualAllocEx/VirtualF reeEx - 用于在目标进程中分配/释放内存空间。

·WriteProcessMemory - 用于在目标进程中写入要加载的DLL名称。

·CreateRemoteThread - 远程加载DLL的核心内容,用于控制目标进程调用API函数。

·LoadLibrary - 目标进程通过调用此函数来加载病毒DLL。

这种方法虽然好,但有个缺点:只能在NT核心的系统上有效,在98中无效并且由于易DLL的特殊性,上面的方法并不奏效,虽然可以用写入汇编码来解决问题但也较不方便,钩子的出现为我们解决了这个难题通过钩子实现远程线程插入的思路如下:通过安装windows 消息钩子WH_GETMESSAGE,把待插线程代码所在的DLL注入到其他进程里在钩子回调函数中,判断当前进程ID是否是要插入的进程ID,如果是则创建一个新线程这个新线程函数就是我们要执行的代码所在的函数,到这里也就达到了我们的目地.现在就产生了一个新问题,由于我们的要执行的代码是放在一个DLL里面的,创建新线程就需要加载这个DLL,就需要知道DLL路径,还有判断当前进程ID是否是要插入的进程ID,首先也要知道要插入的进程ID是多少等等这些信息,这就涉及到进程通讯,我们可以用文件映射技术来进行进程通讯.文件映射主要是通过以下几个API来完成的:*CreateFileMapping //创建文件映射对象,成功返回文件映射对象句柄Dll命令名:CreateFileMapping所处动态链接库的文件名:kernel32在所处动态链接库中的命令名:CreateFileMappingA返回值类型:整数型参数<1>的名称为“文件映射句柄”,类型为“整数型”。

易语言API高级技巧教学

易语言API高级技巧教学

易语⾔API⾼级技巧教学⾸先声明,本⽂的读者该卖是:具有相当的易⾔语基础的、能较熟练地把常⽤的的API从VB/C声明转换到易⾔语DLL命令的易⾔语喜欢者。

1,使⽤指针易⾔语中出于安定、⽅便考虑,没有直接提供指针,这正在进⾏⼀些⾼级纵时不是很⽅便,固然有⼀些第三⽅⽀撑库可以取出变量指针(⽐如我的eLib++ 注:该⽀撑库系Delphi开发,本⼈已开放源代,你可以到易⾔语下载区瞧瞧)但是仅仅为了这个纵就带上⼀个⽀撑库不太值得。

实在⽤⼀个API,加上⼀些技术就可以欺骗Windows和易⾔语,让它们报告你⼀个变量的指针。

这个API是lstrcpyn。

⽤过C开发Windows下的步骤的朋友可能对这个API相⽐熟识,就是字符串拷贝。

正在windows下取代C 准则库函数strncpy的。

字符串拷贝怎样能获得变量指针呢?秘密就正在这个API的返回值:瞧瞧MSDN:“If the function succeeds, the return value is a pointer to the buffer”该函数把第⼆个参数指定的字符串双制到第⼀个参数指定的字符串,第三个参数指定双制的长度。

假如双制成功,返回第⼀个参数(缓冲区buffer)的地点。

瞧到了吗?它返回第⼀个参数的地点!!那么我们把需求取地点的变量给它的第⼀个参数,然后想要领让它双制成功,它不就返回了那个变量的地点了吗?界说⼀个DLL命令如下:Dll命令:取⽂本指针返回值类型:整数型正在Dll库中的命令名:lstrcpyn参数:欲取其指针的⽂本数据类型:⽂本型 <传址>参数:欲取其指针的⽂本数据类型:⽂本型 <传址>参数:保存数据类型:整数型备注:0这样挪⽤:⽂本1 = “abcdefg”指针1 =取⽂本指针 (⽂本1, ⽂本1, 0)把⽂本1双制到⾃⼰,双制长度为0字节(也就是什么都不双制),然后返回⽂本1的指针。

就这么简略。

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