以编程方式获取应用程序名称时如何使用FindWindow

jsls

我是一个新手,也许我根本没有正确使用方法。我想同时启动不同的采集软件。

为此,我有一个前台应用程序窗口,该窗口可模拟空格键的点击或模拟Mouseclick按下“播放按钮”时的。然后,我将其最小化,并将另一个应用程序置于前台并执行相同的操作。它实际上非常快,而且效果很好。

但是我对一个软件有问题。它的名称发生了很大变化(保存视频时使用的文件夹名称为该名称)。

为了找到当时该应用程序的名称,我使用enumwindow了过滤器并获取了它。

但是,这是我的问题,应用程序的名称另存为string

对于前台应用程序,我必须找到它,FindWindow并且必须在引号中加上应用程序的名称。当然,如果我用string引号引起来,那是行不通的。

这是我的代码:

//[Lot of Dllimport]
public void namewindow()
{
    string[] strWindowsTitles = GetDesktopWindowsTitles();
    //all the name of open applications
    foreach (string strTitle in strWindowsTitles)
    {
        if (strTitle.Contains("Motive"))
        {
            string Motive = strTitle;
            //Here if I put a MessageBox.Show(Motive),
            //I have a name like:
            //Motive:Body 1.10.0 Beta 1 (C:\Users\Public\Documents\OptiTrack\
        }
    }
}

public void openwindow()
{
    IntPtr splashwindow = FindWindowByCaption(IntPtr.Zero, "Motive");
    FindWindow;
    SetForegroundWindow(splashwindow);
    ShowWindowAsync(splashwindow, SW_SHOWNORMAL);
}

这项工作非常完美

IntPtr splashwindow = FindWindowByCaption(IntPtr.Zero, "Kinovea");
FindWindow;
SetForegroundWindow(splashwindow);
ShowWindowAsync(splashwindow, SW_SHOWNORMAL);

例如。

因此,如果我将应用程序的名称放在引号之间,则效果很好,但是如果我将应用程序的名称放在string引号之间,则什么都不会发生。您知道如何解决此问题吗?

巨龙

继续您在此问题中发布的内容,我认为您的代码应改为:

public string nameWindow(string searchFor)
{
    string[] strWindowsTitles = GetDesktopWindowsTitles();
    //all the names of open applications
    foreach (string strTitle in strWindowsTitles)
    {
        if (strTitle.Contains(searchFor))
        {
            return strTitle;
        }
    }
    else
        return null;
}
public void openwindow()
{
    string motiveWindow = nameWindow("Motive");
    if (motiveWindow != null){
        IntPtr splashwindow = FindWindowByCaption(IntPtr.Zero, motiveWindow);
        //FindWindow;//Not sure what this does?
        SetForegroundWindow(splashwindow);
        ShowWindowAsync(splashwindow, SW_SHOWNORMAL);
    }
}

它将对其进行更改,因此您的方法nameWindow()将在您的方法中将变量传递给您的方法找到一个窗口(它遇到的第一个窗口)searchFor在这种情况下,为“动机”。然后,如果变量motiveWindow不为null(因此已找到一个窗口),它将运行您期望的代码并显示该窗口。

您需要注意如何设置变量以及返回什么。目前,您nameWindow()似乎并没有做太多事情,可能会设置一个名为“ Motive”的变量,我没有看到它声明过,但是您再也不会在其他地方使用该变量了。在这里,我们将返回一个变量,并对返回的数据进行操作。您可能会发现想要使openWindow()方法采用变量,尝试打开一个同名的窗口,如果找不到,则调用该方法nameWindow()并进行搜索。这样一来,您就可以处理两种情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

以编程方式获取应用程序名称时如何使用FindWindow

来自分类Dev

PHP Facebook-发布时以编程方式覆盖应用程序名称

来自分类Dev

如何从进程名称获取应用程序名称?

来自分类Dev

如何在WPF中获取应用程序名称

来自分类Dev

如何在laravel中获取应用程序名称?

