0

很难做出一个有意义的标题。

所以我正在使用 SalesLogix CRM 并尝试导航到所述 CRM 中的联系人。Saleslogix 允许您几乎像使用看起来像的 urlslx:CONTACT//C6UJ9A006S96

该行会将 CRM 定向到具有该 ID 的联系人。

我的问题是,当我尝试导航到该 url 时,我打开了一个新的 SalesLogix 实例,而不是使用当前实例。

Saleslogix 是一款基于桌面的软件,仅供您参考。

对我来说奇怪的是,如果我从开始菜单使用 Windows 的“运行...”并输入,slx:CONTACT//C6UJ9A006S96那么它将使用已经打开的应用程序,与普通命令提示符相同,但是如果我使用管理员命令提示符它将打开一个新的 SalesLogix 实例。我检查了任务管理器,无论我是使用管理员命令提示符还是仅使用桌面窗口打开它,它都会说它正在我当前用户下运行,而不是系统或任何奇怪的东西,所以看起来用户不是问题。

我的代码是:

Process[] processes = Process.GetProcesses();
        foreach (Process p in processes)
        {
            if (p.ProcessName == "SalesLogix")
            {
                p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.UseShellExecute = false;

                p.StartInfo.FileName = @"C:\Program Files (x86)\SalesLogix\SalesLogix.exe";
                p.StartInfo.Arguments = "slx:CONTACT//C6UJ9A006S96";
                p.Start();
            }
        }

任何帮助将不胜感激,如果我没有足够清楚地解释我的问题,我很乐意解决任何困惑。

4

2 回答 2

1

尝试直接运行 URL。如,不要执行 SalesLogix exe,只需将 URI 作为文件名传递,让 Windows 协议处理程序处理它。

于 2017-07-22T20:28:55.713 回答
0

我认为您在这里所做的是采用已经运行的进程,重写其参数并重新启动它。您是否尝试使用这些参数简单地调用新进程以查看它是否会附加到现有系统进程?

于 2017-07-21T13:06:15.250 回答