问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样用python调用vc++编出来的win32 DLL

发布网友 发布时间:2022-04-22 14:25

我来回答

2个回答

热心网友 时间:2022-04-18 04:42

  python调用vc中的API
准备工作: 安装pywin32-210.5.win32-py2.5.exe

例1:最简单的MessageBox函数
import win32api, win32gui
import win32con, winerror,win32event,pywintypes
import sys, os,time
win32api.MessageBox(0,'hello', 'WYM',win32con.MB_OK)

例2:进程监控
#Mutex.py
mutex=None
mutex=win32event.CreateMutex(None,pywintypes.FALSE,"MutexWym")
if(win32api.GetLastError() == winerror.ERROR_ALREADY_EXISTS):
print"Opened existing mutex object", mutex
else:
print "Created new mutex"
time.sleep(10)
win32api.CloseHandle(mutex)
print "close Mutex"
time.sleep(10)

#MonitorProcess.py

import win32api, win32gui
import win32con, winerror,win32event ,pywintypes
import sys, os,time
  STANDARD_RIGHTS_REQUIRED = 0x000F0000L
SYNCHRONIZE = 0x00100000L
MUTANT_QUERY_STATE = 0x0001
MUTEX_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE
try:
while 1:
time.sleep(2)
hMutex=win32event.OpenMutex(MUTEX_ALL_ACCESS,pywintypes.FALSE,"MutexWym")
print win32api.GetLastError()
if hMutex is not None:
print "Mutex open"
win32api.CloseHandle(hMutex)
else:
print "Mutex not open"
break
except pywintypes.error, (errno, object, strerror):
print "Error in", object, ":", strerror

如何使用kernel32的API呢
例3:
import pywintypes
import winerror, win32con
import win32api, win32event, win32file, win32pipe, win32process, win32security
import win32service, win32serviceutil, servicemanager,ntsecuritycon
from ctypes import * #本例包括这个头文件

hMutex = windll.kernel32.CreateMutexA(None, 0, "szMutex")
#其它API同理,比如像windll.kernel32.InitializeCriticalSection() 等等

a、python中涉及的windows下的类型?
通过pywintypes 可以获得这个数据类型
b、获得窗口句柄
通过FindWindow这API来查找相应的窗口的句柄,然后发消息给这个窗口,就可以实现这个功能
ct = win32api.GetConsoleTitle()
hd = win32gui.FindWindow(0,ct)
win32gui.ShowWindow(hd,0)
  

  

热心网友 时间:2022-04-18 06:00

1、首选运行工具 makepy.py。
2、这样就可以查看 C# dll的 com导出的 py文件了。 Python编程makepy.py代码如下:

# -*- coding: mbcs -*-
# Created by makepy.py version 0.5.00
# By python version 2.5.4 (r254:67916, Dec 23 2008, 15:10:54)
也可以使用下面的方式:
然后保证你能找到这个dll, 比如在system32下
from ...
windll.aaa 就可以
怎样用python调用vc++编出来的win32 DLL

1、首选运行工具 makepy.py。2、这样就可以查看 C# dll的 com导出的 py文件了。 Python编程makepy.py代码如下:-*- coding: mbcs -*- Created by makepy.py version 0.5.00 By python version 2.5.4 (r254:67916, Dec 23 2008, 15:10:54)也可以使用下面的方式:然后保证你能找到这个dll,...

怎样用python调用dll

1.直接使用函数名,函数名可以用dependencywalker等工具查看。(这个工具在vc或者vs的工具包中)[python]viewplaincopyimportctypesdll=CTYPES.CDLL("test.dll")res=test(3,4)2.使用Ordinal,Ordinal可以用dependencywalker等工具查看。[python]viewplaincopyimportctypesdll=CTYPES.CDLL("test.dll")res=dll...

如何让python调用C和C++代码

1. 首先要明白的是,所谓的python扩展(也就是你提供给python的c/c++代码,不一定是c/c++代码,可以是其他语言写的代码)是一个dll,并且这个dll放在本机python安装目录下的DLLs目录下(譬如我机器上的路径是:F:/Program Files/Python25/DLLs),假如我们接下来要写的扩展module名为mb,python调用的代码...

我用vb调用vc做的dll怎么不行?

1.打开VC6.0,新建一个Win32 Dynamic-Library类型的工程,名字任意,比如AddDLL 2.选择“An Empty DLL Project”,然后点击Finish 3.选择File-New,首先添加一个头文件,选择C/C++ Header File,File栏处输入AddDLL,确定,这样就添加了一个名为AddDLL.h的头文件 4.编辑AddDLL.h,输入以下四行代码...

Python下Pywin32的使用教程

