我期待着在C#中建立一个非常基本的屏幕共享应用程序。 无需遥控。 我只想让用户能够向网络服务器播放他们的屏幕。
我应如何执行? (将非常赞赏朝着正确方向迈出的任何一步。)
国家航空航天局确实需要高度的金融服务。 甚至连5天更新都足够了。 你们是否认为,仅仅把5秒钟的屏幕上传到我的网络服务器是不够的?
我期待着在C#中建立一个非常基本的屏幕共享应用程序。 无需遥控。 我只想让用户能够向网络服务器播放他们的屏幕。
我应如何执行? (将非常赞赏朝着正确方向迈出的任何一步。)
国家航空航天局确实需要高度的金融服务。 甚至连5天更新都足够了。 你们是否认为,仅仅把5秒钟的屏幕上传到我的网络服务器是不够的?
此前,我 about在http://brianbondy.com/blog/id/87/how-vnc-fog-creek-copilot-and-other-remote-control-soft-work” rel=“noreferer”>,howingsoft Engineering here,但C#没有具体内容,而是对这个专题有很好的基本了解。 该条也与此相关联,是你可能希望阅读的遥远的缓冲光谱。
基本上,你们会想照相,你可以转播这些屏幕,并在对方展示。 你们可以保持最后的屏幕,并将屏幕打成栏,看看你需要发送哪些屏幕。 在发送数据之前,你通常会做某种压缩。
有了远程控制,你可以跟踪移动情况,并转播,在另一端确定点位置。 此外,还潜水。
就C#中的压缩而言,你只能使用JpegBitmapEncoder,与Jpegpression一起制作你想要的质量的屏幕。
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.QualityLevel = 40;
比较档案区,你可能最好在旧的街区和新街区建造一只洗衣,然后检查它们是否相同。 您可使用http://msdn.microsoft.com/en-us/library/system.security.codeography.hashalgorithm.aspx”rel=“noreferer”。 你们希望这样做。
这里的密码是:
public static Bitmap TakeScreenshot() {
Rectangle totalSize = Rectangle.Empty;
foreach (Screen s in Screen.AllScreens)
totalSize = Rectangle.Union(totalSize, s.Bounds);
Bitmap screenShotBMP = new Bitmap(totalSize.Width, totalSize.Height, PixelFormat.
Format32bppArgb);
Graphics screenShotGraphics = Graphics.FromImage(screenShotBMP);
screenShotGraphics.CopyFromScreen(totalSize.X, totalSize.Y, 0, 0, totalSize.Size,
CopyPixelOperation.SourceCopy);
screenShotGraphics.Dispose();
return screenShotBMP;
}
现在只是压缩电线,然后通过电线发送电线。
该法典将所有屏幕组合成一个图像。 视需要而定。
简言之,这可以简单易懂,可以压缩,然后通过电线发送。 然而,现有软件已经这样做。 这种做法是否在实践中?
我期望做类似的事情,我刚刚在法典项目中看到这一点。 我认为这将有助于你。
http://www.codeproject.com/Articles/371955/Motion-JPEG-Streaming-Server
The key player on sharing/replicating a screen is a COM Component called: RPDViewer
Add that com component to your window form and in References as well.. and thin add this code to your form load and you will get the screen replicated in your form:
using RDPCOMAPILib;
using System;
using System.Windows.Forms;
namespace screenSharingAttempt
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
RDPSession x = new RDPSession();
private void Incoming(object Guest)
{
IRDPSRAPIAttendee MyGuest = (IRDPSRAPIAttendee)Guest;
MyGuest.ControlLevel = CTRL_LEVEL.CTRL_LEVEL_INTERACTIVE;
}
//access to COM/firewall will prompt
private void button1_Click(object sender, EventArgs e)
{
x.OnAttendeeConnected += Incoming;
x.Open();
}
//connect
private void button2_Click(object sender, EventArgs e)
{
IRDPSRAPIInvitation Invitation = x.Invitations.CreateInvitation("Trial", "MyGroup", "", 10);
textBox1.Text = Invitation.ConnectionString;
}
//Share screen
private void button4_Click(object sender, EventArgs e)
{
string Invitation = textBox1.Text;// "";// Interaction.InputBox("Insert Invitation ConnectionString", "Attention");
axRDPViewer1.Connect(Invitation, "User1", "");
}
//stop sharing
private void button5_Click(object sender, EventArgs e)
{
axRDPViewer1.Disconnect();
}
}
}
What is the use of default keyword in C#? Is it introduced in C# 3.0 ?
I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...
I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...
I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...
I have two EF entities. One has a property called HouseNumber. The other has two properties, one called StartHouseNumber and one called EndHouseNumber. I want to create a many to many association ...
How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...
Since I cannot order my dictionary, what is the best way of going about taking key value pairs and also maintaing an index?
Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...