C#将密钥发送给彭博社

C#将密钥发送给彭博社,c#,vba,sendkeys,bloomberg,dde,C#,Vba,Sendkeys,Bloomberg,Dde,我的老板让我将下面的VBA代码转换成C(我是C的新手) 但现在的问题是: 我不知道彭博视窗的名称,因为我的电脑没有安装彭博视窗 从VBA代码中,代码的含义是什么?例如,当我想向彭博社发送一个“Enter”时,我应该在我的代码中键入{Enter}还是 非常感谢,我真的很困惑:(C#/.NET应用程序使用TerminalConnect Api与彭博终端集成 例如,以下代码将“IBM US Equity”加载到面板#1中,然后运行MACD函数: BlpTerminal.RunFunction("MAC

我的老板让我将下面的VBA代码转换成C(我是C的新手)

但现在的问题是:

  • 我不知道彭博视窗的名称,因为我的电脑没有安装彭博视窗

  • 从VBA代码中,代码的含义是什么?例如,当我想向彭博社发送一个“Enter”时,我应该在我的代码中键入{Enter}还是

  • 非常感谢,我真的很困惑:(

    C#/.NET应用程序使用TerminalConnect Api与彭博终端集成

    例如,以下代码将“IBM US Equity”加载到面板#1中,然后运行MACD函数:

    BlpTerminal.RunFunction("MACD", "1", new List<string>() {"IBM US Equity"});
    
    BlpTerminal.RunFunction(“MACD”,“1”,newlist(){“ibmus Equity”});
    

    有关TerminalConnect SDK的更多信息,请联系terminalapi@bloomberg.net.

    您可以使用它自动登录彭博社

                var p = new Process();
                p.StartInfo.FileName = @"C:\BLP\wintrv\WINTRV.EXE";
                p.StartInfo.EnvironmentVariables["sessioname"] = "Console";
                p.StartInfo.EnvironmentVariables["SESSIONNAME"] = "Console";
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.CreateNoWindow = true;
                p.Start();
                Thread.Sleep(45000);
    
    
            IntPtr handle = FindWindow(null, "1-BLOOMBERG");
            if (!handle.Equals(IntPtr.Zero))
            {
                if (SetForegroundWindow(handle))
                {
                    Thread.Sleep(5000);
                    SendKeys.SendWait("{ENTER}");
                    Thread.Sleep(3000);
                    SendKeys.SendWait("USER");
                    Thread.Sleep(5000);
                    SendKeys.SendWait("{TAB}");
                    Thread.Sleep(3000);
                    SendKeys.SendWait("PASSWORD");
                    SendKeys.SendWait("{ENTER}");
                }
            }
    

    最初的VBA代码是动态数据交换(DDE),不发送击键。应用程序是否仍然支持DDE?您的问题可能是关于在.NET下使用DDE,或者如何发送击键。
    BlpTerminal.RunFunction("MACD", "1", new List<string>() {"IBM US Equity"});
    
                var p = new Process();
                p.StartInfo.FileName = @"C:\BLP\wintrv\WINTRV.EXE";
                p.StartInfo.EnvironmentVariables["sessioname"] = "Console";
                p.StartInfo.EnvironmentVariables["SESSIONNAME"] = "Console";
                p.StartInfo.UseShellExecute = false;
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.CreateNoWindow = true;
                p.Start();
                Thread.Sleep(45000);
    
    
            IntPtr handle = FindWindow(null, "1-BLOOMBERG");
            if (!handle.Equals(IntPtr.Zero))
            {
                if (SetForegroundWindow(handle))
                {
                    Thread.Sleep(5000);
                    SendKeys.SendWait("{ENTER}");
                    Thread.Sleep(3000);
                    SendKeys.SendWait("USER");
                    Thread.Sleep(5000);
                    SendKeys.SendWait("{TAB}");
                    Thread.Sleep(3000);
                    SendKeys.SendWait("PASSWORD");
                    SendKeys.SendWait("{ENTER}");
                }
            }