最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python-pywin32庫的使用高級操作方法

 更新時間:2025年11月06日 09:44:56   作者:覓遠  
文章介紹了Python的pywin32庫,該庫允許訪問Windows?API并執(zhí)行高級操作,對Python?pywin32庫使用方法感興趣的朋友跟隨小編一起看看吧

pywin32庫可對Windows API進行訪問和進行一些高級操作。

win32api模塊

win32api:對Windows API函數(shù)直接訪問。

win32con:定義了各種Windows常量,用于與其他模塊一起使用。

警告提示對框

通常可以通過彈出一個提示窗口,通過獲取用戶選擇得到返回值后做其他操作,

函數(shù) win32api.MessageBox(hwnd, text, title, type)參數(shù):

hwnd: 父窗口的句柄。如果為0或None,則消息框沒有父窗口。

text: 消息框中顯示的文本內(nèi)容。

title: 消息框的標題。

type: 指定消息框的類型和按鈕組合。可以是以下常量或常量的組合:

  • MB_OK---顯示“確定”按鈕。
  • MB_OKCANCEL---顯示“確定”和“取消”按鈕。
  • MB_YESNO---顯示“是”和“否”按鈕。
  • MB_YESNOCANCEL---顯示“是”、“否”和“取消”按鈕。
  • MB_ICONQUESTION---顯示問號圖標。
  • MB_ICONINFORMATION---顯示信息圖標。
  • MB_ICONWARNING---顯示警告圖標。
  • MB_ICONASTERISK---含圖標、固定按鈕 提示信息框。
  • win32con.MB_ICONERROR---顯示錯誤圖標。
  • MB_HELP---不含圖標、可改變按鈕 說明信息框。
  • MB_RETRYCANCEL---不含圖標,重試信息框。
  • MB_ICONSTOP---顯示X號圖標。

type為常量整數(shù),所以可以直接使用數(shù)字:

  • 0: 確定
  • 1: 確定,取消
  • 2: 終止,重試,忽略
  • 3: 是,否,取消
  • 4: 是,否
  • 5: 重試,取消
  • 6: 取消,再試一次,繼續(xù)

函數(shù)返回值:

  • 1: 確定
  • 2: 取消
  • 3: 終止
  • 4: 重試
  • 5: 忽略
  • 6: 是
  • 7: 否
  • 10:再試一次
  • 11:繼續(xù)
import win32api, win32gui
from win32con import *
mes = win32api.MessageBox(None, "這是一個測試對話窗口", "警告", MB_RETRYCANCEL)
print(mes)   # 打印結(jié)果為4

可以使用組合按鈕,如下,

mes = win32api.MessageBox(None, "測試1", "test", MB_YESNO | MB_ICONQUESTION)
print(mes)

# win32con.IDOK: 用戶點擊了“確定”按鈕。
# win32con.IDCANCEL: 用戶點擊了“取消”按鈕。
# win32con.IDYES: 用戶點擊了“是”按鈕。
# win32con.IDNO: 用戶點擊了“否”按鈕。
mes = win32api.MessageBox(None, "測試2", "test", IDOK | IDCANCEL)
print(mes)

刪除和復制文件

win32api.DeleteFile(r'E:\桌面\99\測試圖片\1.jpg')  # 刪除文件
win32api.CopyFile(r'E:\桌面\測試文件\23.png', r'E:\桌面\測試文件\123.png')  # 復制文件,參數(shù)分別是源文件和目標文件

獲取時間

print(win32api.GetLocalTime())  # 計算機時間(2024, 4, 1, 15, 13, 37, 26, 781)
print(win32api.GetSystemTime())  # 格林尼治時間(2024, 4, 1, 15, 5, 37, 26, 781)

系統(tǒng)警告提示音

MessageBeep() 函數(shù)用于使計算機發(fā)出聲音,通常用于向用戶發(fā)出警告或通知。

win32api.MessageBeep(type=MB_ICONQUESTION)

type 參數(shù)可以設(shè)置為以下幾種預定義的值,這些值決定了播放哪種聲音:

  • win32con.MB_OK:系統(tǒng)默認聲音,通常是一個短促的“嘟”聲。
  • win32con.MB_ICONASTERISK:一個連續(xù)的“嘟”聲,直到下一個 MessageBeep() 調(diào)用。
  • win32con.MB_ICONEXCLAMATION:一個長“嘟”聲。
  • win32con.MB_ICONHAND:一個雙“嘟”聲。
  • win32con.MB_ICONQUESTION:一個“嘟-嘟”聲(兩個短促的聲音)。

自定義聲音播放

