コード例 #1
0
        /// <summary>
        /// 获取NumBox的UIElement
        /// </summary>
        /// <param name="_type">"买入下单" or "卖出下单"</param>
        static void GetNumboxElement(string _type)
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, _type);
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);
                        elementlist       = uielement.FindByClassName("Edit", elementlist);
                        foreach (var i in elementlist)
                        {
                            if (i.Current.Name.ToString() == "" || i.Current.Name.ToString() == string.Empty)
                            {
                                if (_type == "买入下单")
                                {
                                    ZT_BuyNum = i;
                                }
                                else if (_type == "卖出下单")
                                {
                                    ZT_SaleNum = i;
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 获取持仓单UIElement
        /// 调用前需要点击买入or卖出按钮切换界面
        /// </summary>
        /// <param name="_type"  >"买入下单"or "卖出下单"</param>
        static void GetZTViewListElement(string _type)
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, _type);
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);

                        elementlist = uielement.FindByClassName("SysListView32", elementlist);
                        if (_type == "买入下单")
                        {
                            ZT_BuyListView = elementlist[0];
                        }
                        else if (_type == "卖出下单")
                        {
                            ZT_SaleListView = elementlist[0];
                        }

                        ZT_DataList = uielement.GetViewList(elementlist[0], 19);
                    }
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// 中投证券买入or点击
        /// </summary>
        /// <param name="_type">"买入"or"卖出"</param>
        static void GetZT_OrderButtonElement(string _type)
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, "锁定");
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);
                        elementlist       = uielement.FindByName(_type, elementlist);
                        if (_type == "买入")
                        {
                            ZT_BuyButtonElement = elementlist[0];
                        }
                        else if (_type == "卖出")
                        {
                            ZT_SaleButtonElement = elementlist[0];
                        }

                        //uielement.InvokeButton(elementlist[0]);
                    }
                }
            }
        }
コード例 #4
0
        static void Clickconfirm()
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            //uielement.ESCclick(elementlist[0]);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, "提示");

                    if (list.Count > 0)
                    {
                        Console.WriteLine("ture");
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);
                        elementlist       = uielement.FindByName("确认", elementlist);
                        var orderClick = new iAutomationElement();
                        orderClick.InvokeButton(elementlist[0]);
                        //return;
                    }
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// 获取下单按钮的UIELement
        /// </summary>
        /// <param name="_type">"买入下单" or "卖出下单"</param>
        static void GetZTOrder(string _type)
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, _type);
                    if (list.Count > 0)
                    {
                        if (_type == "买入下单")
                        {
                            ZT_BuyOrder = list[0];
                        }
                        else if (_type == "卖出下单")
                        {
                            ZT_SaleOrder = list[0];
                        }
                        //uielement.WriteTextBox(elementlist[0], "\b\b\b\b\b\b");
                        //uielement.WriteTextBox(elementlist[0], "000005");
                    }
                }
            }
        }
コード例 #6
0
 /// <summary>
 /// 获取确认交易按钮 UIElement
 /// </summary>
 /// <param name="_type">"买入确认" or "卖出确认"</param>
 static void GetConfirm(string _type)
 {
     try
     {
         var uielement   = new iAutomationElement();
         var elementlist = uielement.enumRoot();
         elementlist = uielement.FindByName("中投证券", elementlist);
         elementlist = uielement.enumNode(elementlist[0]);
         if (elementlist.Count > 1)
         {
             foreach (AutomationElement item in elementlist)
             {
                 var list = uielement.enumDescendants(item, _type);
                 if (list.Count > 0)
                 {
                     if (_type == "买入确认")
                     {
                         ZT_BuyConfirm = list[0];
                     }
                     else if (_type == "卖出确认")
                     {
                         ZT_SaleConfirm = list[0];
                     }
                 }
             }
         }
     }
     catch
     {
         return;
     }
 }
