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

📄 untcomm.pas

📁 phonectrl是一款利用手机遥控电脑的软件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    (Name:'u';  Value:pkPUP),
    (Name:'d';  Value:pkPDown),
    (Name:':J'; Value:pkClick),
    (Name:'<';  Value:pkLeft),
    (Name:'^';  Value:pkUP),
    (Name:'>';  Value:pkRight),
    (Name:'v';  Value:pkDown),
    (Name:'[';  Value:pkFLeft),
    (Name:']';  Value:pkFRight),
    (Name:':R'; Value:pkReturn),
    (Name:'c'; Value:pkCancel),
    (Name:'1';  Value:pk1),
    (Name:'2';  Value:pk2),
    (Name:'3';  Value:pk3),
    (Name:'4';  Value:pk4),
    (Name:'5';  Value:pk5),
    (Name:'6';  Value:pk6),
    (Name:'7';  Value:pk7),
    (Name:'8';  Value:pk8),
    (Name:'9';  Value:pk9),
    (Name:'0';  Value:pk10),
    (Name:'*';  Value:pk11),
    (Name:'#';  Value:pk12)
  );
var
  i: Integer;
begin
  Result := pkNone;
  for i := 1 to MaxPhoneKeyCode do
  begin
    if Trim(strKey) = PhoneKeyCodes[i].Name then
    begin
      Result := PhoneKeyCodes[i].Value;
    end;
  end;
  
end;

{-------------------------------------------------------------------------------
  过程名:    ProcessAppKey
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.21
  参数:      const pkKey: TPhoneKey; const KeyDown: Boolean
  返回值:    无
  说明:      处理程序按键
-------------------------------------------------------------------------------}
procedure ProcessAppKey(const pkKey: TPhoneKey; const KeyDown: Boolean);
var
  objKeyGroup: TKeyGroup;
begin
  objKeyGroup := TKeyGroup.Create;
  if SelectApp in [appOne..AppTen] then
    CopyMemory(objKeyGroup, KeyGroups[Programs[Ord(SelectApp)].AppKGNum],
      SizeOf(TKeyGroup));

  case pkKey of
    pkCamaner: SendKeyBoardEvent(objKeyGroup.Key[Ord(pkCamaner)-1], KeyDown);
    pkOnline:  SendKeyBoardEvent(objKeyGroup.Key[Ord(pkOnline)-1], KeyDown);
    pkPUP:     SendKeyBoardEvent(objKeyGroup.Key[Ord(pkPUP)-1], KeyDown);
    pkPDown:   SendKeyBoardEvent(objKeyGroup.Key[Ord(pkPDown)-1], KeyDown);
    pkLeft:    SendKeyBoardEvent(objKeyGroup.Key[Ord(pkLeft)-1], KeyDown);
    pkUP:      SendKeyBoardEvent(objKeyGroup.Key[Ord(pkUP)-1], KeyDown);
    pkRight:   SendKeyBoardEvent(objKeyGroup.Key[Ord(pkRight)-1], KeyDown);
    pkDown:    SendKeyBoardEvent(objKeyGroup.Key[Ord(pkDown)-1], KeyDown);
    pkClick:   SendKeyBoardEvent(objKeyGroup.Key[Ord(pkClick)-1], KeyDown);
    pkFLeft:   SendKeyBoardEvent(objKeyGroup.Key[Ord(pkFLeft)-1], KeyDown);
    pkFRight:  SendKeyBoardEvent(objKeyGroup.Key[Ord(pkFRight)-1], KeyDown);
    pkReturn:  SendKeyBoardEvent(objKeyGroup.Key[Ord(pkReturn)-1], KeyDown);
    pkCancel:  SendKeyBoardEvent(objKeyGroup.Key[Ord(pkCancel)-1], KeyDown);
    pk1:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk1)-1], KeyDown);
    pk2:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk2)-1], KeyDown);
    pk3:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk3)-1], KeyDown);
    pk4:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk4)-1], KeyDown);
    pk5:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk5)-1], KeyDown);
    pk6:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk6)-1], KeyDown);
    pk7:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk7)-1], KeyDown);
    pk8:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk8)-1], KeyDown);
    pk9:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk9)-1], KeyDown);
    pk10:      SendKeyBoardEvent(objKeyGroup.Key[Ord(pk10)-1], KeyDown);
    pk11:      SendKeyBoardEvent(objKeyGroup.Key[Ord(pk11)-1], KeyDown);
    pk12:      SendKeyBoardEvent(objKeyGroup.Key[Ord(pk12)-1], KeyDown);
  end;

  objKeyGroup.Free;
