草庐IT

c++ - 从控制台中删除单个字符

我正在尝试为Windows控制台制作一个贪吃蛇游戏,而无需每次蛇移动时都使用“system("cls")”重新绘制游戏板、食物和蛇。相反,我想添加一个头部并以一定的间隔移除尾部。我正在使用“cout”为新的蛇头打印一个“@”并且工作正常,但我不知道如何从控制台中删除单个字符(或只是将其设为空白)并保留其余字符控制台的原样。有什么建议吗? 最佳答案 添加以下功能#include"windows.h"voidgotoxy(intx,inty){HANDLEhConsoleOutput;COORDdwCursorPosition;cout

c++ - Windows服务创建文件的默认目录在哪里?

我创建了一个将字符串附加到文件的Windows服务。因此,它第一次创建一个文件,然后每10秒向其中追加一个字符串。所以,我的问题是Windows服务创建文件的默认目录在哪里,如果未指定。它似乎不是该服务的可执行目录,因为我没有看到那里正在创建任何文件。Google不再是我的伙伴。任何帮助都是无价的。谢谢。 最佳答案 在这方面,服务没有什么特别之处。如果指定相对路径,则它是相对于进程当前目录(也称为工作目录)的。这记录在案:NamingFiles,Paths,andNamespaces,FullyQualifiedvs.Relativ

c++ - mingw32-g++.exe : error: CreateProcess: No such file or directory again

这个问题在这里已经有了答案:YetAnotherMinGW"gcc:error:CreateProcess:Nosuchfileordirectory"(9个回答)关闭5年前。我找遍了,找不到解决办法。我用编译器安装了code::blocks版本。(Windows7的)每次尝试编译时,我都会收到NoSuchfileordirectory错误。我想可能是空格导致了问题,所以我单独下载并安装了ming到C:\GCC\MinGW-w64我进入了编译器设置/工具链可执行文件并定向了每条路径,因此它不会尝试从安装了code::blocks的程序文件中读取。发生同样的错误。我也试过直接进入bin文

c++ - 从作业对象取消分配已分配的进程

我正在使用assignprocesstojobobject在父进程死亡时终止所有子进程。然而在某些情况下我不想杀死他们中的一些人。所以我想我可以取消分配一个proceo但是文档没有提到类似的东西......关于如何执行此操作的任何想法? 最佳答案 文档很清楚,看JobObjects:Afteraprocessisassociatedwithajob,theassociationcannotbebroken. 关于c++-从作业对象取消分配已分配的进程,我们在StackOverflow上找

c++ - 如何检查我的当前窗口是否是最可见的窗口

我有一个使用WS_EX_TOPMOST标志设置为AlwaysOnTop的窗口。现在,其他一些应用程序可能也有一个设置了WS_EX_TOPMOST的窗口,并覆盖了我的窗口的最顶层标志。我应该如何检查我的窗口是否确实是最顶层的窗口并且没有在其上绘制任何东西(我的窗口上没有任何东西被绘制是重要的部分)。如果有东西在我的窗口上绘画,我想隐藏我的窗口并在我可以使它成为最顶层的窗口时再次显示它(但这可能是第二步) 最佳答案 调用GetWindow传递最顶层窗口的句柄和GW_HWNDFIRST标志。返回的窗口将是Z顺序中最高的最顶层窗口。然后,您

c++ - 如何知道 GetPrivateProfileInt/String 失败的原因

我正在处理旧应用程序中的一段代码,在VisualStudio2008中使用C++。它尝试从INI文件中读取一些值,并且我正在尝试在该部分的情况下进行一些错误处理或文件中不存在我尝试读取的key。这是代码片段:intnValue=GetPrivateProfileInt(SECTION,KEY,-1,sINIFile);if(nValue==-1)//defaultvalue{intnLastError=GetLastError();if(nLastError!=0){//dosomething}}sINIFile包含我所需的INI文件的完整路径。经过一些测试,我发现GetLastErr

c++ - NetUserAdd - 权限问题,参数不正确

我正在使用NetUserAdd添加新管理员。但是我收到了一个我无法弄清楚的错误。失败方法返回的错误是:NET_API_STATUS:87PARAM_ERR:5NET_API_STATUS的值为87,即ERROR_INVALID_PARAMETER。我相信5是参数5。这是我感到困惑的地方。什么参数?我的结构与文档中的结构相同,那么这是哪里失败了?这是失败的方法。boolCreateAdminUser(wchar_t*username,wchar_t*password){_USER_INFO_1ui;DWORDdwLevel=1;DWORDdwError=0;NET_API_STATUS=

c++ - 使用 GstDiscoverer (GStreamer) 的段错误

我正在使用Qt进行GUI和GStreamer进行音频处理,在C++上为Windows编写桌面应用程序。在我的应用程序中,我需要监控多个互联网aac音频流(如果它们在线),并收听具有最高优先级的可用流。对于此任务,我使用GStreamer中的GstDiscoverer对象,但我遇到了一些问题。我每1-2秒检查一次音频流,因此经常调用GstDiscoverer。每次我的应用程序运行时,最终它都会在GstDiscoverer检查期间因段错误而崩溃。我尝试了调用GstDiscoverer的同步和异步方法(gst_discoverer_discover_uri(),gst_discoverer_

c++ - WinProc() 与主消息循环

我注意到WinAPI中的某些消息只能在使用PeekMessage()的“主消息循环”中检索(如WM_QUIT),其他消息只能在用户定义的winProc()函数(如WM_CLOSE和WM_SIZE),以及一些消息,如WM_MOUSEMOVE两者。有什么区别?我如何知道WM消息将发送到哪里? 最佳答案 使用NULL窗口句柄发布的消息只能在消息循环中检索。必然如此,DispatchMessage()无法完成它的工作。这是非常罕见的。但是,是的,WM_QUIT,注意如何PostQuitMessage()不带窗口句柄。这是不可避免的,当您调用

c++ - 是否可以在没有密码的情况下使用 LogonUser API?

我正在开发一个C++应用程序,这个应用程序作为Windows服务运行。我需要模拟当前用户来访问网络位置,为此我使用WindowsAPILogonUser和ImpersonateLoggedOnUser。问题是我只有用户名和域信息,但没有密码。那么是否可以在不提供密码的情况下调用LogonUser来获取用户句柄? 最佳答案 不,那将是一个相当明显的安全漏洞。但是,您可以在当前用户的UI进程和您的服务之间使用命名管道。然后您的服务可以模拟命名管道的另一端。这是安全的,因为您控制管道的两端。