在C++中怎么动态调用第三方dll中的函数

在C++中如何动态调用第三方dll中的函数啊
一个第三方的dll,没有lib,有一个函数test,接受三个参数
第一个 字符串a                 作为返回
第二个0
第三个 字符串c,是一个文件的全路径

这个函数的作用就是读取这个文件,处理后传给a返回

我大概知道  LoadLibrary 加载dll,
GetProcAddress 获取 函数test的地址

现在关键是不指导如何传参数给它。。。

求大神给个参考代码啊,谢谢了。
------解决思路----------------------

#include <windows.h>
#include <iostream>
using namespace std;

void main()
{
    typedef int(*FUNA)(int,int);
    HMODULE hMod = LoadLibrary("cdll.dll");//dll路径
    if (hMod)
    {
        FUNA addfun = (FUNA)GetProcAddress(hMod, TEXT("addfun"));//直接使用原工程函数名 
        if (addfun != NULL)
        {
            cout<<addfun(5, 4)<<endl;//传参数 
        }
        else
        {
            cout<<"ERROR on GetProcAddress"<<endl;
        }
        FreeLibrary(hMod);
    }
    else
        cout<<"ERROR on LoadLibrary"<<endl;
}

------解决思路----------------------
如果第三方向库, 又不知道函数原型定义.
如果不是C导出函数, 函数名就会暴露出参数以及返回值了.
如果是C函数, 就只能看反汇编, 看用了几个并且是哪些类型的参数, 返回值是什么.  (IDA可以帮你)
------解决思路----------------------
TCHAR szBuffer[1024] = {0};
TCHAR szPath[MAX_PATH] = _T(".....");
test(szBuffer, 0, szPath);试一下
------解决思路----------------------
引用:
谢谢楼上的快速回复,好事做到底啊,我懂一些vb.net
C++ c#什么的不懂啊,
这个dll奇怪,vb.net里面LoadLibrary都不成功

能不能请你帮改一下啊,
我这个dll的函数是传入三个参数,第一个是字符串,第二个0,第三个是也是字符串,对应一个文件的全路径,

typedef int(*FUNA)(char*,int,char*);
------解决思路----------------------
LoadLibrary不成功,你要查看一下具体的错误信息,是不是dll本身还有一些系统依赖的呢个

------解决思路----------------------
VB:
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" _
(ByVal lpLibFileName As String) As Long

Public Declare Function FreeLibrary Lib "kernel32" _
(ByVal hLibModule As Long) As Long

Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As _
Long, ByVal lpProcName As String) As Long

------解决思路----------------------
建议楼主先读下这个系列的博文:http://blog.****.net/todototry/article/details/1640150