来自分类Dev

如何从python获取应用程序名称?

来自分类Dev

使用Python获取窗口标题或应用程序名称

来自分类Dev

如何使用实体框架更改应用程序名称

来自分类Dev

使用Serilog时如何覆盖appsettings.json中指定的应用程序名称?

来自分类Dev

如何获取最近安装的应用程序的应用程序名称

来自分类Dev

如何获取最近安装的应用程序的应用程序名称

来自分类Dev

在Android App中获取logcat时需要获取应用程序名称

来自分类Dev

在 App Store 上获取 iOS 应用程序名称

来自分类Dev

如何在.net mvc中获取带有应用程序名称的URL?

来自分类Dev

如何在网站中获取网站应用程序名称?

来自分类Dev

如何仅在Play 2.1的命令行上获取应用程序名称和版本

来自分类Dev

Facebook API:如何获取当前的应用程序名称空间?

来自分类Dev

如何在.net mvc中获取带有应用程序名称的URL?

来自分类Dev

如何通过广播获取意图过滤器和应用程序名称

来自分类Dev

使用NLog获取ASP.NET应用程序名称

来自分类Dev

应用程序名称还是小程序名称?

来自分类Dev

python xlib发生更改焦点事件时,如何“正确”检测应用程序名称

来自分类Dev

用SoX播放声音时如何指定PuseAudio的“应用程序名称”?

来自分类Dev

通过AdminApp安装时如何设置应用程序名称和安装路径?

来自分类Dev

使用Python打开的应用程序,当应用程序名称中有空格时不起作用

来自分类Dev

Qt:如何更改Android应用程序名称?

来自分类Dev

重命名后如何获得应用程序名称?

来自分类Dev

Android-如何从ActionBar删除应用程序名称

来自分类Dev

在启动PlayStore之前如何确定应用程序名称

Related 相关文章

  1. 1

    以编程方式获取应用程序名称时如何使用FindWindow

  2. 2

    PHP Facebook-发布时以编程方式覆盖应用程序名称

  3. 3

    如何从进程名称获取应用程序名称?

  4. 4

    如何在WPF中获取应用程序名称

  5. 5

    如何在laravel中获取应用程序名称?

  6. 6

    如何从python获取应用程序名称?

  7. 7

    使用Python获取窗口标题或应用程序名称

  8. 8

    如何使用实体框架更改应用程序名称

  9. 9

    使用Serilog时如何覆盖appsettings.json中指定的应用程序名称?

  10. 10

    如何获取最近安装的应用程序的应用程序名称

  11. 11

    如何获取最近安装的应用程序的应用程序名称

  12. 12

    在Android App中获取logcat时需要获取应用程序名称

  13. 13

    在 App Store 上获取 iOS 应用程序名称

  14. 14

    如何在.net mvc中获取带有应用程序名称的URL?

  15. 15

    如何在网站中获取网站应用程序名称?

  16. 16

    如何仅在Play 2.1的命令行上获取应用程序名称和版本

  17. 17

    Facebook API:如何获取当前的应用程序名称空间?

  18. 18

    如何在.net mvc中获取带有应用程序名称的URL?

  19. 19

    如何通过广播获取意图过滤器和应用程序名称

  20. 20

    使用NLog获取ASP.NET应用程序名称

  21. 21

    应用程序名称还是小程序名称?

  22. 22

    python xlib发生更改焦点事件时,如何“正确”检测应用程序名称

  23. 23

    用SoX播放声音时如何指定PuseAudio的“应用程序名称”?

  24. 24

    通过AdminApp安装时如何设置应用程序名称和安装路径?

  25. 25

    使用Python打开的应用程序,当应用程序名称中有空格时不起作用

  26. 26

    Qt:如何更改Android应用程序名称?

  27. 27

    重命名后如何获得应用程序名称?

  28. 28

    Android-如何从ActionBar删除应用程序名称

  29. 29

    在启动PlayStore之前如何确定应用程序名称

热门标签

归档