C# 为什么RDP上没有显示消息框
我有一个简单的“hello world”程序和一个messagebox。它可以工作,但当我通过远程桌面运行它时,MessageBox不会显示(不在窗体下,但会消失,就像“MessageBox.show()”脚本没有运行一样) 这是一台虚拟hyper-v机器,运行Win Server 2012 该代码在开发环境中运行良好,并在该hyper-v over rdp的物理主机上进行了尝试,也按预期运行C# 为什么RDP上没有显示消息框,c#,winforms,messagebox,hyper-v,rdp,C#,Winforms,Messagebox,Hyper V,Rdp,我有一个简单的“hello world”程序和一个messagebox。它可以工作,但当我通过远程桌面运行它时,MessageBox不会显示(不在窗体下,但会消失,就像“MessageBox.show()”脚本没有运行一样) 这是一台虚拟hyper-v机器,运行Win Server 2012 该代码在开发环境中运行良好,并在该hyper-v over rdp的物理主机上进行了尝试,也按预期运行 private void button1_Click(object sender, EventArgs
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("hello world! from Window~");
}
消息框应弹出,然后用户应在执行任何其他操作(如关闭窗口)之前单击“确定”按钮
是否应在虚拟机上检查任何其他设置?听起来与另一个问题类似,他们发现窗口正在另一个会话中显示: 在找到正确的会话标识符后,OP能够让它工作,但他们正在进行一些DLL导入,并使用
WTSSendMessage
而不是MessageBox
,这可能超出了您打算执行的范围
另一种可能是尝试另一种方法,即指定一个
IWin32Owner
,以强制在其中显示消息的上下文。感谢您的回复。我终于找到了解决办法。
我将“目标框架”切换到调试-->属性-->应用程序下的.Net framework 4.5,该应用程序默认为.Net framework 4,然后再次编译。它是有效的。
有人知道为什么基于.Net framework 4编译的server2012上不显示msgbox吗?hi@john,谢谢你的回复。但与相关问题有所不同。我的msgbox不会弹出,也不会在窗体下弹出。用户可以关闭窗口,但msgbox中的OK按钮应该按预期的那样按下。哦,我明白了。那我恐怕找不到任何东西了。