Re: [VB6 ] 切到其他程式

看板Visual_Basic作者 (小風)時間17年前 (2008/09/21 01:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《homer0403 (人活著就是為了學會珍惜)》之銘言: : 我想要用VB做到一個功能 : 可以偵測到其他程式的存在 : 如 : 工具列上有 "筆記本1" "筆記本2" : 然後我寫一個貼上剪貼簿文字的程式 : 執行一個"vb貼上.exe" : 執行之後 : 可以自動地貼一段文字如 "homer0403是大笨蛋!" 在"筆記本2"上 : 大概如這樣的功能 : 重點是 : 1. 如何抓到工具列上有什麼程式在跑 a. FindWindow 使用這個唯一的不便就在於你必須知道window title的完整字串, 使用你 提到的"筆計本1", "筆計本2"時, 還算好用, 但如果是用在 Internet Explorer 的話, 會相當難用, 因為 IE 的 title 會隨著瀏覽的網頁而有 所不同. b. EnumWindows 如果你是要抓所有系統正在執行的window,可以用 EnumWindows,當你抓到 所有的 window 之後, 搭配 GetWindowText, 即可取得各 Window 的標題 (window title), 並可針對各別的 hWnd (handle of Window) 過濾,或者 取得 PID 之類的. : 2. 如何將控制權轉到"筆記本2"上 : 好讓我可以做貼上的動作 SetForegroundWindow 是必備的, 但是, 你用了之後, 可能就會發現, 它並 不是每次呼叫都會成功, 尤其是要呼叫的視窗狀態是最小化的時候, 這時候, 你可以在呼叫SetForegroundWindow前先呼叫ShowWindow(hWnd, SW_NORMAL), 或ShowWindow(hWnd, SW_RESTORE)把視窗帶出,如果再有問題,就得試試使用 SetWindowPos來改變Window的ZOrder,或者使用AttachThreadInput來連結輸 入的焦點.這些你應該都能在網路上找到使用的範例和解說. : 至於其他部分我自己懂怎麼補完 : 預計大概是要呼叫某API程式吧 : 希望可以給我一點提示或方向 : 謝謝Orz -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.199.67

09/23 03:23, , 1F
哇! 太感恩了! m(_._)m
09/23 03:23, 1F
文章代碼(AID): #18rJTEUW (Visual_Basic)
文章代碼(AID): #18rJTEUW (Visual_Basic)