去掉DevExpress的Information启动界面

5 篇文章 0 订阅
1 篇文章 0 订阅

问题梗概:

在没有破解Dev软件的机器上运行包含Dev控件的程序,在软件启动,开始初始化内部dev控件的时候会弹出Dev 的Information界面。对于编程人员来说这毫无关系,可对于客户来说还是不满意的。半年前就想解决这个问题可一直没有实践,前段时间研究了下Windows消息,觉得利用消息可以解决这个问题,正好今天拿出时间试试,先说结果成功了,不过有点小瑕疵,就是Information会闪现,有机会再研究吧。具体代码如下:

代码:

引用库函数

        [DllImport("User32.dll", EntryPoint = "FindWindow")]
        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

        [DllImport("User32.dll", EntryPoint = "PostMessage")]
        private static extern void PostMessage(IntPtr hwnd, int msg, int wParam, int lParam);
        private const int WM_CLOSE = 0x0010;
        private int m_nWaitTime = 0;

在初始化组件前创建线程遍历窗体

            Thread thread = new Thread(FindFormThread);
            thread.Start();
            InitializeComponent();


  private void FindFormThread()
        {
            IntPtr handle = FindWindow(null, "Information");
            while (handle == IntPtr.Zero && m_nWaitTime <= 30000)
            {
                Thread.Sleep(1);
                handle = FindWindow(null, "Information");
                m_nWaitTime++;
            }
            PostMessage(handle, WM_CLOSE, 0, 0);
        }

原理很简单,就是等待dev的Information出现后,在线程里面找到并发送关闭消息

希望高人指示怎么解决闪现问题,或者其他方法避免Information窗体出现


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值