//Threadtest.h
#pragma once
#include <Windows.h>
typedef void (*lpAdFun)(const char*); //宏定义函数指针类型
class Threadtest
{
public:
Threadtest(void );
~Threadtest(void );
public:
static DWORD WINAPI ThreadFun(LPVOID lpSelf);
private:
HANDLE m_handle;
};
Threadtest.cpp
#include "Threadtest.h"
#include <QLibrary>
Threadtest::Thread(void )
{
m_handle = CreateThread(NULL,0,ThreadFun,this,0,NULL);
}
Threadtest::~Threadtest()
{
}
DWORD WINAPI Threadtest::ThreadFun(LPVOID lpSqlf)
{
Threadtest * pmanager = (Threadtest* ) lpSelf;
QLibrary *loadDll = NULL;
lpAddFun m_addFun;
QString strDllPath = "./SysDll/FbEff.dll";
loadDll = new QLibrary(strDllPath);
loadDll->load();
QString strExportPath = "E:/jiangjie";
std::string strTemp = strExportPath.toStdString();
const char* cIn = strTemp.c_str();
if(loadDll->isLoaded())
{
m_addFun = (lpAddFun)loadDll->resolve("FbEffDll");
}
if(m_addFun)
{
m_addFun(cIn)
}
delete loadDll;
m_addFun = NULL;
CloseHnadle(m_handle);
return 0;
}