2010-01-23 75 views
0

我需要創建一個應用程序,它可以執行以下操作:在第三方應用程序中操作滾動條

開始時我們已將記事本打開,其中有很多文本。

我們的應用程序必須滾動瀏覽該文件並在每次滾動操作後記下記事本窗口截圖。

我試圖使用SBM_GETRANGE,SBM_GETRANGE,SBM_SETPOS來實現這一點,但它不適用於我。

請注意,仿真鍵盤事件(例如PageDown,PageUp)對我來說不是一種選擇,因爲此應用程序還應該與其他可能不支持用於操作滾動條的鍵盤快捷鍵的應用程序一起使用。

謝謝。

+0

您的「其他應用程序」是否包含像IE,Windows Live Messenger或WPF/DirectX應用程序一樣繪製滾動條的應用程序? – 2010-01-24 04:58:56

+0

WPF/DirectX - no。 IE - 是的。 – Alex 2010-01-24 10:08:28

+1

我不知道如何使用筆記本電腦,但如果您有權訪問筆記本電腦,則可能會看到Synaptics觸控板驅動程序發送的消息是否沿着觸控板的邊緣拖動(或類似於中間單擊滾動以查看Thinkpad上的軌跡點) 。或者也許看看SnagIt!這就是你想要的。 – jamesdlin 2010-01-25 01:05:01

回答

1

不要嘗試直接操作滾動條 - 而是將SetFocus()設置爲文本窗口,然後發送Page Down消息。如果有應用程序,您必須必須操縱滾動條,您應該得到它的窗口句柄並在那裏發送消息。

+0

正如我已經說過的 - 模擬鍵盤事件不是一個選項。或者你的意思是一些其他的「Page Down消息」? 我已經有記事本窗口句柄與編輯控件句柄相同,仍然無法通過向它們發送滾動條消息來操作滾動條。 – Alex 2010-01-23 18:32:09

+0

1.我應該記住:記事本不是'正常'的Windows應用程序。例如,「滾動條」不是一個普通的滾動條(它不會在Spy ++中顯示)。 – egrunin 2010-01-23 18:50:37

+0

2.正如我所說,如果目標應用程序只接受滾動條本身的輸入,請將按鍵消息發送到滾動條。 – egrunin 2010-01-23 18:56:22