看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《DGnzj (DG)》之銘言: : 我想請問一個問題 : 小弟最近用vb6寫了一個鎖定滑鼠於某特定視窗的小軟體(套用後滑鼠不會跑出視窗外) EZSOFT版有看到 : 不過遇上了一個問題想來這邊請教一下(orz_) : 先說明一下,我的開發環境是VB6+XP : 雖然自己封裝成exe自用是沒有問題,(也換過別台測過OK) : 但有些板上的鄉民(使用win7)提出了這樣的問題 : 就是視窗的上緣高度不正確,導致玩游戲的時候沒辦法正常運作 : 用程式面的角度來講: : 我用 Findwindow 取得了某視窗的 hWnd : 再用 GetWindowRect 取得他的大小放在Rect裡(包含上、下、左、右的type) : 因為這個Rect的寬度與高度會包含視窗的邊框(frame)還有標題列(menu)等...。 : 所以我會在限制之前,先將Rect扣掉這些數值,微調後才變成真正去限制的範圍大小 : 在此,針對視窗微調的部分說明如下 : With NewRect : .Left = .Left + MySM.CXFRAME + MySM.CYBORDER MySM.xxxxxx 怎麼來的?? 是自己寫死的大小嗎? 試看看再用API取一下系統邊框的大小來減 或者 就把MOUSE限制在包含 邊框 的大小, 這樣要移動或關閉 才方便啊 : .Top = .Top + MySM.CYMENU + (MySM.CYFRAME +MySM.CYBORDER) * 2 : .Right = .Right - MySM.CXFRAME : .Bottom = .Bottom - MySM.CXFRAME : End With : 雖然自己試了是可以剛剛好,但是不是我取的只不過是剛好而以,並不是正確的數字呢? -- ████ █ ★ ████ █ █ █ █ █ █ █ █ █ 超 級 熱 烈 歡 迎 █ ████ █ █ █ ████ █ █ █ █ █ ███★ █ █ 歡迎到嘉義版! ★███ █ █ █ █ █ █ █ 訊馳電腦-路徑嘉義市林森西路496號(05)2244-526順發斜對面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.214.220