草庐IT

windows - GetModuleFileName 不返回调用程序的路径

为什么下面的代码不打印调用程序的路径名?#includeintmain(){TCHARbuffer[MAX_PATH];GetModuleFileName(NULL,buffer,sizeof(buffer));cout 最佳答案 谢谢大家的帮助,问题出在cout上,我用了wprintf,成功了.. 关于windows-GetModuleFileName不返回调用程序的路径,我们在StackOverflow上找到一个类似的问题: https://stackov

c++ - 如何在 C++ 中获取 Windows 7 中所有电源方案的名称?

我必须获取Windows7中所有可用电源方案的名称。我尝试使用电源管理功能枚举它们,我确实得到了正确的数量,但是当我调用“PowerReadFriendlyName”(http://msdn.microsoft.com/en-us/library/windows/desktop/aa372740%28v=vs.85%29.aspx)时,它有时会起作用有时会失败:UCHARdisplayBuffer[256];DWORDdisplayBufferSize=sizeof(displayBuffer);GUIDbuffer;DWORDbufferSize=sizeof(buffer);int

windows - 如何索引 malloc 的缓冲区和输出

参见fullcodehere.我已经用fread调用填充了一个缓冲区(malloc'd)并且它是成功的。我现在正在尝试遍历缓冲区并开始解析输入。我试图通过遍历缓冲区并将每个字符输出到屏幕来开始非常简单。但是我的循环只是输出整个输入。这是代码的循环部分:movecx,0movebx,buffer.readByte:pushDWORD[ebx+1*ecx]pushDWORDecxpushDWORDcharcall_printfaddesp,12increcxcmpecx,[fsz]jge.endReadjmp.readByte读入(s1.txt)的源文件内容为:1+2;我的目标是简单地输出

windows - 为什么在使用 OS 和磁盘缓冲区写入文件后读取操作要快得多?

我正在使用CreateFile()和WriteFile()依次将大约100个大小为50MB的文件写入磁盘上的一个目录。在第二步中,使用CreateFile()和ReadFile()读取这些文件的内容。我注意到一些部分奇怪的事情:如果我通过FILE_FLAG_NO_BUFFERING|FILE_FLAG_WRITE_THROUGH写入文件时,读取需要很长时间(通常为数百毫秒)。但是,当我不传递这些标志时(而是使用FlushFileBuffers()),写入似乎以大致相同的速度发生,但写入后读取这些文件的速度非常快(每次少于20毫秒)文件!)。这怎么可能?写入5000MB数据时传递的标志如

c - 无法读取 C 中的 UNICODE 文本文件

(我查看了以前的帖子并尝试了他们的建议,但无济于事。)我正在尝试读取仅包含日文字符的文件。该文件如下所示:当我尝试读取它时,控制台中没有任何输出显示,并且在调试时,读取缓冲区只是垃圾。这是我用来读取文件的函数:wchar_t*ReadTextFileW(wchar_t*filePath,size_tnumBytesToRead,size_tmaxBufferSize,constwchar_t*mode,intseekOffset,intseekOrigin){size_tnumItems=0;size_tbufferSize=0;wchar_t*buffer=NULL;FILE*fil

python - 如何将大部分原始文件系统复制到文件中?

我正在使用一个神秘的数据收集文件系统。它有一个描述文件及其在磁盘上的确切偏移量的block,所以我知道每个文件的起始字节、结束字节和字节长度。目标是从物理磁盘中抓取一个文件。它们是大文件,因此性能至关重要。这是“有效”但效率很低的方法:importshutil,iodefstart_copy(startpos,endpos,filename="C:\\out.bin"):withopen(r"\\.\PhysicalDrive1",'rb')assrc_f:src_f.seek(startpos)flength=endpos-startposprint("Startingcopyof"

c - 句柄无效

尝试使用SetConsoleScreenBufferSize但失败并显示“句柄无效”。在最后一个错误。将发布所有代码,但这里有一些要点:使用它来调整缓冲区大小:intTGHandleResizeEvent(structTGHandle*tgHandle,INPUT_RECORDrecord){if(record.EventType==WINDOW_BUFFER_SIZE_EVENT){WINDOW_BUFFER_SIZE_RECORDsize=record.Event.WindowBufferSizeEvent;sizeTGDrawBuffer(&tgHandle->drawBuffe

windows - 套接字应用程序最佳实践的缓冲区管理

拥有WindowsIOCP应用程序......................我了解对于异步i/o操作(在网络上),缓冲区必须在发送/读取操作期间保持有效。因此对于每个连接,我都有一个用于读取的缓冲区。对于发送,我使用缓冲区将要发送的数据复制到其中。发送操作完成后,我释放缓冲区以便可以重复使用。到目前为止还不错,不是什么大问题。尚不清楚的是你们是怎么做到的?另一件事是,即使以这种方式处理,我的意思是多缓冲区,接收端也可能会被数据淹没(根据经验)。即使将SO_RCVBUF设置为25MB也对我的测试没有帮助。所以我该怎么做?有待发送队列吗? 最佳答案

windows - 构建和使用 Google Protocol Buffers

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

ruby - 使用 Ruby 在 Windows 中读取区域位置设置(国家代码)?

我正在尝试使用Ruby访问控制面板:区域和语言:位置:当前位置设置。我只对国家代码感兴趣。我得到的最接近的是来自系统区域设置的国家/地区代码,但这并不是我想要的。`systeminfo|findstr/B/C:"SystemLocale"`.to_s.upcase.strip[30..31]我希望有人知道。谢谢。 最佳答案 使用Win32API:require'Win32API'#SetupsomeWin32constantsGEOCLASS_NATION=16GEO_ISO2=4GEO_FRIENDLYNAME=8#Setupso