GetMouseButtonsSwapped 这个函数在Delphi中不能使用,怎么解决!我就想知道当前系统的鼠标是适应左手还是右手,也就是通过左键还是右键来完成双击事件!请问应该怎么获得?

解决方案 »

  1.   

    WM_LBUTTONDOWN                         //按下鼠标左键
      WM_LBUTTONUP                          //释放鼠标左键
      WM_LBUTTONDBLCLK                      //双击鼠标左键
      WM_RBUTTONDOWN                        //按下鼠标右键
      WM_RBUTTONUP                         //释放鼠标右键
      WM_RBUTTONDBLCLK                    //双击鼠标右键
      WM_MBUTTONDOWN                      //按下鼠标中键 
      WM_MBUTTONUP                        //释放鼠标中键
      WM_MBUTTONDBLCLK                      //双击鼠标中键
      截获其中的某个消息处理就行了
      

  2.   


    给你个左右键互换的例子~~,不过一会点run的时候比较别扭~呵呵//从注册表中得到鼠标当前适应
    //SwapMouseButton(),互换鼠标左右两键的函数
    //use ... Registry;procedure TForm1.Button1Click(Sender: TObject);
    const
      LeftButton = '0' ;
      RightButton = '1' ;
      VaueToRead = 'SwapMouseButtons' ;
    begin
        with TRegistry.Create do
        begin
            try
            if OpenKey('Control Panel\Mouse',False) then
            begin
                 if ValueExists(VaueToRead) then
                 if ReadString(VaueToRead) = LeftButton then
                 begin
                      SwapMouseButton(True) ;
                      WriteString(VaueToRead,RightButton) ;
                 end else
                 begin
                       SwapMouseButton(False) ;
                       WriteString(VaueToRead,LeftButton) ;
                 end ;
                 CloseKey ;
            end ;
            finally
            Free ;
            end ;
         end;
    end;