python可以直接调用win32的api吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python可以直接调用win32的api吗相关的知识,希望对你有一定的参考价值。

    Python没有自带访问windows系统API的库的,需要下载第三方库。库的名称叫pywin32,可以从网上直接下载,下载链接:http://sourceforge.net/projects/pywin32/files%2Fpywin32/   (下载适合的Python版本)

    使用中如果出现ImportError: No module named win32api 或者出现 ImportError: No module named win32con,说明你的库没有安装好。

    介绍这个库里面最重要的两个模块:win32api和win32con。win32api顾名思义,就是用python对win32的本地api进行了封装;win32con个人理解为win32constant,即win32的常量定义。

参考技术A

    Python没有自带访问windows系统API的库的,需要下载第三方库。库的名称叫pywin32,可以从网上直接下载  (下载适合的Python版本)

    使用中如果出现ImportError: No module named win32api 或者出现 ImportError: No module named win32con,说明你的库没有安装好。

    介绍这个库里面最重要的两个模块:win32api和win32con。win32api顾名思义,就是用python对win32的本地api进行了封装;win32con个人理解为win32constant,即win32的常量定义。

参考技术B Python没有自带访问windows系统API的库的,需要下载第三方库。库的名称叫pywin32,可以从网上直接下载,下载链接:http://sourceforge.net/projects/pywin32/files%2Fpywin32/ (下载适合你的Python版本)
使用中如果出现ImportError: No module named win32api 或者出现 ImportError: No module named win32con,说明你的库没有安装好。
介绍这个库里面最重要的两个模块:win32api和win32con。win32api顾名思义,就是用python对win32的本地api进行了封装;win32con个人理解为win32constant,即win32的常量定义。本回答被提问者和网友采纳
参考技术C 去下一个pywin32库,就可以使用了

我可以在没有 C++(只有 C)的情况下学习 Win32 API 吗?

【中文标题】我可以在没有 C++(只有 C)的情况下学习 Win32 API 吗?【英文标题】:Can I learn the Win32 API without C++ (with only C)? 【发布时间】:2019-10-09 07:27:12 【问题描述】:

对于这个问题提出一个奇怪的问题,我很抱歉。我用谷歌搜索并在这里寻找解决方案,但没有一个答案能满足我真正想要的。

我真的对这个问题感到困惑。我学习安全工作已经快 2 年了。所以,我对 Python 和 C 有很好的了解。

我推荐的公司给了我学习 Win32 的建议。但是当我开始了解它时,我发现Win32 是基于 C++ 的。但我不想再浪费时间去研究它了。一些博客谈论 C/C++ 中的 Windows 编程,这让我更加困惑,因为我认为 C 和 C++ 本质上是相互独立的。

我的问题是:

    我可以只用 C 来学习 Win32 吗?

    如果不是,那我可以通过 C 来学习吗?

    如果是,我必须走多远(所以,它的所有上下文或具体情况)?

再次抱歉。我现在真的很困惑,我不知道我必须做什么。

【问题讨论】:

大多数 Win Api 是 C。有几个例外(例如 COM IFAIR)。 但几乎 MSDN 中的每个代码都说 C++.. @MarekR 所有的 COM API 都是 C 兼容的。 C/C++ 几乎不是分开的,C 可以被视为 C++ 的一个子集,而存在的差异是标准化委员会做得不好的结果。 “不想再浪费时间学习它” - 但是在 C 之后切换到 C++ 是必须的。 @VTT 说 C 的一半功能在 C++ 中不存在或工作方式不同,所以 C 绝对不是 C++ 的子集。 【参考方案1】:

据我所知 - 是的,这应该是可能的。较旧的 Windows API 实际上是基于 C 的,这就是我 20 年前自己学到的。他们很简单。较新的基于 COM,这在 C 中有点麻烦,但绝不是不可能的。我记得读过一些关于这样做的好教程(C 语言中的 COM),尽管恐怕我没有任何方便的链接可以提供。

也就是说,C 和 C++ 非常接近。事实上,C++ 最初旨在成为 C 的超集——每个有效的 C 程序都应该是有效的 C++ 程序。现在,他们并没有完全做到这一点,但差异是微妙的,在大多数情况下不应该打扰你。因此,您不妨继续用 C 编写代码,只使用一点 C++ 来与 COM 交互。 C++ 编译器应该接受这个就好了。

【讨论】:

这不是问题链接,我想我的主要问题是我可以用 C 来学习它。而 MSDN 中的代码说 C++ 可以用 C 编译器编译? C 和 C++ 密切相关。大多数 C 程序都可以编译为 C++,几乎不需要更改。

以上是关于python可以直接调用win32的api吗的主要内容,如果未能解决你的问题,请参考以下文章

python可以直接调用win32的api吗

C#可以直接调用的Win32API(和VCL做的整理工作非常类似)

Python怎样控制打印机打印PDF文档

.net API 与win32API

C#调用Win32 api学习总结

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