草庐IT

console_buffer_info

全部标签

c++ - 正确使用 Windows 控制台 API 的 CHAR_INFO 结构

控制台函数的WindowsAPI部分wincon.h定义了一个数据结构CHAR_INFO如下:typedefstruct_CHAR_INFO{union{WCHARUnicodeChar;CHARAsciiChar;}Char;WORDAttributes;}CHAR_INFO,*PCHAR_INFO;所以我们有一个8位和16位字符的并集,分别表示ASCII和Unicode字符。通常,如果你必须处理C中的union,你会标记union,即存在一个额外的字段,指示正在使用union的哪个字段。这里不是这种情况(Attributes用于不同的东西),所以我想知道如何正确使用这种数据类型的值

c - Detecting if stdout is a console with MS Visual compilation, mingw64提供的console

我维护一个生成二进制数据的命令行实用程序。请求时,数据可以重定向到stdout。这在stdout被重定向到管道或文件时有效,但当stdout是一个控制台时,情况就不太一样了,因为它会垃圾控制台。为了保护用户免受此类错误,程序必须检测stdout是否是控制台,并在是时退出。现在,这并不是什么新鲜事,快速浏览一下Internet就会发现多种解决方案。主要缺点是没有“通用”方法,VisualStudio需要自己的风格。我用于Visual的控制台检测器有一个缺陷:它没有检测到stdout是一个控制台当控制台由mingw提供时,我认为这意味着它是mintty。这里是相关的代码部分:#ifdefi

windows - 构建和使用 Google Protocol Buffers

我目前正在做一个项目,我正在尝试实现ProtocolBuffers作为一种序列化格式,将数据存储在本地计算机上,然后在稍后读取。protocolbuffers的一些特性似乎非常适合这个项目,所以我很想测试它,但我遇到了一些问题。不过,到目前为止,我什至还没有能够测试ProtocolBuffers。我将最新的zip文件(版本2.4.1)下载到我的Windows机器上。我通读了位于文件夹根目录中的install.txt,但它适用于基于Unix的系统。然后我看到它带有一个vsprojects文件夹,并通读了那里列出的说明。基本上,我被告知要做的就是打开一个解决方案,然后在Debug或Rele

windows - Mongodb Windows 安装程序 "admin web console waiting for connections on port 28017"错误

我在设置mongodb时遇到问题。我正在使用windows864位,已下载适用于windows的软件包。当我尝试在cmd上安装这个包时,出现错误。http://prntscr.com/1ct7pa它停止了“[websvr]adminwebconsolewaitingforconnectionsonport28017”这一行我该如何修复这个错误?谢谢。编辑:我从答案中意识到,“这个问题不是错误”。我试过这个命令,它完美无缺。mongod--logpathc:\mongodb\logs\mongo.log--dbpathc:\mongodb\data\db--directoryperdb-

windows - 命令/电源外壳 : minimize all windows on your desktop except for current command prompt (console) or except for some particular window

好吧,我知道如何使用powershell方法从批处理文件中最小化桌面上所有打开的窗口-MinimizeAll():powershell-command"&{$x=New-Object-ComObjectShell.Application;$x.minimizeall()}"问题是:此方法最小化了所有内容,包括当前的cmd-console,在我的情况下,它应该始终对用户可见。现在,为了解决这个问题,我使用外部nircmd.exe工具和我的.bat文件的这一部分如下所示:::changecurrentcommandpromptwindowtitletitlemy-cmd-console::

python - Pip 安装 Scrappy - "python setup.py egg_info"失败,错误代码为 1

我正在尝试安装Scrappy。我在Windows上安装了Python3.6。我试过这个:py-3.5-32-mpipinstallScrappy但是,得到了以下信息:CollectingScrappyUsingcachedScrappy-0.3.0.alpha.4.tar.gzCollectingguessit(fromScrappy)Usingcachedguessit-2.1.2.tar.gzCollectingtvdb_api(fromScrappy)Usingcachedtvdb_api-1.10.tar.gzCollectinghachoir-metadata(fromScr

c# - EnumJobs 返回与 Marshal.SizeOF 不同的 JOB_INFO_1 大小

我正在从托管代码(C#)调用Win32函数EnumJobs(http://msdn.microsoft.com/en-us/library/windows/desktop/dd162625(v=vs.85).aspx)。[DllImport("Winspool.drv",SetLastError=true,EntryPoint="EnumJobsA")]publicstaticexternboolEnumJobs(IntPtrhPrinter,//handletoprinterobjectUInt32FirstJob,//indexoffirstjobUInt32NoJobs,//nu

windows - VS_VERSION_INFO 可以添加到非 exe 文件吗?

我的Windows同事问我是否可以修改我的非Windows二进制文件,以便在Windows下检查它们的“属性”时,他们可以看到一个“版本”选项卡,就像在VisualStudio中显示的那样编译后的exe.具体来说,我有一些gzip压缩的二进制文件,想知道是否可以修改它们以满足此需求。如果有更好的方法,那也很好。有没有办法让我的二进制文件看起来像exe文件?我尝试简单地将VS_VERSION_INFOblock从notepad.exe附加到我的一个二进制文件的末尾,希望Windows扫描该block,但它没有用。我尝试编辑有关作者、主题、修订等的其他信息。这不会修改文件,它只是为NTFS

c++ - 具有重叠 I/O 的 FILE_FLAG_NO_BUFFERING - 字节读为零

我在使用带有重叠I/O的标志FILE_FLAG_NO_BUFFERING时观察到一个奇怪的行为。我调用了一系列ReadFile()函数调用,稍后使用GetOverlappedResult()查询它们的状态。我所说的奇怪行为是,即使文件句柄良好并且ReadFile()调用返回时没有任何错误(预期的ERROR_IO_PENDING除外),从GetOverlappedResult()调用返回的“字节读取”值是某些文件为零,每次我运行代码时,它都是一组不同的文件。如果我删除FILE_FLAG_NO_BUFFERING,事情就会开始正常工作,并且没有字节读取值为零。下面是我如何使用FILE_FL

c - 使用和不使用 FILE_FLAG_NO_BUFFERING 的 NTFS 文件访问时间

我正在尝试对NTFS的文件读取时间(顺序访问)进行基准测试。我的代码获取开始时间,执行大小等于4096字节(系统上NTFS的簇大小)的读取并记录结束时间。然后存储两个时间之间的差异,并重复该过程,直到到达文件末尾。我目前使用的文件大小是40K,所以得到10个时差值。当访问没有FILE_FLAG_NO_BUFFERING打开的文件(使用CreateFile)时,第一个block的访问时间接近30微秒,然后下降到大约7微秒用于后续访问(由于缓存)。当使用FILE_FLAG_NO_BUFFERING时,第一个block的访问时间接近21毫秒,随后的访问时间下降到大约175微秒。第一个bloc