添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

there is a check button on windows use python win32gui.i can find the handle and check it using PostMessage. here is code

    bt=win32gui.FindWindowEx(hwnd,None,'Button','设置用户信息(&L)')
    win32gui.PostMessage(bt,win32con.WM_KEYDOWN, win32con.VK_SPACE, 0)
    win32gui.PostMessage(bt,win32con.WM_KEYUP, win32con.VK_SPACE, 0)

but if I accidentally run the program twice, the check button's state will be recovered

Is there any way to Judge before check,if it is checked ,the program will do nothing.

a check button on windows

i try to find the api of the win32gui ,but Nothing found

Use UI Automation to automate your UI. That's the technology that underpins pywinauto's uia backend. – IInspectable Sep 11 at 12:37 thank you for reply,I found the solution SendMessage(handleToControl, BM_GETCHECK, 0, 0); – 张星星 Sep 13 at 9:47 UI Automation is a formal way. Now that you found the workaround, would you answer yourself? – YangXiaoPo-MSFT Sep 14 at 1:11 That's not a solution. It just gets you one step closer to repeating the same mistake all over again: You can't simulate keyboard input with PostMessage. That's the issue that needs to be solved, and UI Automation is the solution. – IInspectable Sep 14 at 8:39

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.