上次有找了限制鍵盤的按鍵的方式

還差需要可以監控滑鼠

也是一樣問了一下Google發現要鎖住滑鼠無效好像比較沒方法

所以只好用監控的方式讀取右鍵被按下去時要做什麼處理

有在CodeProject找到一個範例

有人介紹這一個使用的方式全域監控 滑鼠(Mouse)及鍵盤(Keyboard) 事件

花了一點時間改成自己需要的

不過有一點測了很久還是不知道怎處理.....持續努力中

就是只要在程式畫面範圍抓到被按下右鍵

目前是只要程式執行就會監控不管在畫面哪裡按都會

真的是有一點麻煩呀呀呀呀.........不知道有沒有其他更好的方式

可以防止滑鼠右鍵被按下或是監控

註:

有二個版本新的UserActivityMonitor有dll直接參考就可以

舊的UserActivityHook就是我用的這個需要自己編譯成dll參考

//這是使用的元件記得參考後要Using
using gma.System.Windows;

//開始使用
UserActivityHook actHook;
private void Form1_Load(object sender, EventArgs e)
{
    actHook = new UserActivityHook();
    actHook.OnMouseActivity += new MouseEventHandler(MouseMoved);
    try
    {
        //這是讀取PDF的
        string FilePath = Application.StartupPath + @"\123.pdf";
        this.axAcroPDF1.LoadFile(FilePath);
        this.axAcroPDF1.src = FilePath;
        this.axAcroPDF1.setShowToolbar(false);
        this.axAcroPDF1.setView("FitH");
        this.axAcroPDF1.setLayoutMode("SinglePage");
        this.axAcroPDF1.Show();
    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message.ToString());
    }
}

public void MouseMoved(object sender, MouseEventArgs e)
{
    if (e.Clicks > 0 && e.Button.ToString().ToUpper() == "RIGHT")
    {
        //按下時顯示目前座標
        MessageBox.Show(e.Location.ToString());        
    }    
}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    axAcroPDF1.Dispose();
}

參考:

http://www.dotblogs.com.tw/nobel12/archive/2010/03/26/14230.aspx

http://www.codeproject.com/KB/cs/globalhook.aspx

http://support.microsoft.com/default.aspx?scid=kb;en-us;318804

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鴨爸 的頭像
    鴨爸

    鴨爸的隨手寫寫

    鴨爸 發表在 痞客邦 留言(0) 人氣()