Beep()用于通過計算機的主板揚聲器(或聲卡模擬)發(fā)出指定頻率和時長的蜂鳴聲。與 MessageBeep()(播放系統(tǒng)預定義聲音)不同,Beep() 允許自定義聲音的頻率和持續(xù)時間。

win32api.Beep(frequency, duration)
參數(shù)名類型描述
frequencyint聲音的頻率(單位:赫茲,Hz)。有效范圍:37 Hz 到 32767 Hz。262 Hz (中音C)、440 Hz (標準音A)、1000 Hz (高頻提示音)
durationint聲音的持續(xù)時間(單位:毫秒,ms)。有效范圍:正整數(shù)(如 500=0.5秒)。

演示一段音符, 

# 定義音符頻率和時長(毫秒)
melody = [
    (262, 300),  # C4
    (294, 300),  # D4
    (330, 300),  # E4
    (349, 300),  # F4
    (392, 600),  # G4
]
for freq, dur in melody:
    win32api.Beep(freq, dur)
    time.sleep(0.05)  # 音符間短暫間隔

檢索系統(tǒng)級度量信息

GetSystemMetrics() 可以返回多種與系統(tǒng)相關(guān)的度量值,比如屏幕尺寸、工作區(qū)尺寸、系統(tǒng)字體大小等。

win32api.GetSystemMetrics() 函數(shù)的一些常用參數(shù)及其含義:

  • 0:返回屏幕寬度(像素)。
  • 1:返回屏幕高度(像素)。
  • SM_CXSCREEN(等同于 0):屏幕寬度(像素)。
  • SM_CYSCREEN(等同于 1):屏幕高度(像素)。
  • SM_CXWORK:工作區(qū)的寬度(像素),即屏幕寬度減去系統(tǒng)任務(wù)欄等區(qū)域的寬度。
  • SM_CYWORK:工作區(qū)的高度(像素),即屏幕高度減去系統(tǒng)任務(wù)欄等區(qū)域的高度。
  • SM_CXFULLSCREEN:全屏窗口的寬度(像素)。對于多顯示器設(shè)置,這通常是主顯示器的寬度。
  • SM_CYFULLSCREEN:全屏窗口的高度(像素)。
  • SM_CXFIXEDFRAME:窗口邊框的寬度(像素)。
  • SM_CYFIXEDFRAME:窗口邊框的高度(像素)。
  • SM_CXSIZEFRAME:窗口可調(diào)邊框的寬度(像素)。
  • SM_CYSIZEFRAME:窗口可調(diào)邊框的高度(像素)。
  • SM_CXFRAME:等同于 SM_CXSIZEFRAME
  • SM_CYFRAME:等同于 SM_CYSIZEFRAME。
  • SM_CXMIN:窗口的最小寬度(像素)。
  • SM_CYMIN:窗口的最小高度(像素)。
  • SM_CXVSCROLL:垂直滾動條的寬度(像素)。
  • SM_CYHSCROLL:水平滾動條的高度(像素)。
  • SM_CYCAPTION:標題欄的高度(像素)。
  • SM_CXBORDER:窗口邊框的寬度(像素)。
  • SM_CYBORDER:窗口邊框的高度(像素)。
  • SM_CXDLGFRAME:對話框邊框的寬度(像素)。
  • SM_CYDLGFRAME:對話框邊框的高度(像素)。
  • SM_CYMENU:菜單的高度(像素)。
  • SM_CXFULLSCREENSM_CYFULLSCREEN、SM_CXICONSM_CYICON 等其他度量值。
# 獲取屏幕寬度和高度
screen_width = win32api.GetSystemMetrics(0)
screen_height = win32api.GetSystemMetrics(1)

打開系統(tǒng)程序

win32api.WinExec('notepad.exe')

win32gui

win32gui:操作Windows圖形用戶界面,包括窗口、菜單、對話框等。

窗口句柄及參數(shù)

import win32gui
from win32con import *
hwnd = win32gui.FindWindow(None, "釘釘")
if hwnd:
    print(f'窗口句柄:{hwnd}')
    print(f'窗口標題:{win32gui.GetWindowText(hwnd)}')
    print(f'窗口類名:{win32gui.GetClassName(hwnd)}')
    rect = win32gui.GetWindowRect(hwnd)
    left, top, right, bottom = rect
    print("窗口位置:(左:{}, 上:{})".format(left, top))
    print("窗口大?。?寬:{}, 高:{})".format(right - left, bottom - top))
    parent_hwnd = win32gui.GetParent(hwnd)
    child_hwnds = []
    win32gui.EnumChildWindows(hwnd, lambda hwnd, param: param.append(hwnd), child_hwnds)
    print("父窗口句柄:", parent_hwnd)
    print("子窗口句柄:", child_hwnds)

向窗口發(fā)送命令

