正在加载插件(DLL)
发布时间:2020-12-13 19:20:37 所属栏目:Windows 来源:网络整理
导读:有没有办法在D动态加载和调用DLL中的函数?我希望我的程序能够在启动时加载插件,也可以在运行中加载插件. 这取决于你想要获得的动态.如果你想动态加载一个dll并运行一些预定义的函数,那么有一个很好的包装器,由Wei Li here.由于模板的强大,它可以让你做这些
有没有办法在D动态加载和调用DLL中的函数?我希望我的程序能够在启动时加载插件,也可以在运行中加载插件.
这取决于你想要获得的动态.如果你想动态加载一个dll并运行一些预定义的函数,那么有一个很好的包装器,由Wei Li
here.由于模板的强大,它可以让你做这些事情:
// define functions alias Symbol!("MessageBoxW",int function(HWND,LPCWSTR,UINT)) mbw; alias Symbol!("MessageBoxA",LPCSTR,UINT)) mba; // load dll auto dll = new Module!("User32.dll",mbw,mba); // call functions dll.MessageBoxW(null,"Hello! DLL! ","Hello from MessageBoxW",MB_OK); dll.MessageBoxA(null,"Hello from MessageBoxA",MB_OK); 代码为D1.对于D2,您必须用字符串替换char [],使用toStringz()并可能删除范围.编辑:这个代码的my D2 port可能对其他人发现这个问题有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2008-r2 – IIS抱怨端口正在被使用
- 17 win7 sp1 x64/VS2015下配置creo4.0二次开发环境——调用
- windows – 如何找出连接到互联网的NIC?
- active-directory – 将Office 365用户拉到Active Director
- windows – Ctrl Alt F8断开显示?
- .net – 复制本地和系统dll’ – 重点是什么?
- 批处理文件 – 单引号在Windows批处理文件中做什么?
- 调用非托管DLL时vshost32.exe崩溃
- 如何知道Windows中的网络是否启用了IP多播?
- 在Windows上使用适用于C的Google API客户端库