随便写就可以;如果还想要放在原先的位置,就需要先获取之前的边框位置,再调用该方法即可win32gui.MoveWindow(hwnd,20,20,405,756,True)前台后台 指定句柄设置为前台,也就是激活win32gui.SetForegroundWindow(hwnd)# 设置为后台win32gui.SetBkMode(hwnd, win32con.TRANSPARENT)...

python调用DLL的问题_python缺少dll文件

可以的,python中一般有两种方法调用DLL中的函数 1 直接使用函数名,函数名可以用等工具查看 (这个工具在vc或者vs的工具包中)[python]=CTYPES CDLL("test dll")res=test(3,4)2 使用Ordinal,Ordinal可以用等工具查看 [python]=CTYPES CDLL("test dll")res=dll[1](3,4)

用python操作Windows的计算器。

代码:import win32api,win32gui, win32con import win32com.client shell = win32com.client.Dispatch("WScript.Shell")shell.Run("calc")win32api.Sleep(1000)shell.SendKeys("200{+}")win32api.Sleep(1000)shell.SendKeys("{(}100\x2a2{)}")win32api.Sleep(1000)shell.SendKeys("-22"...

Labwindows CVI 中怎么调用VC++写的库

1.利用VC++生成.dll文件和.lib文件 (1) 创建Win32 Dynamic-Link Library工程。工程名为Dll1。(2) 在Dll工程添加C++ Source File,文件名为Dll1。(3) 在Dll1.app文件中写代码如下: extern “C” _declspec(dllexport) int add(int a,int b) { return a+b; } extern “C” _...

python调用c++接口?

使用g++编译生成C动态库的代码中的函数或者方法时,需要使用extern"C"来进行编译。\x0d\x0a(3)Python调用动态库的文件:pycall.py\x0d\x0a\x0d\x0a[html]viewplaincopy\x0d\x0aimportctypes\x0d\x0all=ctypes.cdll.LoadLibrary\x0d\x0alib=ll("./libpycall.so")\x0d\x0alib.foo(1,3)\...

VB究竟怎样调用dll

首先在VC++中生成Win32 DLL工程。在这个工程中添加几个函数供VB用户调用。一个DLL中的函数要想被VB调用,必须满足两个条件:一是调用方式为stdcall,另一个是必须是export的。要做到第一条,只须在函数声明前加上__stdcall关键字。如: short __stdcall sample(short nLen, short *buffer) 要做到第...

python win32api java 调用python python调用py文件 python怎么调用函数 python win32 python win32中文手册 python win32模块详解 c调用python python调用c语言
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...这一夜你还会为他熬夜吗?你有什么最想对他说的? 西南大学党委宣传部主要职责 平衡车进水晒干能用吗 平衡车进水了怎么办?可以晒吗? 客厅装修需要哪些电位 遗产继承如何规定 郴州酒店有哪些 郴州最大的酒店排名,郴州市内景区酒店 郴州酒店排名前十名,郴州旅游住酒店推荐 求生欲是什么意思? 翡翠手镯太小怎么戴 翡翠手镯小了怎么戴进去 pythonwin32是什么?pythoncom如何理解 ironpython如何能够载入pywin32,或者载入win32api。 安装pywin32的时候有2个python的路径会怎么选 在菏泽注册公司注册资金需要一次性缴清吗? 404 Not Found 怎么注册建筑公司菏泽公司注册需要什么材料 如何注册新公司? 注册新公司的流程是怎样的 我想在菏泽注册一个公司得准备啥材料啊? 菏泽怎么注册公司? 菏泽怎么注册公司啊? 从合肥去威海怎样最方便经济实惠 准备去威海呆几天,有什么好玩的地方可以推荐吗? 404 Not Found 威海刘公岛怎么到达 刘公岛门票信息 威海周围什么地方比较好玩 刘公岛附近游玩的地方 距离威海定远舰最近的高铁站 从荣城到威海去定远舰一游玩 七月中旬想去威海玩,两日游,想去国际海水浴场和刘公岛,在网上查着这两个地方比较好,麻烦给个具体的路 二十四节气中属于春天的有哪些? 春季节气有哪些 春天的节气及含义分别是什么? 24节气中,春天的节气有哪些? 24节气中春季的六个节气 二十四节气中代表春天来了的是哪个节气是立春呀还是春分呀 二十四节气属于春天的有哪些 二十四节气歌春天的六个节气是什么 一年有几个节气,春季第二个节气是什么 立春的节气特点 春天有哪些节气? 有创意的鞋店名字有哪些? A4多少厘米 4开纸的尺寸是多少厘米 匡威鞋底是什么材料 a4尺寸是多少厘米长宽 很多人喜欢匡威,匡威与三十多的鞋子的区别在哪里? A4纸的宽度和高度各多少厘米? A4的纸是多少乘多少厘米的? 匡威帆布鞋鞋底是什么材质的?速度在线等