首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Windows 进程创建通知回调通知例程的学习笔记

在 Windows 操作系统中可以通过 PsSetCreateProcessNotifyRoutine 函数注册或移除一个进程创建通知回调例程。...在 Vista 以及之后的版本中,微软加入 PsSetCreateProcessNotifyRoutineEx 新的函数来注册创建进程通知。通过判断系统版本来对应不同的操作系统调用不同的注册函数。...g_bUsedEx = FALSE; nStatus = STATUS_SUCCESS; } while (FALSE); return nStatus; } 通知例程处理函数也需要同时配套地使用新的...: %08X %08X\n", ProcessId, hCurrentThreadID); return; } DbgPrint("进程创建: %08X %08X\n"...,则该参数指针指向该结构体的一个结构体对象,可通过该对象获得线程 ID、父进程 ID、文件对象、映像文件名、命令行字符串等进程信息;而如果是销毁进程,则该参数指针指向 NULL。

89910

WPF 使用RPC调用其他进程

如果在 WPF 需要用多进程通信,一个推荐的方法是 WCF ,因为 WCF 是 RPC 计算。...使用方法很简单 如果不想知道具体是怎么做,只想使用,那么请看WPF 封装 dotnet remoting 调用其他进程,欢迎加入dotnet 职业学院任何问题都可以在群里交流 首先创建三个工程,一个工程放其他两个需要使用的库...其中客户端就可以调用服务端,客户端和服务端是两个不同的进程,所以可以跨进程调用。...如果按照我的代码无法运行,可以发邮件给我,我发源代码给你 代码下载:网盘 更多关于 WPF dotnet remoting RPC 的博客请看 .net remoting 使用事件 .net remoting...抛出异常 如果不想知道那么多,想要快速开始,请看 WPF 封装 dotnet remoting 调用其他进程 ?

92310

WPF 封装 dotnet remoting 调用其他进程

本文告诉大家一个封装好的库,使用这个库可以快速搭建多进程相互使用。 在 WPF 使用RPC调用其他进程 已经告诉大家调用的原理,但是大家可以看到,如果自己写一个框架是比较难的。...port", Required = true, HelpText = "远程开启的端口")] public string Port { get; set; } } 解析只需要使用函数传入的...现在 WPF 可以开始调用 C++ 程序,使用下面的代码进行管理 /// /// 管理其他进程 /// public class.../ 防止对象回收 // 如果不使用 var objRef = x 那么在运行就发现 System.Runtime.Remoting.RemotingException:“找不到请求的服务...程序只需要创建随机的端口,对于 C++ 程序需要创建 WPF 程序告诉他的端口,这样 WPF 程序才可以发送数据到 C++ 程序 使用 尝试把上面的类复制到自己的一个项目,然后创建两个项目,一个是 WPF

84310

WPF 封装 dotnet remoting 调用其他进程

本文告诉大家一个封装好的库,使用这个库可以快速搭建多进程相互使用。 在 WPF 使用RPC调用其他进程 已经告诉大家调用的原理,但是大家可以看到,如果自己写一个框架是比较难的。...port", Required = true, HelpText = "远程开启的端口")] public string Port { get; set; } } 解析只需要使用函数传入的...现在 WPF 可以开始调用 C++ 程序,使用下面的代码进行管理 /// /// 管理其他进程 /// public class.../ 防止对象回收 // 如果不使用 var objRef = x 那么在运行就发现 System.Runtime.Remoting.RemotingException:“找不到请求的服务...程序只需要创建随机的端口,对于 C++ 程序需要创建 WPF 程序告诉他的端口,这样 WPF 程序才可以发送数据到 C++ 程序 使用 尝试把上面的类复制到自己的一个项目,然后创建两个项目,一个是 WPF

81310

WPF 解决弹出模态窗口关闭后,窗口不在最前

