C++项目打包成可调用dll文件python调用

该文章详细介绍了如何在VisualStudio中创建一个DLL动态库,包括新增头文件和源文件,设置工程为动态库,生成DLL文件,查找并处理依赖的DLL,以及使用Python的ctypes模块调用DLL函数。最后讨论了将Python程序打包成EXE时处理DLL的方法。
摘要由CSDN通过智能技术生成

目录

1.原项目如图

 2.直接在项目对应地方新增dll.h,dll.cpp

 3.改变工程的配置类型---动态库(.dll)

 4.生成解决方案----可调用dll文件

5.查找dll依赖的其他dll

 6.python调用dll

7.python调用dll打包成exe 相关dll要放一个文件夹


1.原项目如图

包括头文件uiaccess.h,源文件hwtest.cpp

 2.直接在项目对应地方新增dll.h,dll.cpp

解决方案-头文件(右击)-添加-新建项dll.h

解决方案-源文件(右击)-添加-新建项dll.cpp

 dll.h文件内容如下:

#ifndef DLL_H_
#define DLL_H_
extern "C" _declspec(dllexport) int uiastart();
#endif

 dll.cpp文件与 dll.h文件对应,内容如下:

//dll.cpp
#include <iostream>
#include <windows.h>
#include "uiaccess.h"
#include <tlhelp32.h>
#include <tchar.h>

extern "C" _declspec(dllexport)int uiastart()
{
	int pi = IsUIAccess();
	//std::cout << "pi: " << pi << "\n";
	//std::cout << "Hello World!\n";
	//MessageBox(NULL, L"你好,我是LCR", L"提示", MB_SYSTEMMODAL);
	return pi;
}

 uiaccess.h  需要其他模块调用的函数加入头文件

 3.改变工程的配置类型---动态库(.dll)

项目-属性-常规,改成动态库

 4.生成解决方案----可调用dll文件

选择“debug”或"Release",我的环境X64,进行生成解决方案

 

 执行后,项目目录下会生成

 

5.查找dll依赖的其他dll

打开vs开发人员命令提示符

 执行命令:dumpbin /dependents dll路径

 电脑查找dll,复制出来,本机没有网上下载下来(和调用的dll放在一起,防止有些电脑没有相关dll无法运行)

 6.python调用dll

dll文件(及相关依赖dll)放入调用文件的同一目录
from ctypes import CDLL
#调用窃权
dll=CDLL('.\\hwtest.dll')
isuia = dll.uiastart()
print("权限数字"+str(isuia))

7.python调用dll打包成exe 相关dll要放一个文件夹

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值