|
int main() {
//简单的函数估计是可以的
//有些依赖了核心库的的话 比如靠核心库分配内存这样的操作 估计是不行的
//请自行导入C++开发库SDK "lib2.h"
HMODULE hModule = LoadLibraryA("自行替换成易语言安装路径\\e\\lib\\krnln.fne");
PFN_GET_LIB_INFO addr_libInfo = (PFN_GET_LIB_INFO)GetProcAddress(hModule, FUNCNAME_GET_LIB_INFO);
PLIB_INFO libInfo = addr_libInfo();
PCMD_INFO cmd = libInfo->m_pBeginCmdInfo;
int num = libInfo->m_nCmdCount;
for (size_t i = 0; i < num; i++, ++cmd, ++libInfo->m_pCmdsFunc)
{
bool bSuc = strcmp(cmd->m_szName, "信息框");
if (!bSuc)
{
MDATA_INF pRetData; INT nArgCount; MDATA_INF pArgInf[3] = { 0 };
char c[] = "Hello"; LPSTR t= "World";
pArgInf[0].m_pText = c;
pArgInf[0].m_dtDataType = SDT_TEXT;
pArgInf[1].m_int = 2|48;
pArgInf[2].m_pText = t;
pArgInf[2].m_dtDataType = SDT_TEXT;
(*libInfo->m_pCmdsFunc)(&pRetData, 3, pArgInf);
printf_s("信息框调用-返回值:%d", pRetData.m_int);
}
}
FreeLibrary(hModule);
}
这里举个例子是CALL核心库的信息框函数,这个函数差不多就是个MessageBox的封装。基本是没啥问题直接CALL的。
但部分库函数依赖于核心库的部分功能,可能CALL是没法CALL的。因此这个写出来可能也没啥卵用,只是闲着玩一下。
顺便一提,为啥是可能,因为我也不确定啊~
|
|