コード例 #7
0
        /// <summary>
        /// 股票买入
        /// </summary>
        /// <param name="_securitiesCode">证券代码</param>
        /// <param name="_num">数量</param>
        static void BuyOrder(string _securitiesCode)
        {
            var orderClick = new iAutomationElement();

            orderClick.InvokeButton(ZT_BuyButtonElement);
            Thread.Sleep(500);
            orderClick.WriteTextBox(ZT_BuySecuritiesCode, "\b\b\b\b\b\b");
            orderClick.WriteTextBox(ZT_BuySecuritiesCode, _securitiesCode);
            Thread.Sleep(500);
            var datalists = getSotckData(_securitiesCode);
            var sn        = ZT_CanUseMoney.Current.Name.ToString().Replace(" ", "");
            var n         = Convert.ToDecimal(sn);
            var m         = Convert.ToDecimal(datalists[3]);
            var canbuynum = Convert.ToInt32(n / m);
            var _num      = NumCalculation.GetBuyNum(datalists, canbuynum);

            _num = _num / 100 * 100;
            if (_num != 0)
            {
                orderClick.WriteTextBox(ZT_BuyNum, "\b\b\b\b\b\b");
                orderClick.WriteTextBox(ZT_BuyNum, _num.ToString());
                //orderClick.ButtonClick(ZT_BuyOrder);
                orderClick.InvokeButton(ZT_BuyOrder);

                GetConfirm("买入确认");
                if (ZT_BuyConfirm != null)
                {
                    orderClick.InvokeButton(ZT_BuyConfirm);
                    ZT_BuyConfirm = null;
                    Clickconfirm();
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// 股票卖出
        /// </summary>
        /// <param name="_securitiesCode">证券代码</param>
        static void SaleOrder(string _securitiesCode)
        {
            var orderClick   = new iAutomationElement();
            var datalist     = getSotckData(_securitiesCode);
            var positiondata = ZT_DataList[_securitiesCode];
            var _num         = NumCalculation.GetSaleNum(positiondata.data, datalist, A_param, B_param, C_param);

            _num = (Convert.ToInt32(_num) / 100 * 100).ToString();
            if (_num != "0")
            {
                orderClick.InvokeButton(ZT_SaleButtonElement);
                Thread.Sleep(500);
                orderClick.WriteTextBox(ZT_SaleSecuritiesCode, "\b\b\b\b\b\b");
                orderClick.WriteTextBox(ZT_SaleSecuritiesCode, _securitiesCode);
                Thread.Sleep(500);
                orderClick.WriteTextBox(ZT_SaleNum, "\b\b\b\b\b\b");
                orderClick.WriteTextBox(ZT_SaleNum, _num);
                Thread.Sleep(500);
                orderClick.InvokeButton(ZT_SaleOrder);

                GetConfirm("卖出确认");
                if (ZT_SaleConfirm != null)
                {
                    orderClick.InvokeButton(ZT_SaleConfirm);
                    ZT_SaleConfirm = null;
                    Clickconfirm();
                }
            }
        }
コード例 #9
0
        /// <summary>
        /// 获取证券代码TextBoxUIElement
        /// </summary>
        /// <param name="_type">"买入下单" or "卖出下单"</param>
        static void GetZTSecodeElement(string _type)
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, _type);
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);
                        elementlist       = uielement.FindByClassName("AfxWnd42", elementlist);
                        if (_type == "买入下单")
                        {
                            ZT_BuySecuritiesCode = elementlist[0];
                        }
                        else if (_type == "卖出下单")
                        {
                            ZT_SaleSecuritiesCode = elementlist[0];
                        }
                        //uielement.WriteTextBox(elementlist[0], "\b\b\b\b\b\b");
                        //uielement.WriteTextBox(elementlist[0], "000005");
                    }
                }
            }
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: iLunaMoonfang/Automation
        static void f(string _type)
        {
            var uielement = new iAutomationElement();
            var elementlist = uielement.enumRoot();
            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            foreach (var i in elementlist)
            {
                Console.WriteLine(i.Current.ClassName + "  " + i.Current.Name);
            }
            //if (elementlist.Count > 1)
            //{
            //    foreach (AutomationElement item in elementlist)
            //    {
            //        var list = uielement.enumDescendants(item, _type);
            //        if (list.Count > 0)
            //        {
            //            buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
            //            buyWindowsElement = TreeWalker.RawViewWalker.GetParent(buyWindowsElement);
            //            elementlist = uielement.enumNode(buyWindowsElement);

            //        }
            //    }
            //}
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: iLunaMoonfang/Automation
 /// <summary>
 /// 股票买入
 /// </summary>
 /// <param name="_securitiesCode">证券代码</param>
 /// <param name="_num">数量</param>
 static void BuyOrder(string _securitiesCode,string _num)
 {
     var orderClick = new iAutomationElement();
     orderClick.InvokeButton(ZT_BuyButtonElement);
     orderClick.WriteTextBox(ZT_BuySecuritiesCode, "\b\b\b\b\b\b");
     orderClick.WriteTextBox(ZT_BuySecuritiesCode, _securitiesCode);
     orderClick.WriteTextBox(ZT_BuyNum, "\b\b\b\b\b\b");
     orderClick.WriteTextBox(ZT_BuyNum, _num);
     orderClick.InvokeButton(ZT_BuyOrder);
     if (ZT_BuyConfirm == null)
         GetConfirm("买入确认");
 }
コード例 #12
0
        /// <summary>
        /// 更新持仓单信息
        /// </summary>
        void UpdatePostion()
        {
            var click = new iAutomationElement();

            if (ZT_PositionOrder != null)
            {
                click.InvokeButton(ZT_PositionOrder);
                GetZT_OutPutElement();
                if (ZT_Output != null)
                {
                    click.InvokeButton(ZT_Output);
                    GetZT_OutPutSuessElement();
                    if (ZT_OutputSuess != null)
                    {
                        click.InvokeButton(ZT_OutputSuess);
                        Thread.Sleep(500);
                        var uielement   = new iAutomationElement();
                        var elementlist = uielement.enumRoot();
                        elementlist = uielement.FindByClassName("Notepad", elementlist);

                        uielement.CloseTextBook(elementlist[0]);
                        var list = ReadText.Read();
                        foreach (var item in list)
                        {
                            string[] array = item.Split(new char[]
                            {
                                '|'
                            });
                            var data = new DataItem();
                            data.data = array;
                            if (!ZT_DataList.ContainsKey(array[0]))
                            {
                                ZT_DataList.Add(array[0], data);
                            }
                            else
                            {
                                //若标记为空更新全部数据
                                if (ZT_DataList[array[0]].data[18] == "")
                                {
                                    ZT_DataList[array[0]] = data;
                                }
                                else
                                {
                                    data.data[18]         = "1";
                                    ZT_DataList[array[0]] = data;
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: iLunaMoonfang/Automation
        static void ReadWarmingOrder()
        {
            while (true)
            {
                DZH_DataList.Clear();
                var data = new iAutomationElement();
                DZH_DataList = data.GetViewList(DZH_uiElement, 5);
                foreach(var item in DZH_DataList)
                {

                }
            }
        }
コード例 #14
0
ファイル: Program.cs プロジェクト: iLunaMoonfang/Automation
 /// <summary>
 /// 股票卖出
 /// </summary>
 /// <param name="_securitiesCode">证券代码</param>
 /// <param name="_num">数量</param>
 static void SaleOrder(string _securitiesCode, string _num)
 {
     var orderClick = new iAutomationElement();
     orderClick.InvokeButton(ZT_SaleButtonElement);
     Thread.Sleep(500);
     orderClick.WriteTextBox(ZT_SaleSecuritiesCode, "\b\b\b\b\b\b");
     orderClick.WriteTextBox(ZT_SaleSecuritiesCode, _securitiesCode);
     Thread.Sleep(500);
     orderClick.WriteTextBox(ZT_SaleNum, "\b\b\b\b\b\b");
     orderClick.WriteTextBox(ZT_SaleNum, _num);
     Thread.Sleep(500);
     orderClick.InvokeButton(ZT_SaleOrder);
     if(ZT_SaleConfirm==null)
         GetConfirm("卖出确认");
 }
コード例 #15
0
ファイル: Program.cs プロジェクト: iLunaMoonfang/Automation
 /// <summary>
 /// 大智慧预警表读取
 /// </summary>
 static void GetReadWaringListViewElement()
 {
     var uielement = new iAutomationElement();
     var elemlentlist = uielement.enumRoot();
     elemlentlist = uielement.FindByName("大智慧", elemlentlist);
     elemlentlist = uielement.enumNode(elemlentlist[0]);
     elemlentlist = uielement.FindByName("预警", elemlentlist);
     //foreach (AutomationElement item in elemlentlist)
     //{
     //    Console.WriteLine(item.Current.Name + "" + item.Current.ClassName);
     //}
     elemlentlist = uielement.enumNode(elemlentlist[0]);
     elemlentlist = uielement.FindByName("List2", elemlentlist);
     DZH_uiElement = elemlentlist[0];
     DZH_DataList = uielement.GetViewList(elemlentlist[0],5);
 }
コード例 #16
0
        /// <summary>
        /// 持仓检测
        /// </summary>
        void PositionDetection()
        {
            if (postionRun && isRun)
            {
                UpdatePostion();
                foreach (var item in ZT_DataList)
                {
                    if (postionRun && isRun && item.Value.data[18] == "")
                    {
                        var code = item.Key;

                        var orderClick   = new iAutomationElement();
                        var datalist     = getSotckData(code);
                        var positiondata = ZT_DataList[code];
                        var _num         = NumCalculation.GetSaleNum(positiondata.data, datalist, A_param, B_param, C_param);
                        _num = (Convert.ToInt32(_num) / 100 * 100).ToString();
                        if (_num != "0")
                        {
                            //数量不为0 数据标记 下次持仓检测不做
                            ZT_DataList[code].data[18] = "1";
                            orderClick.InvokeButton(ZT_SaleButtonElement);
                            Thread.Sleep(500);
                            orderClick.WriteTextBox(ZT_SaleSecuritiesCode, "\b\b\b\b\b\b");
                            orderClick.WriteTextBox(ZT_SaleSecuritiesCode, code);
                            Thread.Sleep(500);
                            orderClick.WriteTextBox(ZT_SaleNum, "\b\b\b\b\b\b");
                            orderClick.WriteTextBox(ZT_SaleNum, _num);
                            Thread.Sleep(500);
                            orderClick.InvokeButton(ZT_SaleOrder);
                            GetConfirm("卖出确认");
                            if (ZT_SaleConfirm != null)
                            {
                                orderClick.InvokeButton(ZT_SaleConfirm);
                                ZT_SaleConfirm = null;
                                Clickconfirm();
                            }
                        }
                    }
                }
            }
        }
コード例 #17
0
ファイル: Program.cs プロジェクト: iLunaMoonfang/Automation
        /// <summary>
        /// 获取当前可用资金
        /// </summary>
        static void GetCanUseMoney()
        {
            var uielement = new iAutomationElement();
            var elementlist = uielement.enumRoot();
            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, "买入下单");
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist = uielement.enumNode(buyWindowsElement);
                        elementlist = uielement.FindByClassName("Static", elementlist);
                        ZT_CanUseMoney = elementlist[7];

                    }
                }
            }
        }
コード例 #18
0
        /// <summary>
        /// 获取
        /// </summary>
        static void GetZT_OutPutSuessElement()
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, "输出");
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);
                        elementlist       = uielement.FindByName("确  定", elementlist);
                        ZT_OutputSuess    = elementlist[0];
                    }
                }
            }
        }