本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口。使用另一个窗口在模态窗口前面。从任务栏打开模态窗口。关闭模态窗口。这时发现,窗口会在刚才使用的另一个窗口下面。...可以运行代码:wpf-issues/ChildWindows 在上面的网站有详细的视频告诉大家是如何做的就可以看到这个问题。...因为模态窗口会在关闭的时候,让窗口不在最前,所以团队不敢使用模态窗口。 但是这个问题在看了 Windows 历史之后,才发现这个问题是 Windows 的问题。...因为弹出模态窗口的窗口是被禁用的。所以在模态窗口关闭的时候,就忽略了窗口可以激活,于是找到窗口下方的一个可以被激活的窗口,这时激活他,于是这个被找到的窗口就在窗口的上面。...实际上只需要在模态窗口关闭之前,激活窗口就可以。

14.6K20

WPF 解决弹出模态窗口关闭后,窗口不在最前

本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口。使用另一个窗口在模态窗口前面。从任务栏打开模态窗口。关闭模态窗口。这时发现,窗口会在刚才使用的另一个窗口下面。...可以运行代码:wpf-issues/ChildWindows 在上面的网站有详细的视频告诉大家是如何做的就可以看到这个问题。...因为模态窗口会在关闭的时候,让窗口不在最前,所以团队不敢使用模态窗口。 但是这个问题在看了 Windows 历史之后,才发现这个问题是 Windows 的问题。...因为弹出模态窗口的窗口是被禁用的。所以在模态窗口关闭的时候,就忽略了窗口可以激活,于是找到窗口下方的一个可以被激活的窗口,这时激活他,于是这个被找到的窗口就在窗口的上面。...实际上只需要在模态窗口关闭之前,激活窗口就可以。

5.6K10

WPF 解决弹出模态窗口关闭后,窗口不在最前

本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口。使用另一个窗口在模态窗口前面。从任务栏打开模态窗口。关闭模态窗口。这时发现,窗口会在刚才使用的另一个窗口下面。...可以运行代码:wpf-issues/ChildWindows 在上面的网站有详细的视频告诉大家是如何做的就可以看到这个问题。...因为模态窗口会在关闭的时候,让窗口不在最前,所以团队不敢使用模态窗口。 但是这个问题在看了 Windows 历史之后,才发现这个问题是 Windows 的问题。...因为弹出模态窗口的窗口是被禁用的。所以在模态窗口关闭的时候,就忽略了窗口可以激活,于是找到窗口下方的一个可以被激活的窗口,这时激活他,于是这个被找到的窗口就在窗口的上面。...实际上只需要在模态窗口关闭之前,激活窗口就可以。

5.2K30

WPF 探索任务管理器的进程分组逻辑

本文将使用 WPF 写一个简单的应用来告诉大家任务管理器的进程分组策略 如下图,这是任务管理器看到的 VisualStudio 的界面,可以看到这个进程组里面包含很多个进程 那任务管理器将这些进程放在一个组里面的依据是什么...前台进程所直接启动的后台进程的逻辑含义是此前台进程和对应的后台进程有父子进程关系 而后台进程指的是没有前台窗口的进程,和是否控制台应用没有很大的关系,如果是控制台应用且有前台控制台窗口主机,依然不会被加入组内...也就是说只取决于是否存在前台窗口,和是否控制台应用没有本质关系,即使是没有主窗口 GUI 应用,在这里也被当成后台进程 后台进程和前台进程之间是可以转换的,当前台进程没有前台窗口时将转换为后台进程,...当后台进程有前台窗口时将转换为前台进程 另外继承链上的父子孙关系情况下,情况有些复杂,能否将孙进程显示在一个进程组里面,取决于子进程的存活时间,如果子进程在启动孙进程之后很快就退出,那么孙进程将不会被计入组里...测试方法就是通过一个带前台窗口进程,启动另一个没有带前台窗口的进程,看看在任务管理器里面是否放在一个组里面 新建一个叫 HakewofuCayorejar 的 WPF 应用,本文的代码基于 .NET

1K30
领券