SendMessage 和 PostMessage 函數(shù)用于向窗口發(fā)送消息。SendMessage 會等待消息處理完成才返回,而 PostMessage 則立即返回。

# 向窗口發(fā)送一個關(guān)閉消息(WM_CLOSE)
win32gui.SendMessage(hwnd, win32con.WM_CLOSE, 0, 0)

修改窗口標題

win32gui.SetWindowText(hwnd, "新的窗口標題")   # 修改窗口標題

窗口顯示

win32gui.ShowWindow()函數(shù)可以顯示、隱藏或最大化、最小化窗口。

win32gui.ShowWindow(hwnd, SW_HIDE)   # SW_HIDE表示隱藏窗口

其他模塊

win32com:提供了對COM(Component Object Model)對象的訪問,可用于操作如Microsoft Office等應用程序。

win32process:用于管理Windows進程。

# 進程信息獲取
import win32process
processes = win32process.EnumProcesses()
for process_id in processes:
    print(process_id)

到此這篇關(guān)于Python-pywin32庫的使用的文章就介紹到這了,更多相關(guān)Python pywin32庫使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python PyGame五子棋小游戲

    python PyGame五子棋小游戲

    大家好,本篇文章主要講的是python PyGame五子棋小游戲,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Django框架首頁和登錄頁分離操作示例

    Django框架首頁和登錄頁分離操作示例

    這篇文章主要介紹了Django框架首頁和登錄頁分離操作,結(jié)合實例形式分析了Django框架登錄、驗證、跳轉(zhuǎn)首頁等相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • python的ImageTk.PhotoImage大坑及解決

    python的ImageTk.PhotoImage大坑及解決

    這篇文章主要介紹了python的ImageTk.PhotoImage大坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 神經(jīng)網(wǎng)絡(luò)訓練采用gpu設(shè)置的方式

    神經(jīng)網(wǎng)絡(luò)訓練采用gpu設(shè)置的方式

    這篇文章主要介紹了神經(jīng)網(wǎng)絡(luò)訓練采用gpu設(shè)置的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python中NumPy的線性代數(shù)子模塊linalg詳解

    Python中NumPy的線性代數(shù)子模塊linalg詳解

    這篇文章主要介紹了Python中NumPy的線性代數(shù)子模塊linalg詳解,NumPy 的線性代數(shù)子模塊linalg提供了 20 余個函數(shù),用于求解行列式、逆矩陣、特征值、特征向量,以及矩陣分解等,需要的朋友可以參考下
    2023-08-08
  • Python實現(xiàn)隨機游走的示例代碼

    Python實現(xiàn)隨機游走的示例代碼

    隨機游走是一個數(shù)學對象,稱為隨機或隨機過程,它描述了一條路徑,該路徑由一些數(shù)學空間上的一系列隨機步驟組成,下面我們就來學習一下Python如何實現(xiàn)隨機游走的吧
    2023-12-12
  • python求一個字符串的所有排列的實現(xiàn)方法

    python求一個字符串的所有排列的實現(xiàn)方法

    這篇文章主要介紹了python求一個字符串的所有排列的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • pytorch 準備、訓練和測試自己的圖片數(shù)據(jù)的方法

    pytorch 準備、訓練和測試自己的圖片數(shù)據(jù)的方法

    這篇文章主要介紹了pytorch 準備、訓練和測試自己的圖片數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • python字典按照value排序方法

    python字典按照value排序方法

    在本篇文章里小編給各位分享一篇關(guān)于python字典按照value排序方法的相關(guān)文章,有興趣的朋友們可以學習下。
    2020-12-12
  • python中print()函數(shù)的“,”與java中System.out.print()函數(shù)中的“+”功能詳解

    python中print()函數(shù)的“,”與java中System.out.print()函數(shù)中的“+”功能詳解

    python中的print()函數(shù)和java中的System.out.print()函數(shù)都有著打印字符串的功能。接下來通過本文給大家分享python中print()函數(shù)的“,”與java中System.out.print()函數(shù)中的“+”功能,需要的朋友參考下吧
    2017-11-11

最新評論

乐亭县| 福泉市| 读书| 灵石县| 海林市| 定南县| 义马市| 清流县| 松阳县| 甘孜| 泰和县| 筠连县| 伊春市| 南开区| 达拉特旗| 奉新县| 汾西县| 富阳市| 太原市| 靖边县| 合作市| 陇川县| 罗山县| 长乐市| 吉木萨尔县| 浦北县| 乌兰浩特市| 连云港市| 上蔡县| 康保县| 恭城| 西乡县| 云阳县| 阿拉善左旗| 绥阳县| 汝州市| 湘西| 富平县| 轮台县| 眉山市| 呼和浩特市|