コード例 #19
0
        /// <summary>
        /// 大智慧预警表读取
        /// </summary>
        void GetReadWaringListViewElement()
        {
            var uielement    = new iAutomationElement();
            var elemlentlist = uielement.enumRoot();

            elemlentlist = uielement.FindByName("大智慧", elemlentlist);
            if (elemlentlist.Count > 0)
            {
                elemlentlist = uielement.enumNode(elemlentlist[0]);
                elemlentlist = uielement.FindByName("预警", elemlentlist);
                if (elemlentlist.Count > 0)
                {
                    elemlentlist = uielement.enumNode(elemlentlist[0]);
                    elemlentlist = uielement.FindByName("List2", elemlentlist);
                    if (elemlentlist.Count > 0)
                    {
                        DZH_uiElement = elemlentlist[0];
                        DZH_DataList  = uielement.GetViewList(elemlentlist[0], 5);
                    }
                    else
                    {
                        output("预警列表加载失败");
                        return;
                    }
                }
                else
                {
                    output("预警列表未打开");
                    return;
                }
            }
            else
            {
                output("未找到大智慧句柄");
                return;
            }
        }
コード例 #20
0
ファイル: Program.cs プロジェクト: iLunaMoonfang/Automation
 /// <summary>
 /// 基础数据初始化
 /// </summary>
 static void initialization()
 {
     //读取需要的句柄以及UIElement
     //1.读取预警列表UIElement     DZH_uiElement
        // GetReadWaringListViewElement();
     //2.买入按钮UIElement
     GetZT_OrderButtonElement("买入");
     //3.卖出按钮UIElement
     GetZT_OrderButtonElement("卖出");
     //4.获取买入界面UIElement
     var click = new iAutomationElement();
     //点击买入按钮
     click.InvokeButton(ZT_BuyButtonElement);
     //获取持仓单UIElement
     GetZTViewListElement("买入下单");
     //获取买入界面证券代码TextBox UIElement
     GetZTSecodeElement("买入下单");
     //输入证券代码
     click.WriteTextBox(ZT_BuySecuritiesCode, "000001");
     //获取NumBoxUIElement
     GetNumboxElement("买入下单");
     //获取ZT_BuyOrderUIElement
     GetZTOrder("买入下单");
     //5.获取卖出界面UIElement
     //点击买入按钮
     click.InvokeButton(ZT_SaleButtonElement);
     //获取持仓单UIElement
     GetZTViewListElement("卖出下单");
     //获取买入界面证券代码TextBox UIElement
     GetZTSecodeElement("卖出下单");
     //输入证券代码
     click.WriteTextBox(ZT_SaleSecuritiesCode, "000001");
     //获取NumBoxUIElement
     GetNumboxElement("卖出下单");
     //获取ZT_SaleOrderUIElement
     GetZTOrder("卖出下单");
 }
