在Windows窗体应用程序和控制台应用程序中注册DDE服务器

时间:2011-02-07 14:35:22

标签: windows winforms dde

我需要在Windows窗体和控制台应用程序中注册DDE服务器。我已经在Windows窗体应用程序的各个点尝试了注册代码,但它似乎没有注册。我在frmMain和Program.cs Main()中尝试过它。

当我尝试DDE服务器时,我得到标准的无法连接消息:“MainForm_Load:客户端无法连接到”CRMIntegrator | myservice“。确保服务器应用程序正在运行并且它支持指定的服务名称和主题名称对。“

这是我的注册码:

public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
            try
            {
                // Create a server that will register the service name 'myapp'.
                using (DdeServer server = new MyServer("CRMIntegrator"))
                {
                    // Register the service name.
                    server.Register();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }

1 个答案:

答案 0 :(得分:2)

您未在此处正确使用使用关键字。在Register()调用之后,服务器将立即被处理掉。这确实使得在Load事件运行时它仍然存在的可能性很小。

服务器变量设置为表单类中的字段。在窗体关闭之前不要处理它,在OnFormClosed()方法覆盖或FormClosed事件处理程序中这样做。