草庐IT

c++ - 线程应用程序中的 sleep 命令

Windows中的Sleep(ms)命令导致线程释放它们的时间片。是否存在暂停线程但不释放时间片的等效Sleep(ms)命令? 最佳答案 您不希望您的线程休眠(又名挂起),您想要停止它。用一个简单的循环来做到这一点:#includevoidstall(unsignedms){clock_tgoal=clock()+ms;while(goal>clock());}//ormaybehigherresolutionwithsomeperformanceprofilingfunctions...

c++ - 在 Windows C++ 中从 JPG/PNG 文件创建 BITMAPINFO

我在API中有一个函数,我正在使用该函数请求一个BITMAPINFO指针。我想给这个函数一个图像。我的图像是JPG/PNG。假设我将它们转换为BMP文件,我仍然不知道如何设置这个结构。是否有我可以使用的WindowsAPI? 最佳答案 您可以为此使用GDI+。使用Gdiplus::Bitmap读取BMP/JPG/PNG/GIF::FromFile加载和Gdiplus::Bitmap::GetHBITMAP访问HBITMAP,然后访问BITMAPINFO 关于c++-在WindowsC++

C++ 如何检查 Outlook 进程是否已经在运行

我是C++编程的新手,但我想知道是否有一种简单的方法来检查Outlook进程是否已经在运行,或者换句话说,检查Outlook是否已经打开。有人可以告诉我吗?谢谢 最佳答案 您可以检查outlookOLE的运行实例:staticconstboolisOutlookRunning(){CLSIDclsid;HRESULThr=CLSIDFromProgID(_T("Outlook.Application"),&clsid);if(hr!=S_OK)returnfalse;IUnknown*pUnknown=NULL;hr=GetActi

c++ - 这两种包含相同 header 的方式在编译器中是否发生了不同的事情?

是否:#include#include#include#include#include"FileX.h"编译同一个头文件:#include#include#include#include#include在第一种情况下,windows.h是另一个文件(仍然包含在最后)。这两种包含相同header的方式在编译器中是否发生了不同? 最佳答案 在我的世界里,“FileX.h”定义如下#error"Thisisdifferentfromwindows.h,asitcontainsan#error!"#include所以是的,在这种情况下,“编

c - 以下代码如何使 PC 发出蜂鸣声?

voidSound(intf){USHORTB=1193180/f;UCHARtemp=In_8(0x61);temp=temp|3;Out_8(0x61,temp);Out_8(0x43,0xB6);Out_8(0x42,B&0xF);Out_8(0x42,(B>>8)&0xF);}In_8/Out_8从指定端口读取/写入8位(实现细节省略)。它是如何让PC发出哔哔声的?更新这里为什么要用&0xF?不应该是0xFF吗? 最佳答案 PC有一个8255定时器芯片,使用端口0x61、0x43和0x42控制。当端口0x61位0设置为1时,

c++ - Windows下的_stat()到底是怎么工作的

在我的代码中,我尝试使用_stat()获取文件的权限。目前我想在Windows下运行它。方法如下:boolCFile::Private::checkPermissions(std::stringsFilename,CFile::EOpenmodeiOpenmode){std::stringsErrMsg="";boolbResult=true;struct_statbuf;intiResult=0;//Getdataassociatedwith"crt_stat.c":iResult=_stat(sFilename.c_str(),&buf);//Checkifstatisticsar

C: 如何获取Windows目录下的文件列表?

我正在尝试根据RFC959标准用C(学校作业)实现FTP服务器。我在使用LIST命令时遇到问题。RFC中写道:“这个命令导致一个列表从服务器发送到被动排版。如果路径名指定目录或其他文件组,服务器应传输文件列表在指定的目录中。如果路径名指定一个文件然后服务器应该发送当前信息文件。空参数表示用户当前的工作或默认目录。”我知道有GetCurrentDirectory等函数。是否有函数可以在MS-DOS命令提示符下获取诸如'dir'的输出?任何类似的东西都会有所帮助。提前致谢! 最佳答案 FindFirstFile&FindNextFile

c++ - 通过旧的(非 wchar)API 函数在非 ANSI 系统上打开文件

我正在编写一些让我抓狂的中间件。我正在寻找一些I18N专家来帮助我-这对我来说都是全新的。现在这一切都在Windows中,但它也必须在Linux和Mac上运行,尽管我敢打赌它们会很容易。我有一个系统(我无法触摸),它会给我一个类似于wchar_t*的字符串。它接受UTF-8或当前语言环境的输入,并神奇地给我一个wchar_t*。我有另一个我正在使用的API,它只能将文件名作为char*(我也不能触摸)。所以我一直在做的是在wchar_t*中获取我的文件名并使用WindowsAPI函数WideCharToMultiByte并将其转换为char*并将其传递给我的其他API函数。它工作得很好

c++ - 在发布版本中创建 dmp 文件

当程序在发布版本中崩溃时如何创建dmp文件?我想我应该触发异常,但我不知道如何触发 最佳答案 在Windows上,您可以使用DebugHelperAPI将小型转储文件写入您选择的任何位置。此文件不需要发送给Microsoft。http://msdn.microsoft.com/en-us/library/ms680369(v=vs.85).aspx正如其他人所提到的,如果没有来自正确构建的PDB文件,转储文件将毫无用处。您可能需要考虑使用Microsoft的符号服务器来索引和管理PDB文件。您可能还想使用Breakpad直接向您报告

在 Linux 和 Windows 中具有包含和排他性的 C++ 多线程函数

Linux我有两个函数:functionA和functionB这两个函数可以多线程运行,即:一次最多可以运行一个functionA一次可以运行多个functionBfunctionA和functionB是互斥的,即如果正在执行functionA然后functionB必须等到functionA完成,并且如果有functionB的任何实例正在执行,那么functionA必须等到functionB的allinstances完成。你能告诉我如何在Linux中使用pthread实现这个吗?我试了很多方法,但似乎不够清楚。Windows我如何使用C++在Windows中完成同样的事情?