コード例 #21
0
        /// <summary>
        /// 更新预警列表
        /// </summary>
        void updateWarming()
        {
            while (isRun)
            {
                BindingList <WarmingData> listA = new BindingList <WarmingData>();
                var data = new iAutomationElement();
                var list = data.GetViewList(DZH_uiElement, 5);
                foreach (var i in list)
                {
                    var item = new WarmingData();
                    item.code      = i.Value.data[0];
                    item.condition = i.Value.data[1];
                    item.time      = i.Value.data[2];
                    item.price     = i.Value.data[3];
                    item.nowprice  = i.Value.data[4];
                    item.flag      = "";
                    listA.Add(item);
                    //var code = IsNum(i.Value.data[0]);
                    //BuyOrder(code);
                }

                var query = listA.Where(p =>
                {
                    if ((!bdlist.Any(s => s.code == p.code)) && bdlist.Any(s => s.condition == p.condition))
                    {
                        return(true);
                    }
                    return(false);
                });

                foreach (var item in query)
                {
                    bdlist.Add(item);
                }
                Thread.Sleep(5000);
            }
        }
コード例 #22
0
        /// <summary>
        /// 获取输出AutomationElement
        /// </summary>
        static void GetZT_OutPutElement()
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, "修改成本");
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);
                        elementlist       = uielement.FindByName("输 出", elementlist);
                        ZT_Output         = elementlist[0];
                        //uielement.WriteTextBox(elementlist[0], "\b\b\b\b\b\b");
                        //uielement.WriteTextBox(elementlist[0], "000005");
                    }
                }
            }
        }
