怎样用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) 要做到第...