草庐IT

c++ - 我想获取我在 C++ 中创建的每个进程的 PID,并在特定时间后终止每个进程

我是C++和Windowsapi的新手。我现在所拥有的是我只能打印应用程序第一个进程的PID。如果我要创建say4进程,我想获得他们的PID;在控制台中打印它并在特定时间后终止它们中的每一个(使用计时)。示例概述:1。对于process=1直到process=52。调用notepad.exe3。获取当前进程的PID,并在控制台打印。4。从此processID执行一些操作5。增量过程6。谁执行成功,谁就终止PID。到目前为止,这是我的代码。#include#include#include#include#include#include#includeusingnamespacestd;/

c++ - 获取窗口的像素格式

我已经创建了一个在Windows上运行的OpenGL应用程序。有什么方法可以查询有关当前渲染窗口的像素格式的信息吗?(窗口是使用GLFW库创建的)我感兴趣的是:色位深度位像素类型等等 最佳答案 我是这样做的:inti;HDChdc;PIXELFORMATDESCRIPTORpfd;hdc=GetDC(window_handle);//getdevicecontexti=GetPixelFormat(hdc);//pixelformatdescriptorindexDescribePixelFormat(hdc,i,sizeof(pf

windows - 调试器错误 193 拉撒路

我已经有一年无法调试我的程序了。当我按下绿色的运行按钮时,出现以下错误消息:全文为:TheGDBcommand:"-exec-run"returnedtheerror:",msg="ErrorcreatingprocessC:/Users/leven/OneDrive/J\341t\351kpogramok/People/people.exe,(error193).""我已经阅读了很多关于这个错误的论坛,但我的情况看起来有点不同......如您所见,文件路径不包含任何可能出现此问题的字符(无空格,无特殊字母)。我试过在OneDrive之外运行,同样的错误。我花了很多时间在我的程序中寻找

linux - C++11线程库是否调用OS API来运行多线程程序?

众所周知,我们可以使用C++库编写通用的跨平台多线程代码(无论Linux还是Windows),我想知道为什么c++11使它变得简单,它实际上是调用OSAPI,还是使用一些其他技术? 最佳答案 C++只是一种您用来表达想法的语言。最后,您的二进制文件仍然必须使用操作系统的功能来执行任何需要系统级访问的操作,例如操纵系统调度程序(例如:创建线程)。您的编译器和库使用哪些操作系统功能来支持C++语言功能的详细信息可以在它们的文档中找到。我想大多数Linuxenvs在C++线程的引擎盖下使用pthread,而Windows环境使用win32

c++ - Windows 相当于 Linux fifo

我使用库中的一个函数,该函数将文件名作为参数。在我的应用程序中,我从网络接收数据,所以我无法将下载的数据直接提供给图书馆,因为我无法将其写入磁盘。为了解决这个问题,我使用Linuxfifo(使用mkfifo()创建)并将fifo名称提供给库。现在我必须将代码移植到Windows,并且我正在寻找一个等效的Linuxfifo机制。我已经试过了WindowsNamedPipe但是这些管道无法像使用fopen()等标准库函数的常规文件一样打开(除非我遗漏了什么)。您知道Windows机制将数据从内存中读取为文件吗? 最佳答案 命名管道实际上

c++ - Windows 上的 CMake - 使用导入的目标 OpenGL::GLU 时 FindOpenGL.cmake 中的错误?

所以我尝试在Windows上使用cmake来构建OpenGL应用程序,但我在链接到GLU时遇到了问题。具体来说,我正在使用cmake3.11的FindOpenGL.cmake尝试引入OpenGL::GLU作为导入目标,因为我想使用“现代”cmake最佳实践。我的CMakeLists.txt有这个部分:find_package(OpenGLREQUIRED)if(NOTTARGETOpenGL::GLU)message(FATAL_ERROR"GLUcouldnotbefound")endif(NOTTARGETOpenGL::GLU)message(STATUS"glu:${OPENG

c++ - IAsyncReader::SyncRead 方法

如果签名是,我如何解释返回S_FALSE(“我可以读取一些但不是您请求的所有数据”)的“填充我的缓冲区请求”:HRESULTSyncRead(LONGLONGllPosition,LONGlLength,BYTE*pBuffer);具体来说,当接口(interface)返回S_FALSE时,缓冲区有多少字节有效?我需要知道,对吗?也许我是愚蠢的,但我没有看到。 最佳答案 IAsyncReader::SyncRead是同步读取的快捷方式,无需考虑数据对齐。优化良好的过滤器通常执行Request和WaitForNext异步读取,使用附加

c++ - 如何捕捉函数调用

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion注意:本主题与调试和try、throw、catch无关,我不能直接在我的函数中放置任何东西,只能像WINapi一样受到外部影响。如果调用任何函数,我需要一些方法来获取我的应用程序中的信息。它应该在运行时“捕获”函数调用,我无法为我的应用程序中存在的每个函数实现任何额外的代码。我想一些WINAPI应该可以工作,但我找不到合适的方法来处理来自进程的每个调用。信息最好有3样东西:刚被调用的函数的入口点(地址)。

c++ - Qt 写入 xml:QIODevice::write (QFile, "D:/logs.xml"): device not open

我正在尝试将数据保存到Qt中的XML文件中。到处都被告知我需要写这样的检查:if(!file.open(QIODevice::WriteOnly|QIODevice::Text)){qDebug()我总是得到“无法打开”的结果。我就是找不到任何相关信息。如果我不使用这个检查,我会得到这样的错误:QIODevice::write(QFile,"D:/logs.xml"):devicenotopen。我只是不知道该怎么办。这是我在教程中尝试使用的完整代码:QDomDocumentdocument;//MakingtherootelementQDomElementroot=document.

c++ - 在 C++ 中为 CreateWindow 宏添加负值

我在WindowsGUI编程中使用CreateWindowAPI创建了文本框,如下所示,CreateWindow(TEXT("EDIT"),TEXT(""),WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL|WS_DLGFRAME|ES_RIGHT,x,y,w,h,hwnd_,(HMENU)0,GetWindowInstance(hwnd_),0);当我使用ES_NUMBER编辑控件样式时,只允许将数字放入编辑控件中。但我不能将负值设为-123。有没有办法在编辑控件中只支持负值内的整数?任何人都可以帮助我吗? 最佳答案