コード例 #23
0
        /// <summary>
        /// 获取持仓按钮
        /// </summary>
        static void GetZT_PositionOrderButtonElement()
        {
            var uielement   = new iAutomationElement();
            var elementlist = uielement.enumRoot();

            elementlist = uielement.FindByName("中投证券", elementlist);
            elementlist = uielement.enumNode(elementlist[0]);
            if (elementlist.Count > 1)
            {
                foreach (AutomationElement item in elementlist)
                {
                    var list = uielement.enumDescendants(item, "锁定");
                    if (list.Count > 0)
                    {
                        buyWindowsElement = TreeWalker.RawViewWalker.GetParent(list[0]);
                        elementlist       = uielement.enumNode(buyWindowsElement);
                        elementlist       = uielement.FindByName("持仓", elementlist);

                        ZT_PositionOrder = elementlist[0];
                        //uielement.InvokeButton(elementlist[0]);
                    }
                }
            }
        }
コード例 #24
0
        /// <summary>
        /// 基础数据初始化
        /// </summary>
        void initialization()
        {
            //读取需要的句柄以及UIElement
            //1.读取预警列表UIElement     DZH_uiElement
            //GetReadWaringListViewElement();
            //2.买入按钮UIElement
            GetZT_OrderButtonElement("买入");
            //3.卖出按钮UIElement
            GetZT_OrderButtonElement("卖出");
            //4.获取买入界面UIElement
            var click = new iAutomationElement();

            //点击买入按钮
            click.InvokeButton(ZT_BuyButtonElement);
            ////获取持仓单UIElement
            //GetZTViewListElement("买入下单");
            //获取买入界面证券代码TextBox UIElement
            GetZTSecodeElement("买入下单");
            //输入证券代码
            click.WriteTextBox(ZT_BuySecuritiesCode, "000001");
            //获取NumBoxUIElement
            GetNumboxElement("买入下单");
            //获取ZT_BuyOrderUIElement
            GetZTOrder("买入下单");
            //获取 ZT_CanUseMoneyUIElement
            GetCanUseMoney();
            //获取 ZT_BuyPriceUIElement
            //GetBuyPrice();

            //5.获取卖出界面UIElement
            //点击买入按钮
            click.InvokeButton(ZT_SaleButtonElement);
            ////获取持仓单UIElement
            //GetZTViewListElement("卖出下单");
            //获取买入界面证券代码TextBox UIElement
            GetZTSecodeElement("卖出下单");
            //输入证券代码
            click.WriteTextBox(ZT_SaleSecuritiesCode, "000001");
            //获取NumBoxUIElement
            GetNumboxElement("卖出下单");
            //获取ZT_SaleOrderUIElement
            GetZTOrder("卖出下单");
            //获取持仓按钮
            GetZT_PositionOrderButtonElement();
            //获取A参数
            string textA = IniFunc.GetString("Param", "A", "", Application.StartupPath + "\\config.ini").Trim();

            if (textA.Contains("|"))
            {
                string[] array = textA.Split(new char[]
                {
                    '|'
                });
                for (int i = 0; i < array.Count(); i++)
                {
                    A_param[i] = Convert.ToDouble(array[i]);
                }
            }
            //获取B参数
            string textB = IniFunc.GetString("Param", "B", "", Application.StartupPath + "\\config.ini").Trim();

            if (textB.Contains("|"))
            {
                string[] array = textB.Split(new char[]
                {
                    '|'
                });
                for (int i = 0; i < array.Count(); i++)
                {
                    B_param[i] = Convert.ToDouble(array[i]);
                }
            }
            //获取C参数
            string textC = IniFunc.GetString("Param", "C", "", Application.StartupPath + "\\config.ini").Trim();

            if (textC.Contains("|"))
            {
                string[] array = textC.Split(new char[]
                {
                    '|'
                });
                for (int i = 0; i < array.Count(); i++)
                {
                    C_param[i] = Convert.ToDouble(array[i]);
                }
            }
        }