• DLL
extern "C" __declspec(dllexport) void GetDefaultPrinterName(char* name);extern "C" __declspec(dllexport) void GetDefaultPrinterName(char* name)
{//
}
  • 调用代码
#include <iostream>
#include<windows.h>
#include<string>
using namespace std;#define TEST_DLL_PATH        "D:\\Office-5.0-project\\c\\windows-printer\\Debug\\TPrinter.dll"
#define TEST_FUNCTION_NAME   "GetDefaultPrinterName"typedef void( *TestFunction)(char*);int main()
{cout << "Start" << endl;HINSTANCE hDLL = LoadLibrary(TEST_DLL_PATH);if (hDLL == NULL){cout << TEST_DLL_PATH << " ERROR: " << GetLastError() << endl;return -1;}cout << TEST_DLL_PATH << " " << hDLL << endl;TestFunction function=(TestFunction)GetProcAddress(hDLL,"GetDefaultPrinterName");if (function == NULL){cout << TEST_DLL_PATH << " ERROR:" << GetLastError() << endl;return -1;}cout << TEST_FUNCTION_NAME << " " << function << endl;char name[256] = {0};function(name);cout<<"RESULT="<< name << endl;FreeLibrary(hDLL);//卸载dllTest.dll文件;cout << "End" << endl;return 0;
}
  • 测试结果
D:\Office-5.0-project\c\Debug>TaishanDllTest.exe
Start
D:\Office-5.0-project\c\windows-printer\Debug\TPrinter.dll 63B00000
GetDefaultPrinterName 63B012DF
RESULT=Microsoft XPS Document Writer
End

VC通过函数名调用DLL的标准范例相关推荐

  1. VC调试器高级应用----系统函数,DLL段点

    一.高级断点语法 高级断点语法由两部分组成:1.上下文部分.2.位置,表达式,变量或Windows消息条件.   用函数,源文件和二进制模块来指定上下文,上下文的表示方法:   {[函数],[源文件] ...

  2. 用VC开发串口通信dll控件

    VC串口通信技术网<VC串口上位机编程方法简介>介绍了串口编程的常见方法,其中就有使用串口dll控件的方法,dll是一种动态链接库,使用起来非常方便. 本文利用VC编程工具,对Window ...

  3. 基于VC++6.0的DLL开发

    原文地址:http://blog.163.com/twnhr@126/blog/static/78927547200910254346804/ 基于VC++6.0的DLL开发 最近在开发一个基于网络的 ...

  4. 使用VC编写VB使用DLL

    使用VC编写VB使用DLL 一.在函数定义前必须加上extern "c",_stdcall关键字.  extern "C" int _stdcall Sum(i ...

  5. c 调用易语言dll字节集,总结VC与易语言DLL互相调用的方法

    在编写程序的时候往往需要调用到别的语言编写的DLL文件,下面先来看一下在易语言中如何调用VC编写的DLL呢,首先用VC编写一个简单的DLL文件,代码如下: int WINAPI add(int x,i ...

  6. VC静态加载DLL和动态加载DLL

    VC静态加载DLL和动态加载DLL 1. 静态加载DLL 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头 ...

  7. C#与VC相互调用之VC调用C#的DLL库

    介绍 在之前的博文 C#与VC相互调用之C#调用VC的DLL https://blog.csdn.net/xinxin_2011/article/details/86704660 里面讲了C#程序如何 ...

  8. Python教程:通过函数名调用函数的3种场景实现

    一.说明 除了执行系统命令外,我们有时还需要动态地执行一些python代码,有经验的朋友就会知道可以使用内置函数eval实现这一需求,如eval("print(__file__)" ...

  9. WSAStartup()函数以及DLL的加载

    本节讲解 Windows 下 DLL 的加载,学习 Linux Socket 的读者可以跳过. WinSock(Windows Socket)编程依赖于系统提供的动态链接库(DLL),有两个版本: 较 ...

  10. VC InitInstance函数

    VC InitInstance函数 BOOL InitInstance()为什么说它是程序的进入点?还有,那个WinMain函数又有什么作用,这两个函数之间有什么关系吗? BOOL InitInsta ...

最新文章

  1. Android图形---OpenGL(二)
  2. CURL模拟请求(get/post)
  3. Netty深入浅出(一)入门
  4. Mybatis的ResultMap的使用
  5. 文献学习(part51)--逼近理想点的主成分分析法及其应用
  6. 期货大赛项目|九,fileinput插件的应用
  7. DDMS工具使用(转)
  8. 关于线程插入函数如何用的问题
  9. 华为设备如何将接口配置为中继模式_(完整版)华为设备基本配置命令
  10. Dialogue System for Unity文档中英对照版(简雨原创翻译)第六篇(音序器相关,语音同步)
  11. abs在c 语言中的作用,c语言中abs是什么意思
  12. 【小程序源码】笑话段子手
  13. MySQL练习题(4)
  14. Python实现抓取CSDN热门文章列表
  15. Receiver Operating Characteristic(ROC)
  16. 红帽linux 下qt 5.13.1 编译 mysql80驱动(内含升级gcc版本)
  17. 如何在css中设置音乐效果,css实现简单音乐符效果
  18. MySQL数据类型之数值型
  19. kernel panic - not syncing : fatal exception
  20. Kaggle: Tweet Sentiment Extraction 方法总结 Part 2/2: 金牌思路总结

热门文章

  1. 中海达ihand30手簿详细教程_开盘秒清,中海这次模拟选房结果恐将成真
  2. 切片器可以设置日期格式?_Power BI之相对日期的设置
  3. python函数的规则_Python函数的作用域规则和闭包
  4. 软件测试三五七原则,运动前必看!“三五七”原则和注意事项
  5. python获取音频音量大小_如何在python中规范化音频文件的音量:当前可用的任何包?...
  6. MySQL 8.0.12 基于Windows 安装教程
  7. 解决Android Studio出现Failed to open zip file. Gradle's dependency cache may be corrupt的问题
  8. wait,notify,notifyAll用法解析
  9. 使用putty上传文件到linux
  10. 【PHP】wx_sample.php 微信初始化开发者模式