diff --git a/dotnet/MsRdpEx_App/DvcDialog.Designer.cs b/dotnet/MsRdpEx_App/DvcDialog.Designer.cs
index c2befcd..9946783 100644
--- a/dotnet/MsRdpEx_App/DvcDialog.Designer.cs
+++ b/dotnet/MsRdpEx_App/DvcDialog.Designer.cs
@@ -47,6 +47,16 @@ private void InitializeComponent()
fileInput = new System.Windows.Forms.TextBox();
fileLabel = new System.Windows.Forms.Label();
sessionTab = new System.Windows.Forms.TabPage();
+ kbdLayoutGroupBox = new System.Windows.Forms.GroupBox();
+ setKbdLayoutButton = new System.Windows.Forms.Button();
+ kbdLayoutInput = new System.Windows.Forms.TextBox();
+ prevKbdLayoutButton = new System.Windows.Forms.Button();
+ nextKbdLayoutButton = new System.Windows.Forms.Button();
+ shutdownTimeoutFlag = new System.Windows.Forms.CheckBox();
+ shutdownTimeoutInput = new System.Windows.Forms.TextBox();
+ label6 = new System.Windows.Forms.Label();
+ shutdownMessageInput = new System.Windows.Forms.TextBox();
+ label8 = new System.Windows.Forms.Label();
shutdownForceFlag = new System.Windows.Forms.CheckBox();
shutdownRebootFlag = new System.Windows.Forms.CheckBox();
lockButton = new System.Windows.Forms.Button();
@@ -65,16 +75,12 @@ private void InitializeComponent()
msgBoxTitleInput = new System.Windows.Forms.TextBox();
label2 = new System.Windows.Forms.Label();
label1 = new System.Windows.Forms.Label();
- shutdownTimeoutFlag = new System.Windows.Forms.CheckBox();
- shutdownTimeoutInput = new System.Windows.Forms.TextBox();
- label6 = new System.Windows.Forms.Label();
- shutdownMessageInput = new System.Windows.Forms.TextBox();
- label8 = new System.Windows.Forms.Label();
dvcTabs.SuspendLayout();
infoPage.SuspendLayout();
execRunPage.SuspendLayout();
panel1.SuspendLayout();
sessionTab.SuspendLayout();
+ kbdLayoutGroupBox.SuspendLayout();
SuspendLayout();
//
// dvcTabs
@@ -276,6 +282,7 @@ private void InitializeComponent()
//
// sessionTab
//
+ sessionTab.Controls.Add(kbdLayoutGroupBox);
sessionTab.Controls.Add(shutdownTimeoutFlag);
sessionTab.Controls.Add(shutdownTimeoutInput);
sessionTab.Controls.Add(label6);
@@ -308,6 +315,103 @@ private void InitializeComponent()
sessionTab.Text = "MsgBox/Session";
sessionTab.UseVisualStyleBackColor = true;
//
+ // kbdLayoutGroupBox
+ //
+ kbdLayoutGroupBox.Controls.Add(setKbdLayoutButton);
+ kbdLayoutGroupBox.Controls.Add(kbdLayoutInput);
+ kbdLayoutGroupBox.Controls.Add(prevKbdLayoutButton);
+ kbdLayoutGroupBox.Controls.Add(nextKbdLayoutButton);
+ kbdLayoutGroupBox.Location = new System.Drawing.Point(17, 267);
+ kbdLayoutGroupBox.Name = "kbdLayoutGroupBox";
+ kbdLayoutGroupBox.Size = new System.Drawing.Size(549, 131);
+ kbdLayoutGroupBox.TabIndex = 24;
+ kbdLayoutGroupBox.TabStop = false;
+ kbdLayoutGroupBox.Text = "Keyboard Layout";
+ //
+ // setKbdLayoutButton
+ //
+ setKbdLayoutButton.Location = new System.Drawing.Point(284, 44);
+ setKbdLayoutButton.Name = "setKbdLayoutButton";
+ setKbdLayoutButton.Size = new System.Drawing.Size(102, 62);
+ setKbdLayoutButton.TabIndex = 20;
+ setKbdLayoutButton.Text = "Set";
+ setKbdLayoutButton.UseVisualStyleBackColor = true;
+ setKbdLayoutButton.Click += setKbdLayoutButton_Click;
+ //
+ // kbdLayoutInput
+ //
+ kbdLayoutInput.Location = new System.Drawing.Point(162, 60);
+ kbdLayoutInput.Name = "kbdLayoutInput";
+ kbdLayoutInput.Size = new System.Drawing.Size(116, 31);
+ kbdLayoutInput.TabIndex = 19;
+ kbdLayoutInput.Text = "00000409";
+ kbdLayoutInput.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ //
+ // prevKbdLayoutButton
+ //
+ prevKbdLayoutButton.Location = new System.Drawing.Point(6, 44);
+ prevKbdLayoutButton.Name = "prevKbdLayoutButton";
+ prevKbdLayoutButton.Size = new System.Drawing.Size(102, 62);
+ prevKbdLayoutButton.TabIndex = 18;
+ prevKbdLayoutButton.Text = "Prev";
+ prevKbdLayoutButton.UseVisualStyleBackColor = true;
+ prevKbdLayoutButton.Click += prevKbdLayoutButton_Click;
+ //
+ // nextKbdLayoutButton
+ //
+ nextKbdLayoutButton.Location = new System.Drawing.Point(431, 44);
+ nextKbdLayoutButton.Name = "nextKbdLayoutButton";
+ nextKbdLayoutButton.Size = new System.Drawing.Size(102, 62);
+ nextKbdLayoutButton.TabIndex = 17;
+ nextKbdLayoutButton.Text = "Next";
+ nextKbdLayoutButton.UseVisualStyleBackColor = true;
+ nextKbdLayoutButton.Click += nextKbdLayoutButton_Click;
+ //
+ // shutdownTimeoutFlag
+ //
+ shutdownTimeoutFlag.AutoSize = true;
+ shutdownTimeoutFlag.Location = new System.Drawing.Point(214, 520);
+ shutdownTimeoutFlag.Name = "shutdownTimeoutFlag";
+ shutdownTimeoutFlag.Size = new System.Drawing.Size(103, 29);
+ shutdownTimeoutFlag.TabIndex = 23;
+ shutdownTimeoutFlag.Text = "Timeout";
+ shutdownTimeoutFlag.UseVisualStyleBackColor = true;
+ //
+ // shutdownTimeoutInput
+ //
+ shutdownTimeoutInput.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
+ shutdownTimeoutInput.Location = new System.Drawing.Point(323, 518);
+ shutdownTimeoutInput.Name = "shutdownTimeoutInput";
+ shutdownTimeoutInput.Size = new System.Drawing.Size(160, 31);
+ shutdownTimeoutInput.TabIndex = 22;
+ shutdownTimeoutInput.Text = "5";
+ //
+ // label6
+ //
+ label6.AutoSize = true;
+ label6.Location = new System.Drawing.Point(489, 524);
+ label6.Name = "label6";
+ label6.Size = new System.Drawing.Size(77, 25);
+ label6.TabIndex = 21;
+ label6.Text = "seconds";
+ //
+ // shutdownMessageInput
+ //
+ shutdownMessageInput.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
+ shutdownMessageInput.Location = new System.Drawing.Point(306, 562);
+ shutdownMessageInput.Name = "shutdownMessageInput";
+ shutdownMessageInput.Size = new System.Drawing.Size(260, 31);
+ shutdownMessageInput.TabIndex = 20;
+ //
+ // label8
+ //
+ label8.AutoSize = true;
+ label8.Location = new System.Drawing.Point(214, 562);
+ label8.Name = "label8";
+ label8.Size = new System.Drawing.Size(86, 25);
+ label8.TabIndex = 19;
+ label8.Text = "Message:";
+ //
// shutdownForceFlag
//
shutdownForceFlag.AutoSize = true;
@@ -330,7 +434,7 @@ private void InitializeComponent()
//
// lockButton
//
- lockButton.Location = new System.Drawing.Point(17, 328);
+ lockButton.Location = new System.Drawing.Point(17, 404);
lockButton.Name = "lockButton";
lockButton.Size = new System.Drawing.Size(191, 62);
lockButton.TabIndex = 16;
@@ -350,7 +454,7 @@ private void InitializeComponent()
//
// logoffButton
//
- logoffButton.Location = new System.Drawing.Point(214, 328);
+ logoffButton.Location = new System.Drawing.Point(214, 404);
logoffButton.Name = "logoffButton";
logoffButton.Size = new System.Drawing.Size(191, 62);
logoffButton.TabIndex = 14;
@@ -476,51 +580,6 @@ private void InitializeComponent()
label1.TabIndex = 0;
label1.Text = "Title:";
//
- // shutdownTimeoutFlag
- //
- shutdownTimeoutFlag.AutoSize = true;
- shutdownTimeoutFlag.Location = new System.Drawing.Point(214, 520);
- shutdownTimeoutFlag.Name = "shutdownTimeoutFlag";
- shutdownTimeoutFlag.Size = new System.Drawing.Size(103, 29);
- shutdownTimeoutFlag.TabIndex = 23;
- shutdownTimeoutFlag.Text = "Timeout";
- shutdownTimeoutFlag.UseVisualStyleBackColor = true;
- //
- // shutdownTimeoutInput
- //
- shutdownTimeoutInput.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
- shutdownTimeoutInput.Location = new System.Drawing.Point(323, 518);
- shutdownTimeoutInput.Name = "shutdownTimeoutInput";
- shutdownTimeoutInput.Size = new System.Drawing.Size(160, 31);
- shutdownTimeoutInput.TabIndex = 22;
- shutdownTimeoutInput.Text = "5";
- //
- // label6
- //
- label6.AutoSize = true;
- label6.Location = new System.Drawing.Point(489, 524);
- label6.Name = "label6";
- label6.Size = new System.Drawing.Size(77, 25);
- label6.TabIndex = 21;
- label6.Text = "seconds";
- //
- // shutdownMessageInput
- //
- shutdownMessageInput.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
- shutdownMessageInput.Location = new System.Drawing.Point(306, 562);
- shutdownMessageInput.Name = "shutdownMessageInput";
- shutdownMessageInput.Size = new System.Drawing.Size(260, 31);
- shutdownMessageInput.TabIndex = 20;
- //
- // label8
- //
- label8.AutoSize = true;
- label8.Location = new System.Drawing.Point(214, 562);
- label8.Name = "label8";
- label8.Size = new System.Drawing.Size(86, 25);
- label8.TabIndex = 19;
- label8.Text = "Message:";
- //
// DvcDialog
//
AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F);
@@ -538,6 +597,8 @@ private void InitializeComponent()
panel1.PerformLayout();
sessionTab.ResumeLayout(false);
sessionTab.PerformLayout();
+ kbdLayoutGroupBox.ResumeLayout(false);
+ kbdLayoutGroupBox.PerformLayout();
ResumeLayout(false);
}
@@ -585,5 +646,10 @@ private void InitializeComponent()
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox shutdownMessageInput;
private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.GroupBox kbdLayoutGroupBox;
+ private System.Windows.Forms.Button setKbdLayoutButton;
+ private System.Windows.Forms.TextBox kbdLayoutInput;
+ private System.Windows.Forms.Button prevKbdLayoutButton;
+ private System.Windows.Forms.Button nextKbdLayoutButton;
}
}
\ No newline at end of file
diff --git a/dotnet/MsRdpEx_App/DvcDialog.cs b/dotnet/MsRdpEx_App/DvcDialog.cs
index dc1de3e..c92a778 100644
--- a/dotnet/MsRdpEx_App/DvcDialog.cs
+++ b/dotnet/MsRdpEx_App/DvcDialog.cs
@@ -375,5 +375,21 @@ private async void shutdownButton_Click(object sender, EventArgs e)
await nowClient.SystemShutdown(shutdownParams);
}
+
+ private async void prevKbdLayoutButton_Click(object sender, EventArgs e)
+ {
+ await nowClient.SessionSetKbdLayoutPrev();
+ }
+
+ private async void nextKbdLayoutButton_Click(object sender, EventArgs e)
+ {
+ await nowClient.SessionSetKbdLayoutNext();
+ }
+
+ private async void setKbdLayoutButton_Click(object sender, EventArgs e)
+ {
+ var layout = kbdLayoutInput.Text;
+ await nowClient.SessionSetKbdLayoutSpecific(layout);
+ }
}
}
diff --git a/dotnet/MsRdpEx_App/MsRdpEx_App.csproj b/dotnet/MsRdpEx_App/MsRdpEx_App.csproj
index a49a86d..751012b 100644
--- a/dotnet/MsRdpEx_App/MsRdpEx_App.csproj
+++ b/dotnet/MsRdpEx_App/MsRdpEx_App.csproj
@@ -34,7 +34,7 @@
-
+