locked
Both local and remote Microsoft pinyin IME show candidate words list in my own remoteapp client? RRS feed

  • Question

  • I am using the Remote Desktop ActiveX control interface provided by Microsoft to develop an RDP client for remoteapp scenarios with C#. When using it to open a remoteapp, and switch to Microsoft Pinyin input method locally, the remote desktop will automatically switch to the same input method. When I enter Chinese language, both local and remote input methods will respond to keyboard events. And they all show the candidate word toolbar. If I use Chinese input methods other than Microsoft Pinyin locally, this will not happen. Later, I tried to use the mstsc command of Windows to open the same remoteapp. The Microsoft Pinyin input method does not appear to respond locally and remotely. Are there any special properties in Remote Desktop ActiveX that need to be set?

    System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AxContainer));
            this.rdp = new AxMSTSCLib.AxMsRdpClient9NotSafeForScripting();
            ((System.ComponentModel.ISupportInitialize)(this.rdp)).BeginInit();
            this.SuspendLayout();
            // 
            // rdp
            // 
            this.rdp.Dock = System.Windows.Forms.DockStyle.Fill;
            this.rdp.Enabled = true;
            this.rdp.Location = new System.Drawing.Point(0, 0);
            this.rdp.Name = "rdp";
            this.rdp.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("rdp.OcxState")));
            this.rdp.Size = new System.Drawing.Size(800, 450);
            this.rdp.TabIndex = 0;
            // 
            // AxContainer
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(800, 450);
            this.Controls.Add(this.rdp);
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.Name = "AxContainer";
            this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "remoteappclient";
            this.TopMost = true;
            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.AxContainer_FormClosing);
            this.Load += new System.EventHandler(this.AxContainer_Load);
            ((System.ComponentModel.ISupportInitialize)(this.rdp)).EndInit();
            this.ResumeLayout(false);
    When connect to remote desknbsp;           rdp.AdvancedSettings9.EnableAutoReconnect = true;
                rdp.RemoteProgram2.RemoteProgramMode = true;
                rdp.MsRdpClientShell.PublicMode = true;
                rdp.FullScreen = true;
    
                //rdp.TransportSettings4.GatewayDomain = _msg.Credential.Domain;
                rdp.TransportSettings4.GatewayUsername = msg.Credential.Domain + "\\" + _msg.Credential.Username;
                rdp.TransportSettings4.GatewayPassword = _msg.Credential.ClearPassword;
                //rdp.TransportSettings4.GatewayHostname = _rdpFile.GatewayHostname.Split(':')[0];
                rdp.TransportSettings4.GatewayHostname = _rdpFile.GatewayHostname;
    
                rdp.TransportSettings4.GatewayUsageMethod = _rdpFile.GatewayUsageMethod;
                rdp.TransportSettings4.GatewayProfileUsageMethod = _rdpFile.GatewayProfileUsageMethod;
                rdp.TransportSettings4.GatewayCredsSource = _rdpFile.GatewayCredentialsSource;
                rdp.Server = _rdpFile.FullAddress.Split(':')[0];
                rdp.AdvancedSettings9.RDPPort = _rdpFile.ServerPort;
                rdp.Domain = _msg.Credential.Domain;
                rdp.UserName = _msg.Credential.Username;
                rdp.AdvancedSettings9.ClearTextPassword = _msg.Credential.ClearPassword;
                rdp.DesktopWidth = SystemInformation.VirtualScreen.Width;
                rdp.DesktopHeight = SystemInformation.VirtualScreen.Height;
                rdp.AdvancedSettings9.HotKeyCtrlAltDel = 0;
                rdp.AdvancedSettings9.HotKeyAltEsc = 0;
                rdp.AdvancedSettings9.HotKeyAltShiftTab = 0;
                rdp.AdvancedSettings9.HotKeyAltSpace = 0;
                rdp.AdvancedSettings9.HotKeyAltTab = 0;
                rdp.AdvancedSettings9.HotKeyFocusReleaseLeft = 0;
                rdp.AdvancedSettings9.HotKeyFocusReleaseRight = 0;
                rdp.AdvancedSettings9.HotKeyFullScreen = 0;
    
    
                rdp.AdvancedSettings9.SmartSizing = true;
                //0: If Server authentication(RDSH certificate) fails, connect without warning
                rdp.AdvancedSettings9.AuthenticationLevel = 0;
                rdp.AdvancedSettings9.EnableCredSspSupport = true;
                rdp.AdvancedSettings9.keepAliveInterval = 10000;
                rdp.AdvancedSettings9.minInputSendInterval = 50;
                //rdp.AdvancedSettings9.MinutesToIdleTimeout = 
                rdp.AdvancedSettings9.PerformanceFlags = TS_PERF_DISABLE_WALLPAPER|TS_PERF_DISABLE_THEMING|TS_PERF_DISABLE_MENUANIMATIONS|TS_PERF_DISABLE_CURSOR_SHADOW;
    
                rdp.AdvancedSettings9.RedirectSmartCards = true;
                rdp.AdvancedSettings9.RedirectDevices = false;
                rdp.AdvancedSettings9.RedirectDirectX = false;
                rdp.AdvancedSettings9.RedirectDrives = false;
    
                rdp.Connect();

    Monday, March 23, 2020 1:09 PM

Answers

All replies

  • Hi matg9,
    Based on your description, it is mostly related to Remote Desktop ActiveX. I will move it to "where is the forum for" form and People in this forum will move the case to the correct forum.
    Thank you for your understanding.
    Best Regards,
    Daniel Zhang


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Tuesday, March 24, 2020 3:32 AM
  • Might aslo try asking for help over here.

    https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?forum=windowsgeneraldevelopmentissues

     

     



    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows Server] Datacenter Management

    Disclaimer: This posting is provided "AS IS" with no warranties or guarantees, and confers no rights.

    Tuesday, March 31, 2020 4:22 PM