>[success]**MyPCQQ是個極其開放的框架體**!
>我們歡迎各位開發者一起來完善。
>*-----MyPCQQ Lib 2016.05.01*
# 0x00 開發插件之前
## 什么是插件?
>[info] *插件*是一種遵循一定規范的應用程序接口編寫出來的程序。其只能運行在程序規定的系統平臺下(可能同時支持多個平臺),而不能脫離指定的平臺單獨運行。
> *-----摘自《百度百科》*
綜上所述,插件就是一個使MyPCQQ進行擴展的程序,通過插件,就可以使MyPCQQ實現極其豐富的功能。
好比一只樂隊,MyPCQQ是指揮,插件就是各分部。
## 插件如何工作?
~~~
MyPCQQ框架 ----是否有消息----有否有插件處理---->插件處理(真) 忽略(假)
插件處理 ---- 是否符合一定的執行條件 ---->執行相關代碼(真) 忽略(假)
執行相關代碼 ---->調用相關API ----是否丟給下個插件執行---->拋棄(真) 忽略(假)
~~~
## 編寫MyPCQQ的插件,我需要什么?
MyPCQQ系易語言編寫,所以對于易語言編譯出來的東西的支持能力比較好。若使用易語言編寫插件,您需要一個易語言IDE(集成開發環境)。我們推薦您購買正版的易語言以使編譯結果有更強大的能力。
另外官方為易語言提供了開發模板,這些東西可以在MyPCQQ本體目錄下找到,本文檔會以易語言為相關模板進行說明。
>[info]MyPCQQ作為Windows平臺上的軟件,所以大部分其他編程語言也是可以使用的。
但是需要特別注意的是,易語言使用stdcall(C系語言聲明方式,其他語言可能略有出入)方式以聲明公開函數入口。您需要通過這種方式聲明MyPCQQ所需要函數的入口,這樣才可以使MyPCQQ正確識別并加載插件。
另外一種實現方式就是在MPQ內加載一個DLL,由這個DLL再以各種方式調用其他語言的DLL從而達到兼容的目的。
社區可能會有一些大神開發的其他語言的模板,您也可以尋找來試一試。
如果您希望您的模板出現在開發文檔的推薦內,請您聯系freejishu@mypcqq.cc,并附上一個可以聯系到你的QQ。感謝您對MyPCQQ做出的貢獻。
--------
>[warning]關于開發文檔,還是要說幾句:
開發文檔中存在的非定義性質的東西(比如代碼書寫方法)可能因人而異。如果是初學者,我們希望您可以養成一個良好的代碼習慣。這有利于您編寫的插件更穩定的在框架上運行,對于個人來講習慣意義也是很大的。
由于開發文檔會涉及的東西比較多,所以可能難免錯誤或者不規范的寫法或者說法等。我們歡迎開發者在社區的編程板塊一起探討開發上的問題,共同進步。
--------
>[info]編寫:freejishu
>潤色:a632079 & 斯米拉
>審核:Eghuai
>最后更新:2017.06.18