end;

{-------------------------------------------------------------------------------
  过程名:    ProcessWinampKey
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.21
  参数:      const pkKey: TPhoneKey; const KeyDown: Boolean
  返回值:    无
  说明:      处理Winamp按键
-------------------------------------------------------------------------------}
procedure ProcessWinampKey(const pkKey: TPhoneKey; const KeyDown: Boolean);
begin
end;

{-------------------------------------------------------------------------------
  过程名:    ProcessMouseKey
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.21
  参数:      const pkKey: TPhoneKey; const KeyDown: Boolean
  返回值:    无
  说明:      处理鼠标按键
-------------------------------------------------------------------------------}
procedure ProcessMouseKey(const pkKey: TPhoneKey; const KeyDown: Boolean);
var
  objKeyGroup: TKeyGroup;
begin
  objKeyGroup := TKeyGroup.Create;
  if SelectApp in [appOne..AppTen] then
    CopyMemory(objKeyGroup, KeyGroups[Programs[Ord(SelectApp)].AppKGNum],
      SizeOf(TKeyGroup));

  case pkKey of
    pkCamaner: SendKeyBoardEvent(objKeyGroup.Key[Ord(pkCamaner)-1], KeyDown);
    pkOnline:  SendKeyBoardEvent(objKeyGroup.Key[Ord(pkOnline)-1], KeyDown);
    pkPUP:     SendKeyBoardEvent(objKeyGroup.Key[Ord(pkPUP)-1], KeyDown);
    pkPDown:   SendKeyBoardEvent(objKeyGroup.Key[Ord(pkPDown)-1], KeyDown);
    pkLeft:    MouseEvent(0, KeyDown);
    pkUP:      MouseEvent(1, KeyDown);
    pkRight:   MouseEvent(2, KeyDown);
    pkDown:    MouseEvent(3, KeyDown);
    pkClick:   MouseEvent(5, KeyDown);
    pkFLeft:   MouseEvent(4, KeyDown);
    pkFRight:  MouseEvent(6, KeyDown);
    pkReturn:  if KeyDown then ShowHelp;
    pkCancel:  if KeyDown then ExitFunction;
    pk1:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk1)-1], KeyDown);
    pk2:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk2)-1], KeyDown);
    pk3:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk3)-1], KeyDown);
    pk4:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk4)-1], KeyDown);
    pk5:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk5)-1], KeyDown);
    pk6:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk6)-1], KeyDown);
    pk7:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk7)-1], KeyDown);
    pk8:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk8)-1], KeyDown);
    pk9:       SendKeyBoardEvent(objKeyGroup.Key[Ord(pk9)-1], KeyDown);
    pk10:      SendKeyBoardEvent(objKeyGroup.Key[Ord(pk10)-1], KeyDown);
    pk11:      SendKeyBoardEvent(objKeyGroup.Key[Ord(pk11)-1], KeyDown);
    pk12:      SendKeyBoardEvent(objKeyGroup.Key[Ord(pk12)-1], KeyDown);
  end;

  objKeyGroup.Free;
end;

{-------------------------------------------------------------------------------
  过程名:    ProcessMenu
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.18
  参数:      const strMessage: string
  返回值:    无
  说明:      处理菜单消息
-------------------------------------------------------------------------------}
procedure ProcessMenu(const strMessage: string);
var
  strValue: string;
