Python:获取 Windows 7 主音量

发布于 2024-12-05 12:39:55 字数 447 浏览 1 评论 0原文

我正在尝试构建一个应用程序,用户只需在 Windows 声音图标上滚动鼠标即可更改声音级别。 Linux 用户对此已经很熟悉了。 我已将我的问题分为以下步骤:

 1.) Get current audio device list using a python api.
 2.) Control the master voulme using the api.
 3.) Attach a mouse event listener to it.(Sorry i am from Java background).
 4.) Get mouse event listener method to do my work .

请建议一个适当的 python API 来完成我的任务。

这是解决我的问题陈述的正确方法吗?还是有更好的方法来解决这个问题。

I am trying to built an App in which user has to just scroll his/her mouse over the windows sound icon to change the sound level. Linux users are already familiar with this.
I have divided my problem in these steps:

 1.) Get current audio device list using a python api.
 2.) Control the master voulme using the api.
 3.) Attach a mouse event listener to it.(Sorry i am from Java background).
 4.) Get mouse event listener method to do my work .

Plz suggest a proper python API to achieve my task.

And is this the correct approach towards my problem statement or there is a better way to approach this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓦然回首 2024-12-12 12:39:55

为此,您可以使用 PyWin32 http://sourceforge.net/projects/pywin32/ 或 ctypes。
而且你的方法非常好。
这是一个使用 pywin32 的鼠标的简单示例:

import win32api
import win32con
def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
click(10,10)

这是一个使用 ctypes 的类似示例:

import ctypes
ctypes.windll.user32.SetCursorPos(10, 10)
ctypes.windll.user32.mouse_event(2, 0, 0, 0,0)
ctypes.windll.user32.mouse_event(4, 0, 0, 0,0)

Ctypes 有时有点难以弄清楚和调试(需要在 MSDN 上花费大量时间),但它的速度非常快。

For this purpose you could use PyWin32 http://sourceforge.net/projects/pywin32/ or ctypes.
And your approach is pretty fine.
Here's a simple example for mouse with pywin32:

import win32api
import win32con
def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
click(10,10)

and here's a similar one with ctypes:

import ctypes
ctypes.windll.user32.SetCursorPos(10, 10)
ctypes.windll.user32.mouse_event(2, 0, 0, 0,0)
ctypes.windll.user32.mouse_event(4, 0, 0, 0,0)

Ctypes is somewhat harder sometimes to figure out and debug (requieres ALOT of time on MSDN), but it's awesomely fast.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文