将外部应用程序移动到屏幕前面

2024-02-20

我正在运行的应用程序需要调用单独的应用程序来进行一些扫描。我通过启动一个新的应用程序来调用另一个应用程序System.Diagnostics.Process。一旦获得该流程,我就会调用一个方法来让该应用程序获得焦点。我尝试了两种不同的方法来让外部应用程序获得焦点,但都不起作用。有人可以帮忙吗?

这是代码:

using System.Runtime.InteropServices;

    [DllImport("user32.dll")]
    private static extern bool ShowWindow(IntPtr hWnd, uint windowStyle);

    [DllImport("user32.dll")]
    private static extern bool SetWindowPos(IntPtr hWnd, 
      IntPtr hWndInsertAfter, int x, int y, int cx, int cy, uint uFlags);

    [DllImport("user32.dll")]
    private static extern bool SetForegroundWindow(IntPtr hWnd);

    private static void GiveSpecifiedAppTheFocus(int processID)
    {
        try
        {
            Process p = Process.GetProcessById(processID);

            ShowWindow(p.MainWindowHandle, 1);
            SetWindowPos(p.MainWindowHandle, new IntPtr(-1), 0, 0, 0, 0, 3);

            //SetForegroundWindow(p.MainWindowHandle);
        }
        catch
        {
            throw;
        }
    }

第一个场景使用ShowWindow and SetWindowPos方法,另一种方法使用SetForegroundWindow方法。两者都行不通...

我是否使用了错误的方法,或者我正在使用的代码中有错误?谢谢大家!


使用 SetWindowPos,但每当您不希望窗口成为最顶层时,请再次调用它,并将第二个参数设置为 -2 (HWND_NOTOPMOST) 而不是 -1(HWND_TOPMOST)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将外部应用程序移动到屏幕前面 的相关文章

  • 进程何时获得 SIGABRT(信号 6)?

    C 中进程获得 SIGABRT 的场景有哪些 该信号是否始终来自进程内部 或者该信号可以从一个进程发送到另一个进程吗 有没有办法识别哪个进程正在发送该信号 abort 向调用进程发送SIGABRT信号 就是这样abort 基本上有效 abo
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • Clang 编译器 (x86):80 位长双精度

    我正在尝试在 x86 Windows 平台上使用本机 80 位长双精度 海湾合作委员会选项 mlong double 80 https gcc gnu org onlinedocs gcc x86 Options html似乎不适用于 cl
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • Azure 事件中心 - 按顺序接收事件

    我使用下面的代码从 Azure Event Hub 接收事件 https learn microsoft com en us azure event hubs event hubs dotnet framework getstarted s
  • 通过 NHibernate 进行查询,无需 N+1 - 包含示例

    我有一个 N 1 问题 我不知道如何解决它 可以在这个问题的底部找到完全可重复的样本 因此 如果您愿意 请创建数据库 设置 NUnit 测试和所有附带的类 并尝试在本地消除 N 1 这是我遇到的真实问题的匿名版本 众所周知 这段代码对于帮助
  • 当“int”处于最大值并使用 postfix ++ 进行测试时,代码定义良好吗?

    示例 未定义行为的一个示例是整数溢出的行为 C11dr 3 4 3 3 int溢出是未定义的行为 但这是否适用于存在循环的以下内容 并且不使用现在超出范围的副作用i 特别是 这是否后缀增量规格帮助 结果的值计算在副作用之前排序 更新操作数的
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • 使用 CSharpCodeProvider 类编译 C# 7.3 的 C# 编译器版本是什么?

    我想使用 Microsoft CSharp CSharpCodeProvider 类来编译 C 7 3 代码 编译器版本在 IDictionary 中指定 在创建新的 CSharpCodeProvider 时将其作为输入 例如 Compil
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 是否可以在 C# 中强制接口实现为虚拟?

    我今天遇到了一个问题 试图重写尚未声明为虚拟的接口方法的实现 在这种情况下 我无法更改接口或基本实现 而必须尝试其他方法 但我想知道是否有一种方法可以强制类使用虚拟方法实现接口 Example interface IBuilder

