目录
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要放一个文件夹