begin
  strValue := strMessage[Length(strMessage)];
  if strValue = 'I' then
  begin
    //发送主菜单
    ShowMainMenu;
  end else
  begin
    case SelectMenu of
      pmsMain:
        begin
          case StrToInt(strValue) of
            0:  //返回上一层菜单
              begin
              end;
            1:  //应用程序
              begin
                ShowApplicationMenu;
              end;
            2:  //Winamp播放器
              begin
                ShowWinampMenu(5);
              end;
            3:  //移动鼠标
              begin
                ShowMouseMove;
              end;
            4:  //关于本软件
              begin
                ShowAbout;
              end;
          end;
        end;
      pmsApplication:
        begin
          case StrToInt(strValue) of
            0:  //返回上一层菜单
              ShowMainMenu;
            1..9:  //应用程序
              StartApplication(strValue);
          end;
        end;
      pmsWinamp:
        begin
          if not bPlayList then  //如果不在播放列表中
          begin
            if (strValue <> '0'){ and (SelectMenu <> pmsWinamp)} then
              ShowWinampMenu(StrToInt(strValue));
            case StrToInt(strValue) of
              0:  //返回上一层菜单
                ShowMainMenu;
              1:  //上一首
                objWinamp.PrevTrack;
              2:  //播放/暂停
                if objWinamp.WAState = 1 then
                  objWinamp.Pause
                else
                  objWinamp.Play;
              3:  //下一首
                objWinamp.NextTack;
              4:  //停止
                objWinamp.Stop;
              5:  //播放列表
                ShowPlayList(iCurPage);
              6:  //增加音量
                objWinamp.Volume := objWinamp.Volume + 10;
              7:  //减少音量
                objWinamp.Volume := objWinamp.Volume - 10;
            end;
          end
          else begin
            case StrToInt(strValue) of
              0:  //返回上一层菜单
                ShowWinampMenu(5);
              1..12:
                ProcessPlayList(StrToInt(strValue));
//              1:  //每一首歌
//                ;
//              2:  //每二首歌
//                ;
//              3:  //每三首歌
//                ;
//              4:  //每四首歌
//                ;
//              5:  //每五首歌
//                ;
//              6:  //每六首歌
//                ;
//              7:  //每七首歌
//                ;
//              8:  //每八首歌
//                ;
//              9:  //每九首歌
//                ;
//              10:  //上一页
//                ShowPlayList(iPlayListPage-1);
//              11:  //下一页
//                ShowPlayList(iPlayListPage+1);
//              12:  //查找
//                ;
            end;
          end;  //if
        end;
      pmsMouse: //其实没有菜单处理
        begin
        end;
      pmsAbout: //其实没有菜单处理
        begin
        end;
    end; //case
  end; //if
end;

{-------------------------------------------------------------------------------
  过程名:    ProcessDialog
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.19
  参数:      const strMessage: string
  返回值:    无
  说明:      处理对话框
-------------------------------------------------------------------------------}
procedure ProcessDialog(const strMessage: string);
begin
  case SelectMenu of
      pmsMain:
        begin
          ShowMainMenu;
        end;
      pmsApplication:
        begin
        end;
      pmsWinamp:
        begin
        end;
      pmsMouse:
        begin
        end;
      pmsAbout:
        begin
          ShowMainMenu;
        end;
  end;
end;

{-------------------------------------------------------------------------------
  过程名:    SearchWinampPath
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.11
  参数:      无
  返回值:    string
  说明:      搜索Winamp路径
-------------------------------------------------------------------------------}
function SearchWinampPath: string;
var
  Registry: TRegistry;
begin
  Result    := '';
  Registry  := TRegistry.Create;
  Registry.RootKey := HKEY_CURRENT_USER;
  if Registry.OpenKey('Software\Winamp', False) then
  begin
    Result := Registry.ReadString('') + '\Winamp.exe';
  end;
  Registry.Free;
end;

{-------------------------------------------------------------------------------
  过程名:    InitSystem
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.07
  参数:
  返回值:    无
  说明:      初始化系统
-------------------------------------------------------------------------------}
procedure InitSystem();
begin
  //获取程序路径和语言文件路径            
  strAppPath := GetCurrentDir + '\';
  strLngPath := GetCurrentDir + '\lang\';

  CreateObjects;
  LoadSetting;
  LoadLanguage;
//  ReadPhoneStatus;
end;

{-------------------------------------------------------------------------------
  过程名:    ResetSystem
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.07
  参数:
  返回值:    无
  说明:      复位系统
-------------------------------------------------------------------------------}
procedure ResetSystem();
begin
  //删除帮助窗口
  if FHelp <> nil then FHelp.Free;
  //保存配置
  if bSaveInExit then WriteSetting;
  DestroyObjects;
end;  

{-------------------------------------------------------------------------------
  过程名:    CreateObjects
  作者:      小冬[kendling]
  邮件:      kendling@sina.com
  主页:      http://www.MyvNet.com
  日期:      2005.02.14

⌨️ 快捷键说明

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