随机推荐

  • 在 VS 2008 中为单个项目关闭 Intellisense

    我有一个包含大约 1000 个类的项目 不 没有办法方便地将这个项目分成多个 仅加载项目就需要大约 20 分钟 因为智能感知会缓慢地浏览所有类 并占用近 1GB 内存 有没有办法为单个项目关闭 Intellisense 但为解决方案中的所有
  • Java:通过 Parse.com REST API 将日期对象作为 JSONObject 发送

    我正在尝试使用 HttpsUrlConnection 通过 Parse 的 REST API 在 Parse com 数据库中创建一个新对象 他们的 REST API 只接受 JSON 我已经让一切正常工作 数据库将接受新的对象条目 除非我
  • Pip 21.1 无法导入 InvalidSchemeCombination

    在工作中 我们使用 Github 操作来构建和测试我们的 Pull 请求 然后才能获得批准 周五下午 一切都进展顺利 周一早上 所有测试都很早就失败了 错误显示 pip 无法再找到自己的异常 最新的 Pip 有什么变化吗 正如您在下面的错误
  • 在 asp.net 中的网络位置创建文件

    在我的 ASP net 应用程序中 我创建一个文本文件并将数据写入该文件 我将该文件保存在服务器上的指定位置 这是一个内联网应用程序 当我使用 Visual studio net 在本地运行应用程序时 我可以通过应用程序创建 写入文件并将其
  • 我们可以直接实例化抽象类吗? [复制]

    这个问题在这里已经有答案了 我读过我们只能通过继承来实例化抽象类 但不能直接实例化它 但是 我看到我们可以通过调用另一个类的方法来创建具有抽象类类型的对象 例如 LocationProvider是一个抽象类 我们可以通过调用来实例化它get
  • 无法获取 UWP 中 ColumnDefinitionCollection 的“Add”方法

    在 Windows 通用应用程序的上下文中 并使用反射 我试图获取Add方法从一个ColumnDefinitionCollection 内置型 所以我用这个 type GetRuntimeMethods First info gt info
  • csproj 文件中的 XML

    任何人都可以向我指出 C csproj 文件中有效的架构或属性列表吗 我看过了 但似乎找不到任何有关它的文档 你的意思是像this http msdn microsoft com en us library dd576348 aspx文档
  • Keras 干扰 python 日志记录

    我想记录一些加载到经过训练的 keras 模型中的 python 代码 由于某种原因 python 日志记录在 keras 不工作的情况下不起作用load model是进口的 但是 如果我不导入 keras python 日志记录工作正常
  • PHP PDO + 准备语句

    sql SELECT phrase english FROM static site language WHERE page pds database gt pdo gt prepare sql pds gt execute array P
  • 弹出 Landscape-only 后 ViewController 的方向错误

    在基于导航的应用程序中 LandscapeViewController 仅支持横向模式 所有其他应用程序都支持两种模式 我还有一个 加载屏幕 建议用户在继续之前旋转手机 这样我可以确保当我的横向视图加载时 它处于横向模式 当我将手机旋转到纵
  • 偏航、俯仰和横滚分别与航向、俯仰和倾斜相同吗?

    我有两个不同的系统 引擎 A 引擎 B 发动机A 动机追踪软件 生成 偏航 俯仰 滚转 和发动机 B 4D影院 期望 航向 俯仰 坡度 我的研究得出的结果是这两个系统之间没有区别 Yaw Pitch Roll Heading Pitch B
  • React:为什么组件的构造函数只被调用一次?

    In the 下面的例子 http codepen io anon pen VYVPBJ when Item 2被点击 Second 1显示而不是Second 2 为什么 你会如何解决这个问题 var guid 0 class Conten
  • C# WinForms ListView 项目计数更改事件

    当 ListView 中的项目数发生变化时 Win Forms 中是否有一个事件可以触发 我尝试了 大小 和 文本 奇怪的是 它们 有点 有效 但并不总是 我试图触发一个标签来更新列表视图项目的计数 因为它发生变化 而无需在一百种方法中手动
  • 未找到 Browserify 命令

    简单的问题 当我从 mac 终端运行 browserify index js o app js 时 我得到命令未找到 我已经完成了 npm install g browserify 但仍然没有运气 知道我为什么会收到这个吗 谢谢 对我来说
  • Android:通过 adb shell am 启动应用程序信息对话框

    我正在尝试编写一个脚本 它将通过 adb 为我正在测试的应用程序启动 应用程序信息 系统对话框 我做了一些调查并提出了这个命令 它将启动 应用程序信息 但会因强制关闭而失败 logcat 中的 NullPointerException ad
  • “git config --list”显示重复的名称

    git config list显示两个值user name 一个全局 一个本地 user name My Name user name My Other Name 我的理解是 本地价值观优先于全球价值观 我怎样才能得到git config仅
  • 子div高度100%内部位置:固定div + 自动溢出

    我在尝试以下操作时遇到一些奇怪的行为 请参阅jsfiddle http jsfiddle net 9nS47 http jsfiddle net 9nS47 HTML div div div div div div div div div
  • JAR 中存在类,但仍然“无法找到或加载主类”

    我下载并安装了UMD 的 FindBugs 3 0 http findbugs sourceforge net downloads html in usr local share findbugs 3 0 ls usr local shar
  • 在android中的按钮上设置图像?

    我一直在尝试使用以下代码在按钮上设置图像 但它似乎不起作用 我认为我做错的是我正在使用的图像的路径 但我尝试了不同的路径 但它不会工作 我已将图像复制到 res 文件夹中的可绘制文件夹中 我在这里做错了什么 final Button nex
  • 将外部应用程序移动到屏幕前面

    我正在运行的应用程序需要调用单独的应用程序来进行一些扫描 我通过启动一个新的应用程序来调用另一个应用程序System Diagnostics Process 一旦获得该流程 我就会调用一个方法来让该应用程序获得焦点 我尝试了两种不同的方法来