⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jvshellhookdemomainformu.cpp

📁 jvcl driver development envionment
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#endif

#ifndef APPCOMMAND_MEDIA_FAST_FORWARD
#pragma message (SDKUPDATE)
#define APPCOMMAND_MEDIA_FAST_FORWARD     49
#endif

#ifndef APPCOMMAND_MEDIA_REWIND
#pragma message (SDKUPDATE)
#define APPCOMMAND_MEDIA_REWIND           50
#endif

#ifndef APPCOMMAND_MEDIA_CHANNEL_UP
#pragma message (SDKUPDATE)
#define APPCOMMAND_MEDIA_CHANNEL_UP       51
#endif

#ifndef APPCOMMAND_MEDIA_CHANNEL_DOWN
#pragma message (SDKUPDATE)
#define APPCOMMAND_MEDIA_CHANNEL_DOWN     52
#endif


#include "JvShellHookDemoMainFormU.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "JvShellHook"
#pragma resource "*.dfm"
TJvShellHookDemoMainForm *JvShellHookDemoMainForm;

//---------------------------------------------------------------------------
__fastcall TJvShellHookDemoMainForm::TJvShellHookDemoMainForm(TComponent* Owner)
        : TForm(Owner)
{

    SH = new TJvShellHook(this);
    SH->OnShellMessage = DoShellMessage;
    chkActive->Enabled = InitJvShellHooks;
#ifdef COMPILER6_UP /* see headre file */
    lvMessages->BorderStyle = bsNone;
    //lvMessages->BevelKind   = bkFlat;
    //lvMessages->BevelInner  = bvNone;
#else
    lvMessages->BorderStyle = bsSingle;
#endif
}
//---------------------------------------------------------------------------


__fastcall TJvShellHookDemoMainForm::~TJvShellHookDemoMainForm(void)
{
  delete SH;        
}


void __fastcall TJvShellHookDemoMainForm::DoShellMessage(TObject * Sender, TMessage &Message)
{
  AnsiString S;
//begin
//  with Message do
//  begin
    switch(Message.WParam)
    {
//    case wParam of
      case HSHELL_WINDOWCREATED      :{ S = "HSHELL_WINDOWCREATED";}break;
      case HSHELL_WINDOWDESTROYED    :{ S = "HSHELL_WINDOWDESTROYED";}break;
      case HSHELL_ACTIVATESHELLWINDOW:{ S = "HSHELL_ACTIVATESHELLWINDOW";}break;
      case HSHELL_WINDOWACTIVATED    :
       {
         S = "HSHELL_WINDOWACTIVATED";
         if( reinterpret_cast<HWND >(Message.LParam) == Application->Handle )
         {
           S = S + " (this)";
         }
       }break;
      case HSHELL_GETMINRECT         :{ S = "HSHELL_GETMINRECT";}break;
      case HSHELL_REDRAW:
       {
         if( chkNoRedraw->Checked )
         {
           return; //Exit
         }
         else
         {
           S = "HSHELL_REDRAW";
         }
       }break;
      case HSHELL_TASKMAN            :{ S = "HSHELL_TASKMAN";}break;
      case HSHELL_LANGUAGE           :{ S = "HSHELL_LANGUAGE";}break;
      case HSHELL_SYSMENU            :{ S = "HSHELL_SYSMENU";}break;
      case HSHELL_ENDTASK            :{ S = "HSHELL_ENDTASK";}break;
      case HSHELL_ACCESSIBILITYSTATE :{ S = "HSHELL_ACCESSIBILITYSTATE";}break;
      case HSHELL_WINDOWREPLACED     :{ S = "HSHELL_WINDOWREPLACED";}break;
      case HSHELL_WINDOWREPLACING    :{ S = "HSHELL_WINDOWREPLACING";}break;
      case HSHELL_FLASH              :{ S = "HSHELL_FLASH";}break;
      case HSHELL_RUDEAPPACTIVATED   :{ S = "HSHELL_RUDEAPPACTIVATED";}break;
      case HSHELL_APPCOMMAND         :{ S = GetAppCommand(Message.LParam);}break;
      default:
       {
        S = Format("Unknown command ($%.8x)", ARRAYOFCONST( (Message.WParam) ) );
       }break;
    }
    lvMessages->Items->Add()->Caption = S;
  int siRowNum = lvMessages->Items->Count - 1;
    lvMessages->Items->Item[siRowNum]->SubItems->Add(IntToStr(Message.WParam));
    lvMessages->Items->Item[siRowNum]->SubItems->Add(IntToStr(Message.LParam));
    lvMessages->Items->Item[siRowNum]->SubItems->Add(IntToStr(Message.Result));
    lvMessages->Items->Item[siRowNum]->MakeVisible(false);
    lvMessages->Items->Item[siRowNum]->Selected = true;
    lvMessages->Items->Item[siRowNum]->Focused  = true;

}


