引号

时间:2016-05-30 09:33:00

标签: c#

我正在尝试让我的程序以编程方式查找窗口,因为我按标题使用findwindow

[DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
        static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);

IntPtr splashwindow = FindWindowByCaption(IntPtr.Zero,
    "Motive:Body 1.10.0 Beta 1 (C:\Users\Public\Documents\OptiTrack\)" )

它完全正常,但我需要做

string Motive = "Motive:Body 1.10.0 Beta 1 (C:\Users\Public\Documents\OptiTrack\)"

并将其放入函数

IntPtr splashwindow = FindWindowByCaption(IntPtr.Zero , "Motive" ) 

显然它无法工作,因为FindWindowByCaption方法正在寻找一个名为" Motive"的程序。 那么我怎样才能跳过"要使FindWindowByCaption识别字符串的引号?

Heres是我的代码

public void getwindow()
{
    string[] strWindowsTitles = GetDesktopWindowsTitles();
    string Motive;
    foreach (string strTitle in strWindowsTitles)
    {
        if (strTitle.Contains("Motive"))
        {
            Motive = strTitle;
            MessageBox.Show(Motive); 
            // this shows me Motive:Body 1.10.0 Beta 1
            //(C:\Users\Public\Documents\OptiTrack\)
        }
    }
    IntPtr splashwindow = FindWindowByCaption(IntPtr.Zero , Motive );          
}

我通过enumwindow得到了所有已打开的应用程序的名称(这部分代码很长并且运行正常)将其放入strWindowTitles&通过过滤器得到我需要的那个。

0 个答案:

没有答案