none
如何以C# 實現小算盤外掛程式 RRS feed

  • 問題

  • 各位前輩你們好,

    使用軟體: VS2012  

    作業系統:Win7 32bit

    ---------------------------------------------------------------------------------------------------------------------------------------------------------

    網路找了一些資料,其中內容指出,

    使用User32.dll  FindWindows 與 SendMessage ,並且搭配Spy++ 抓取Class 與 Caption 來指定物件控制。

     [DllImport("user32.dll")]
      private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
    
     [DllImport("user32.dll")]
      private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);

    的確,以上方法對於一般Windows具有 [唯一Class 與 Caption] 的程式是可行的。

    若想要實現在Win7 小算盤卻行不通,因為Button Class 均為Button,

    想請教各位前輩,是否有其他方法可以克服物件Class Name一樣的窘境來實現外掛程式按下 小算盤按鍵呢.....

    再麻煩不吝指教,感謝..!



    • 已編輯 Jesh_CHEN 2014年7月31日 上午 02:04
    2014年7月21日 上午 08:53

解答

  • 謝謝this與 心冷 前輩回覆,

    心冷前輩的用法小弟還需要再研究一下..對於用法比較不熟悉..

    this前輩,網址裡的範例再發文前我有使用過,但並沒有實際成效 (我在想WIN XP跟WIN 7 小算盤 結構不依樣吧..)。

    查了資料發現 Automation.dll 可以解決我想要的功能。

    ------------------------------------------------------------------------------------------------------------

    小算盤範例:

    http://www.pstips.net/ui-automation-framework.html

    若有興趣關於Automation.dll 這一篇寫得蠻詳細的:

    http://msdn.microsoft.com/zh-tw/magazine/cc163288.aspx

    (抱歉,我的帳號無法貼網址,再麻煩再另行剪貼)




    • 已編輯 Jesh_CHEN 2014年7月22日 上午 06:58
    • 已標示為解答 Jesh_CHEN 2014年7月22日 上午 11:29
    2014年7月22日 上午 06:53

所有回覆

  • 1. 列舉子視窗

    2. GetWindowText

    3. 有惡意程式潛勢


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年7月21日 上午 11:43
  • 看看這個範例有沒有幫助:Using Windows APIs from C#, again!

    2014年7月22日 上午 04:21
  • 謝謝this與 心冷 前輩回覆,

    心冷前輩的用法小弟還需要再研究一下..對於用法比較不熟悉..

    this前輩,網址裡的範例再發文前我有使用過,但並沒有實際成效 (我在想WIN XP跟WIN 7 小算盤 結構不依樣吧..)。

    查了資料發現 Automation.dll 可以解決我想要的功能。

    ------------------------------------------------------------------------------------------------------------

    小算盤範例:

    http://www.pstips.net/ui-automation-framework.html

    若有興趣關於Automation.dll 這一篇寫得蠻詳細的:

    http://msdn.microsoft.com/zh-tw/magazine/cc163288.aspx

    (抱歉,我的帳號無法貼網址,再麻煩再另行剪貼)




    • 已編輯 Jesh_CHEN 2014年7月22日 上午 06:58
    • 已標示為解答 Jesh_CHEN 2014年7月22日 上午 11:29
    2014年7月22日 上午 06:53