AnsiString TJvShellHookDemoMainForm::GetAppCommand(int LParam)
{
 AnsiString tmp;
//begin
//  case GET_APPCOMMAND_LPARAM(lParam) of
   switch(GET_APPCOMMAND_LPARAM(LParam))
   {
     case APPCOMMAND_BROWSER_BACKWARD   :{ tmp = "APPCOMMAND_BROWSER_BACKWARD";}break;
     case APPCOMMAND_BROWSER_FORWARD    :{ tmp = "APPCOMMAND_BROWSER_FORWARD"; }break;
     case APPCOMMAND_BROWSER_REFRESH    :{ tmp = "APPCOMMAND_BROWSER_REFRESH"; }break;
     case APPCOMMAND_BROWSER_STOP       :{ tmp = "APPCOMMAND_BROWSER_STOP";    }break;
     case APPCOMMAND_BROWSER_SEARCH     :{ tmp = "APPCOMMAND_BROWSER_SEARCH";  }break;
     case APPCOMMAND_BROWSER_FAVORITES  :
                                        { tmp = "APPCOMMAND_BROWSER_FAVORITES";}break;
     case APPCOMMAND_BROWSER_HOME       :{ tmp = "APPCOMMAND_BROWSER_HOME";    }break;
     case APPCOMMAND_VOLUME_MUTE        :{ tmp = "APPCOMMAND_VOLUME_MUTE";     }break;
     case APPCOMMAND_VOLUME_DOWN        :{ tmp = "APPCOMMAND_VOLUME_DOWN";     }break;
     case APPCOMMAND_VOLUME_UP          :{ tmp = "APPCOMMAND_VOLUME_UP";       }break;
     case APPCOMMAND_MEDIA_NEXTTRACK    :{ tmp = "APPCOMMAND_MEDIA_NEXTTRACK"; }break;
     case APPCOMMAND_MEDIA_PREVIOUSTRACK:
                                  { tmp =     "APPCOMMAND_MEDIA_PREVIOUSTRACK";}break;
     case APPCOMMAND_MEDIA_STOP         :{ tmp = "APPCOMMAND_MEDIA_STOP";      }break;
     case APPCOMMAND_MEDIA_PLAY_PAUSE   :{ tmp = "APPCOMMAND_MEDIA_PLAY_PAUSE";}break;
     case APPCOMMAND_LAUNCH_MAIL        :{ tmp = "APPCOMMAND_LAUNCH_MAIL";     }break;
     case APPCOMMAND_LAUNCH_MEDIA_SELECT:
                                  { tmp = "APPCOMMAND_LAUNCH_MEDIA_SELECT";    }break;
     case APPCOMMAND_LAUNCH_APP1        :{ tmp = "APPCOMMAND_LAUNCH_APP1";     }break;
     case APPCOMMAND_LAUNCH_APP2        :{ tmp = "APPCOMMAND_LAUNCH_APP2";     }break;
     case APPCOMMAND_BASS_DOWN          :{ tmp = "APPCOMMAND_BASS_DOWN";       }break;
     case APPCOMMAND_BASS_BOOST         :{ tmp = "APPCOMMAND_BASS_BOOST";      }break;
     case APPCOMMAND_BASS_UP            :{ tmp = "APPCOMMAND_BASS_UP";         }break;
     case APPCOMMAND_TREBLE_DOWN        :{ tmp = "APPCOMMAND_TREBLE_DOWN";     }break;
     case APPCOMMAND_TREBLE_UP          :{ tmp = "APPCOMMAND_TREBLE_UP";       }break;
     case APPCOMMAND_MICROPHONE_VOLUME_MUTE:
                                  { tmp = "APPCOMMAND_MICROPHONE_VOLUME_MUTE"; }break;
     case APPCOMMAND_MICROPHONE_VOLUME_DOWN:
                                  { tmp = "APPCOMMAND_MICROPHONE_VOLUME_DOWN"; }break;
     case APPCOMMAND_MICROPHONE_VOLUME_UP:
                                  { tmp =   "APPCOMMAND_MICROPHONE_VOLUME_UP"; }break;
     case APPCOMMAND_HELP               :{ tmp = "APPCOMMAND_HELP";            }break;
     case APPCOMMAND_FIND               :{ tmp = "APPCOMMAND_FIND";            }break;
     case APPCOMMAND_NEW                :{ tmp = "APPCOMMAND_NEW";             }break;
     case APPCOMMAND_OPEN               :{ tmp = "APPCOMMAND_OPEN";            }break;
     case APPCOMMAND_CLOSE              :{ tmp = "APPCOMMAND_CLOSE";           }break;
     case APPCOMMAND_SAVE               :{ tmp = "APPCOMMAND_SAVE";            }break;
     case APPCOMMAND_PRINT              :{ tmp = "APPCOMMAND_PRINT";           }break;
     case APPCOMMAND_UNDO               :{ tmp = "APPCOMMAND_UNDO";            }break;
     case APPCOMMAND_REDO               :{ tmp = "APPCOMMAND_REDO";            }break;
     case APPCOMMAND_COPY               :{ tmp = "APPCOMMAND_COPY";            }break;
     case APPCOMMAND_CUT                :{ tmp = "APPCOMMAND_CUT";             }break;
     case APPCOMMAND_PASTE              :{ tmp = "APPCOMMAND_PASTE";           }break;
     case APPCOMMAND_REPLY_TO_MAIL      :{ tmp = "APPCOMMAND_REPLY_TO_MAIL";   }break;
     case APPCOMMAND_FORWARD_MAIL       :{ tmp = "APPCOMMAND_FORWARD_MAIL";    }break;
     case APPCOMMAND_SEND_MAIL          :{ tmp = "APPCOMMAND_SEND_MAIL";       }break;
     case APPCOMMAND_SPELL_CHECK        :{ tmp = "APPCOMMAND_SPELL_CHECK";     }break;
     case APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE:
                       { tmp = "APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE"; }break;
     case APPCOMMAND_MIC_ON_OFF_TOGGLE  :
                                  { tmp =       "APPCOMMAND_MIC_ON_OFF_TOGGLE";}break;
     case APPCOMMAND_CORRECTION_LIST    :{ tmp = "APPCOMMAND_CORRECTION_LIST"; }break;
     case APPCOMMAND_MEDIA_PLAY         :{ tmp = "APPCOMMAND_MEDIA_PLAY";      }break;
     case APPCOMMAND_MEDIA_PAUSE        :{ tmp = "APPCOMMAND_MEDIA_PAUSE";     }break;
     case APPCOMMAND_MEDIA_RECORD       :{ tmp = "APPCOMMAND_MEDIA_RECORD";    }break;
     case APPCOMMAND_MEDIA_FAST_FORWARD :
                                  { tmp =      "APPCOMMAND_MEDIA_FAST_FORWARD";}break;
     case APPCOMMAND_MEDIA_REWIND       :{ tmp = "APPCOMMAND_MEDIA_REWIND";    }break;
     case APPCOMMAND_MEDIA_CHANNEL_UP   :{ tmp = "APPCOMMAND_MEDIA_CHANNEL_UP";}break;
     case APPCOMMAND_MEDIA_CHANNEL_DOWN :
                                  { tmp =      "APPCOMMAND_MEDIA_CHANNEL_DOWN";}break;
    default:
    {
     tmp = Format("Unknown ($%.8x)", ARRAYOFCONST( (LParam) ) );
    }break;
   }

  return ( Format("HSHELL_APPCOMMAND: %s", ARRAYOFCONST((tmp)) ) );
}
void __fastcall TJvShellHookDemoMainForm::chkActiveClick(TObject *Sender)
{
  SH->Active = chkActive->Checked;
}
//---------------------------------------------------------------------------
void __fastcall TJvShellHookDemoMainForm::btnClearClick(TObject *Sender)
{
  lvMessages->Items->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TJvShellHookDemoMainForm::lvMessagesResize(TObject *Sender)
{
  lvMessages->Columns->Items[3]->Width = -2;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -