查看: 7838|回復: 2
打印 上一主題 下一主題

LabWindows/CVI調用DLL實(shí)用例程(菜農HotPower)

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2009-4-2 23:57:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: CVI , HotPower , LabWindows , 菜農 , 例程
/*-------------------------------------------------------------------------------------------------------*/
/*    LabWindows/CVI調用DLL實(shí)用例程(菜農HotPower)                                              */
/*  本例程是在CVI自帶的simple添加調用mydll.dll的函數MyDLLCdeclFunction()                                 */
/*  網(wǎng)上和CVI的例程很少,一般為調用LIB實(shí)例,但很多dll都是以*.dll提供的,故本例程很實(shí)用。                    */
/*  本例程主要是調用了三個(gè)Windows API函數LoadLibrary(),GetProcAddress(),FreeLibrary()                    */
/*  菜農HotPower@126.com  2008.5.27  于西安大雁塔菜地                                                    */
/*-------------------------------------------------------------------------------------------------------*/
/* This is a simple project that will call
* functions from an external DLL */
//#define  __cplusplus
#include
#include //需要的API函數實(shí)際在winbase.h中定義
#include     /* Needed if linking in external compiler; harmless otherwise */
#include
#include
#include "mydll.h"
/*-------------------------------------------------------------------------------------------------------*/
typedef long int DLLEXPORT (*DLLCdeclFunction)(char *);//定義函數指針
/*-------------------------------------------------------------------------------------------------------*/
int status;
char message[80];
int main (int argc, char *argv[])
{
/*-------------------------------------------------------------------------------------------------------*/
    HMODULE hinstLib;
    DLLCdeclFunction DLLFunction;
    BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
/*-------------------------------------------------------------------------------------------------------*/
    if (InitCVIRTE (0, argv, 0) == 0)    /* Needed if linking in external compiler; harmless otherwise */
        return -1;    /* out of memory */
    /* Tell the dll to run it's user interface */
    RunDllUI();

/*-------------------------------------------------------------------------------------------------------*/
   // Get a handle to the DLL module.
    hinstLib = LoadLibrary("mydll.dll");//裝載動(dòng)態(tài)鏈接庫mydll.dll
   // If the handle is valid, try to get the function address.
    if (hinstLib != NULL)//成功裝載動(dòng)態(tài)鏈接庫mydll.dll  
    {
       DLLFunction = (DLLCdeclFunction)GetProcAddress(hinstLib, (LPCSTR)"MyDLLCdeclFunction");//取函數指針地址
             // If the function address is valid, call the function.
       if (fRunTimeLinkSuccess = (DLLFunction != NULL))//dll中有函數MyDLLCdeclFunction()
    {
            Fmt(message, "message via DLL function\n");
            status = (long int)DLLFunction (message);//調用dll函數!!!
    }
             // Free the DLL module
       fFreeResult = FreeLibrary(hinstLib);//卸載動(dòng)態(tài)鏈接庫mydll.dll
    }
    // If unable to call the DLL function, use an alternative
    if (! fRunTimeLinkSuccess)
{
       Fmt(message, "message via alternative method\n");
    MessagePopup ("CVI MessagePopup ", message);     
}
/*-------------------------------------------------------------------------------------------------------*/
點(diǎn)擊下載工程源碼: cvidlldemo.rar
沙發(fā)
發(fā)表于 2009-6-28 23:10:50 | 只看該作者
還在用LabWindows/CVI啊,換Labview,不用編代碼了
板凳
發(fā)表于 2010-5-25 22:20:52 | 只看該作者
頂一下
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页