问题标签 [waitforsingleobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
228 浏览

c++ - 对 WaitForSingleObject 的调用与 CreateProcess 结合不清楚

我在一个跟踪进程的程序中遇到了以下代码:

代码应该启动一个进程,然后在稍后的体育场中终止它(使用m_StartedServices)。WaitForSingleObject但是我想知道调用和具有什么附加值GetExitCodeProcess。我环顾四周,似乎WaitForSingleObject超时为 0 的 用于检查进程是否仍在运行,但它刚刚创建,那么为什么要检查呢?为什么要检查仍在运行的进程的退出代码?

任何人都可以清除这个吗?

我还发现调用:

此功能中缺少。我是否发现了手柄泄漏,或者是否有一些魔法可以自动关闭手柄?

0 投票
1 回答
213 浏览

c++ - 执行“systeminfo”命令后,waitforsingleobject 停止

因此,如果您运行下面的代码,它将int retVal = WaitForSingleObject( processInfo.hProcess, INFINITE);永远停止。但是当我运行“ipconfig”或“ping 192.168.0.1”而不是“systeminfo”时,代码运行良好。我想知道如何解决这个问题以及导致这个问题的原因是什么?

0 投票
1 回答
106 浏览

c++ - C++“deque iterator not dereferencable”多线程。WaitForSingleObject() 让线程通过

当我在我的 Pop() 函数中调用 WaitForSingleObject() 时,即使未设置事件 notempty 它也不会停止它,我不知道该怎么处理它。它应该等待一个数字被推送,即使它没有被推送,它仍然应该等待 INFINITE 的时间。

当未设置事件 notfull 时,在 Push() 中调用 WaitForSingleObject() 时相同。

在那里你可以看到它

在未设置字符集的 Microsoft VS RC 2017 中工作。

我不知道如何让这个工作(等待无限时间推送/弹出某些东西)。

0 投票
0 回答
68 浏览

visual-c++ - 使用 CreateProcess 启动事件查看器,如何等待查看器结束?

我目前正在编写一个必须启动事件查看器(system32/eventvwr.msc)并且只要事件查看器运行就被阻止的应用程序。

对于标准应用程序,我通过以下方式执行此操作:

但是此代码不适用于事件查看器。等待立即返回。

你现在如何等待这个应用程序结束?

谢谢你的帮助。

0 投票
2 回答
5143 浏览

c++ - 命令 CreateProcess C++

CreateProcess 命令用WaitForSingleObject 命令可以打开一个图像吗?如果是 我如何打开图像?我试图打开,但我不知道在哪里打开路径

0 投票
1 回答
124 浏览

c++ - 如何在线程之间进行通信以及 Waitforsingleobject() 的等价物

我刚在学校开始 C++,我正在尝试同时做 Linux 和 Windows。所以这是我的代码和练习。问题是我不知道如何计时线程再次运行,并且每当我运行它时,我都没有得到正确的字符。

我的输出如下:

Entrez une chaîne de caractères : test La chaine transmise est :\250\365\277\357\376

非常感谢!

0 投票
1 回答
187 浏览

c++ - Waitforsingleobject 在尝试打开 Notepad++ 时有效,但在 Firefox 中立即返回

我有以下代码使用 CreateProcess 打开一个应用程序并等待它几秒钟,然后如果它没有关闭则关闭它。例如,相同的代码在记事本++上工作正常,但当我尝试打开 Firefox.exe 时却不行

SendWMCloseMsg没有被调用,当我删除 if 语句并调用EnumWindows(&SendWMCloseMsg, pi.dwProcessId);时,它仍然找不到正确的 processId。

我对这段代码做错了什么以及如何解决这个问题?

我正在使用 Windows 10、64 位和 VS2015

0 投票
1 回答
3637 浏览

c++ - WaitForSingleObject 不等待进程结束

我想等待进程执行结束(calc.exe),但它不起作用。我的程序快速/现在完成,而我的进程(calc.exe)继续运行(我没有停止它)。

WaitForSingleObject 立即返回 WAIT_OBJECT_0。

ps:我禁用了我的软件防病毒(AVIRA)

0 投票
0 回答
49 浏览

linux - WaitForSingleObject(HANDLE, DWORD) POSIX 调用

我已经在网上搜索了很长一段时间,在这里我遇到了一些答案,但他们并没有真正回答我的问题。

在我开始之前,这些是我检查的一些问题: Linux 中 WaitForSingleObject() 和 ResetEvent() 的等效性,Win32 的 CreateEvent、SetEvent、WaitForSingleObject、 Linux WaitForSingleObject的 Linux/POSIX 等效

我目前正在移植几年前开发的专有代码,以更新我们机器上的 ECU。该代码最初是为 WinCE 开发的(在机舱的终端和 ECU 本身上运行的代码)。

大多数代码都是移植的,它编译和链接,我仍在围绕移植的代码实现一个新的更新程序,但是缺少一块拼图。我有一个包含句柄的结构。我重新使用了这些 intptr,因此我可以使用它们来管理文件描述符,但是代码需要 WaitForSingleObject 来等待其他 HANDLE。

我已经阅读了很多关于使用 pthreads 的内容,我什至发现了一个名为 pevents 的库,据说它可以将 WinAPI 调用转换为 POSIX 调用,但是我发现的大多数解决方案都需要 C++11(由于某些原因我不能使用它)我不完全确定自己)或者它们根本无法实现,因为我需要尽可能完整地保留代码,以便可以在原始平台上编译/使用它 - 所以我不能简单地切换使用把手。

有没有一种相对简单的方法可以用 C++98/03 实现这种功能?我总是可以 pfusch 它并创建一个循环来循环超时并运行到超时,但是应用程序将无法工作,所以这不是一个真正的选择;)

0 投票
0 回答
108 浏览

python-3.x - Waitforsingleobject 正在降低我的程序性能

我已经在两台不同的计算机上用 python 测试了相同的代码。在第一个中,代码长了 9 秒,而在第二个中(一个更强大的机器,第一个是 16MRAM x 8MRAM)是 185 秒。在 cProfile 中分析,这两种情况下最关键的过程是 waitforsingleobject。分析一个特定的功能,我可以看到关键部分是带有 tesserecat 的 OCR。为什么这两台机器的性能如此不同?

这个特定函数的 cProfile 的主要行是:

ncalls tottime percall cumtime percall filename:lineno(function)

1 0.002 0.002 115.398 115.398 bpl-Redonda4.py:261(pega_stack_nome_jogadores)

18 0.000 0.000 0.001 0.000 pytesseract.py:106(准备)

18 0.000 0.000 0.118 0.007 pytesseract.py:116(save_image)

18 0.000 0.000 0.000 0.000 pytesseract.py:140(subprocess_args)

18 0.000 0.000 115.186 6.399 pytesseract.py:162(run_tesseract)

18 0.001 0.000 115.373 6.410 pytesseract.py:199(run_and_get_output)

12 0.000 0.000 76.954 6.413 pytesseract.py:295(image_to_string)

12 0.000 0.000 76.954 6.413 pytesseract.py:308()

6 0.000 0.000 38.419 6.403 pytesseract.py:328(image_to_boxes)

6 0.000 0.000 38.419 6.403 pytesseract.py:345()

18 0.000 0.000 0.060 0.003 pytesseract.py:97(清理)

18 0.000 0.000 115.096 6.394 subprocess.py:979(等待)

18 115.096 6.394 115.096 6.394 {内置方法_winapi.WaitForSingleObject}