- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个程序,Parent
和 Kid
我希望 Kid 在 Parent 使用 CreateProcess
创建 Kid 后获得 Parent 的句柄。传输此句柄的最简单方法似乎是将句柄放在 CreateProcess
的命令行参数中,但我无法看到在 Parent 中获取父句柄。 GetCurrentProcess
返回一个奇怪的非值,并且 DuplicateHandle
在没有 Kid 的句柄的情况下无法工作(不可能,因为我需要创建 Kid 来获取它的句柄,但是 CreateProcess
也是将 Parent 的句柄发送给 Kid 的唯一机会。
有什么方法可以让 Kid
轻松地处理 Parents
的问题?
最佳答案
The easiest way to transmit this handle seems to be by putting the Handle in the commandline arguments of
CreateProcess
这是一种方式,但不是唯一方式。
另一种简单的方法是让 Parent
将其进程 ID 从 GetCurrentProcessId()
发送到 Kid
,然后是 Kid
可以使用 OpenProcess()
获取 Parent
的句柄。
there is no way I can see to get the Parent's Handle inside Parent.
GetCurrentProcess()
,返回表示调用进程的伪句柄。当在调用进程的上下文中使用时,所有接受进程句柄的 API 都将接受此伪句柄。
但是,为了将调用进程的句柄传递给另一个进程,Parent
必须使用 DuplicateHandle()
将伪句柄转换为真实句柄 (将 Parent
设置为源进程和目标进程)。这是记录在案的行为。
GetCurrentProcess
returns a weird non-value, andDuplicateHandle
doesn't work without having the Kid's Handle
在 Parent
将 GetProcessHandle()
中的伪句柄复制为真实句柄后,它可以将该拷贝传递给 Kid
命令行。只要确保拷贝是可继承的,然后在 CreateProcess()
调用中使用 bInheritHandles=TRUE
,或者将 STARTUPINFOEX
传递给 包含
(参见 Programmatically controlling which handles are inherited by new processes in Win32)。PROC_THREAD_ATTRIBUTE_HANDLE_LIST
的 CreateProcess()
Impossible, since I need to create the Kid to get a Handle to it
如果您不想使用可继承的句柄,那么 Parent
可以选择创建 Kid
而无需在命令行上传递任何句柄,然后复制 GetCurrentProcess ()
伪句柄,以 Kid
作为目标进程,然后使用您选择的 IPC 机制在它已经运行后将拷贝发送给 Kid
。
but
CreateProcess
is also the only chance to send the Parent's Handle to the Kid
不,这不是唯一的方式。 IPC 是另一种方式。
关于c++ - 如何将程序的句柄赋予它创建的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52213546/
我设置了 Helm 柄和 Helm 柄。我有tiller-deploy。昨天,我可以定期运行了。但今天我收到此错误消息 Error: could not find a ready tiller pod
我以前已将分er安装到特定的 namespace 中。 我设置了一个环境变量来设置'tiller'命名空间-但我不记得该环境变量的名称-而且似乎无法通过网络搜索找到它。 这是什么 key ? 最佳答案
当我在 View 模型中使用如下界面时 class MainViewModel @ViewModelInject constructor( private val trafficImagesR
我正在尝试找到如何在某个 fragment 相关场景中定义 Hilt 的解决方案。我有以下设置: Activity 父 fragment 1 子 fragment 1 子 fragment 2 ...
Hilt 指出如果没有@Provides 注解就不能提供这个接口(interface): interface PlannedListRepository { fun getAllLists()
我的问题非常简单明了:两个注释/示例之间有什么区别: 例子一 @Singleton class MySingletonClass() {} @Module @InstallIn(FragmentCom
我是一名优秀的程序员,十分优秀!