首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

AAuto 控制外部程序:最小化、最大化、關閉、退出全流程

     編輯:關於C語言

基礎版(win 模塊)

import win; import process;

process.execute("Notepad");
win.delay(1000);

hwnd = win.find("Notepad");           // 獲取窗口句柄
win.setForeground(hwnd);              // 置前顯示
win.show(hwnd, 0x3 /*SW_MAXIMIZE*/);  // 最大化
win.delay(1000);
win.close(hwnd);                      // 發送 WM_CLOSE

進階版(winex 模塊,功能更豐富)

import winex; import process;

process.execute("外部程序路徑");
win.delay(1000);

hwnd = winex.findActivate("外部程序標題");  // 查找並激活
win.show(hwnd, 0x3 /*SW_MAXIMIZE*/);        // 最大化
win.delay(1000);
win.show(hwnd, 0x6 /*SW_MINIMIZE*/);        // 最小化
win.delay(1000);
winex.close(hwnd);      // 發送 WM_CLOSE (優雅關閉)
winex.quit(hwnd);       // 發送 WM_QUIT (強制退出進程)

常用 ShowWindow 命令常量

常量值作用
SW_HIDE0隱藏
SW_SHOWNORMAL1正常顯示
SW_MINIMIZE6最小化
SW_MAXIMIZE3最大化
SW_RESTORE9恢復

關鍵差異

  • winex.close → 發送 WM_CLOSE,程序可攔截彈出確認對話框。
  • winex.quit → 發送 WM_QUIT 線程消息,直接終止消息循環,無法攔截。
  • win.close 同 winex.close;win.quit 不存在。

實戰建議

  1. 優先用 findActivate 確保窗口在前台,避免最小化/最大化無視覺反饋。
  2. 操作間加 win.delay(500~1000) 等待窗口狀態穩定。
  3. 批量控制多窗口時,配合 winex.findAll 遍歷處理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved