【RPA幹貨來襲】 使用 C/C++ 擴展 UiBot 的功能
1、 安裝Visual Studio 2010或更高版本的Visual Studio,不支持更低版本的Visual Studio或其他編程工具/IDE/編譯器。
2、下載UiBot的C/C++語言插件模板。
3、 用Visual Studio打開插件模板中的LuaPlugin.sln文件。
4、 如果使用高版本的Visual Studio,會提示對模版項目進行升級。直接按照提示進行升級即可。
5、打開Visual Studio的Solution Explorer(中文版一般叫做“解決方案資源管理器”),找到項目名稱LuaPlugin,按鼠標右鍵,選擇Rename(中文版一般叫做“重命名”),將其改為你自己為插件起的名稱,名稱支持英文大小寫字母、數字和下劃線。如下圖所示,其中左圖為Visual Studio 2010英文版,右圖為Visual Studio 2015中文版。
在插件的命名中,建議英文字母全部采用大寫。這樣的話,在腳本中使用插件時,無論是大寫還是小寫,都能正確識別到。因為編譯器會用全大寫的形式去嘗試一次。
6、在Solution Explorer(中文版一般叫做“解決方案資源管理器”),可以看到本項目有三個文件:dllmain.cpp、entry.cpp和luaclib.cpp,我們只需要關註luaclib.cpp,其他兩個文件一般不用修改。
7、註意:我們已經在項目中包含了Lua語言相關的頭文件定義,不需要額外定義,更不需要把Lua語言的源碼引入到這個項目中來。
8、在luaclib.cpp中,我們已經定義了兩個插件函數add和strcat,其功能分別是兩個整數相加,以及兩個字符串連接。這兩個函數僅僅作為例子,不具有實際意義,在充分閱讀其源碼後,可以將這兩個函數刪掉。
10、編寫你自己的插件函數,函數名可以隨意取,但函數類型必須是:
static int (lua_State *L)
11、 你自己的插件函數必須在文件最後的名稱為module_name的struct中註冊,才可以使用。仿照add和strcat函數進行註冊即可。其中每一行有兩項內容,第一項是字符串,代表這個插件函數在UiBot中的名字,第二項是插件函數本身的名字。
12、在你自己的插件函數中,請參考示例和Lua的擴展接口文檔,明確參數傳遞規則,以及返回值的規則。
luaL_error(L, msg);
其中,msg是一個字符串,代表你要在異常中附加的信息。
14、在UiBot的腳本中,有數組(Array)和字典(Dictionary)兩種數據類型。如果需要在插件中返回一個數組,請按照以下語句書寫:
luaL_dostring(L, “return BasicLib.NewTable(1)”);
上述語句會在Lua的棧裏面放置一個Table,你可以使用Lua的相關函數來處理這個Table,比如為其增加元素,等等。但這個Table會在UiBot中被識別為一個數組。
類似的,以下語句可以在棧裏放置一個Table,但這個Table在UiBot中被識別為一個字典:
luaL_dostring(L, “return BasicLib.NewTable(2)”);
15、插件編寫完成後,對其進行編譯,會生成一個名為 插件名稱.so的文件。把這個文件復制到UiBot的extend\lua_mod目錄中即可。
16、 在UiBot中如下書寫,即可調用插件中的add函數(假設插件名稱為MyPlugin):
Import MyPlugin
Dim result = MyPlugin.add(100, 200)
現在下載
還有機會參與到我們的活動當中!
還等什麽?趕快來體驗!
活動期間(1月16日至2月5日)下載註冊登錄UiBot不僅有機會可以和產品大牛、技術大神親密接觸,還有更多高級培訓課程、個人版年卡等豐厚獎品等你來拿。
我們每一次努力
只為讓用戶獲得更好的體驗!
【RPA幹貨來襲】 使用 C/C++ 擴展 UiBot 的功能