這里簡單介紹一下實(shí)現(xiàn)過程,不難,主要用到ctypes這個(gè)模塊,實(shí)驗(yàn)環(huán)境win10+python3.6+pycharm5.0,主要內(nèi)容如下:
1.為了更好地說明問題,這里我用vs2017編譯了一個(gè)dll文件,源碼如下,基于C的,一個(gè)簡單的相加函數(shù):
編譯成功后,會在當(dāng)前的Debug文件下生成一個(gè)DllTest.dll文件,我們的測試就是圍繞這個(gè)dll文件展開:
2.新建一個(gè)文件夾,將這個(gè)dll復(fù)制進(jìn)去,新建一個(gè)py文件,測試代碼如下,很簡單,這里主要使用的是CDLL類,指明dll文件路徑就行:
程序運(yùn)行截圖如下,已經(jīng)成功打印返回值:
3.這里也可以使用WinDLL調(diào)用dll文件,以Windows系統(tǒng)下的C:\Windows\System32\user32.dll文件為例,測試代碼如下,與上面的類似,只不過使用的是WinDLL:
程序運(yùn)行截圖如下,已經(jīng)成功調(diào)用:
至此,我們就完成了利用python調(diào)用windows下的dll??偟膩碚f,整個(gè)過程不難,代碼量也不是很多,CDLL和WinDLL這2種方式都可以完成dll文件的調(diào)用,只要你有一定的python基礎(chǔ),熟悉一下相關(guān)代碼和示例,很快就能掌握的,網(wǎng)上也有相關(guān)教程和資料,感興趣的可以搜一下,希望以上分享的內(nèi)容能對你有所幫助吧,也歡迎大家評論、留言。