草庐IT

c++ - CreateFile 返回错误 INVALID_HANDLE_VALUE(对于 COM 端口),GetLastError 返回 "can' t 找到指定的文件”

我正在打开一个端口与设备通信并控制设备,但是CreateFile()函数返回INVALID_HANDLE_VALUE。GetLastError()返回2,这意味着它找不到指定的文件。我的代码如下所示:wsprintf(szPort,"COM%d",nPort);m_hIDComDev=CreateFile(szPort,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL);if(m_hIDComDev==INVALID_HANDLE_VALUE){

c++ - IWebbrowser2 IE=edge 和用户代理字符串

我正在开发一个使用IWebBrowser2嵌入式控件的winapic++程序。我运行的是Windows7+IExplore11,所以当我打开IE11并调用我的服务器时,我得到了这个用户代理字符串:Mozilla/5.0(WindowsNT6.1;Trident/7.0;rv:11.0)likeGecko当从IWebBrowser2发出请求时,我得到这个UA字符串:Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.1;Trident/7.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;

c++ - 为什么我的 Visual Studio Win32 项目需要安装 .NET 3.5 SP1?

使用VisualStudio2008,我创建了一个C++Win32项目。为了发布该程序,我在同一解决方案中创建了一个VisualStudio安装项目。setup.exe提示我的用户安装.NET3.5SP1,这通常需要15分钟以上的安装时间,并且只允许管理员级别的帐户使用。如果他们不这样做,就会出现类似于“错误框架”的错误。我对我的项目中需要.NET3.5SP1的内容感到困惑。我怀疑只是因为那是我的PC所使用的框架...有没有办法扩大它将运行的框架?代码主要是Win32API调用。为了以防万一,这是我的依赖项和#includes:gdiplus.libcomctl32.libWinmm.

c++ - 如何检测win32应用程序中显示器的热插拔?

每当有显示器插入系统时,我都需要来自Windows的某种事件。Windows中是否有任何API可以执行此操作。顺便说一句,它是一个C++应用程序 最佳答案 使用RegisterDeviceNotification注册获得WM_DEVICECHANGE通知。 关于c++-如何检测win32应用程序中显示器的热插拔?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1440285/

c++ - 如何从 NTFS 索引号获取文件路径?

我有通过调用GetFileInformationByHandle获得的dwVolumeSerialNumber、nFileIndexHigh、nFileIndexLow值。我如何从这些值中获取文件路径? 最佳答案 由于硬链接(hardlink),可能有多个路径映射到给定的VolumeSerialNumber和FileIndex。要找到所有这样的路径:迭代卷以找到其根目录与dwVolumeSerialNumber匹配的卷递归枚举卷上的所有目录,跳过符号链接(symboliclink)和重新分析点,以找到匹配nFileIndexHigh

c++ - 哪些因素会导致Win32错误665(文件系统限制)?

我维护一个从数据记录器收集数据并将该数据附加到二进制文件末尾的应用程序。该系统的本质是文件可以一次变大(>4GB)小步。我的应用程序的一个用户在他的NTFS分区上看到了尝试附加数据失败的情况。由于调用fflush()而报告错误。发生这种情况时,GetLastError()的返回值为665(ERROR_FILE_SYSTEM_LIMITATION)。MSDN给出以下description对于这个错误Therequestedoperationcouldnotbecompletedduetoafilesystemlimitation在谷歌上搜索此错误代码会得到与SQLServer相关的结果,

c++ - windows 命令提示符中的伪环境

实际上我正在考虑为我的编程任务创建一个很酷的界面,所以我四处寻找如何做才能创建这样的效果,下面是图像。问题1.)创建一个运行伪图形(半图形或他们所谓的任何东西)的程序需要什么,它有像BIOS向导那样的菜单?我总是看到一些程序在控制台中运行,但它可以有类似图形的看起来,例如蓝色环境,用户可以使用键盘在菜单中选择设置列表。感谢您花时间阅读我的问题。 最佳答案 它被称为基于文本的用户界面。有几个图书馆可以做到这一点。我想这就是你要找的。:)Crossplatform,Interactivetext-basedinterfacewithco

c++ - 在 native Win32 GDI 中绘制稍微透明的蓝色矩形

如何在nativeWin32C++中绘制alpha/透明度值为0.5(即50%透明度)的蓝色矩形?使用像RGBA()这样的宏会失败,我不确定如何指定画笔的alpha值。SetDCPenColor(hdc,RGBA(255,255,0,127));SetDCBrushColor(hdc,RGBA(255,255,0,127));Rectangle(hdc,0,0,width,height); 最佳答案 我很确定您需要GDI+这样做,但它应该与GDI一起存在://inrenderingfunctionusingnamespaceGdip

c++ - 删除 HWND 对象

我有一种情况,当我收到一条消息时,我必须从hWnd中删除一个窗口。我虽然这一定是可能的,因为CreateWindowEx通过返回HWND创建了一个对象,但我必须能够删除一个对象。注意:hWnd位于其他进程中。 最佳答案 正确的方式是发送WM_CLOSE向相关窗口发送消息或直接调用DestroyWindow这将发送WM_DESTROY消息到窗口。线程不能使用DestroyWindow来销毁由不同线程创建的窗口。WM_CLOSE和WM_DESTROY的区别:发送WM_CLOSE后,目标应用程序可以在销毁窗口之前提示用户确认,方法是处理W

c++ - "refclock.h"头文件构建错误,Windows 平台 SDK 的一部分

我正在构建一个VC++解决方案并使用Win&SDK和Win8SDK(包括LIB中的这些路径和VS2008的INCLUDE设置)。但是我在refclock.h头文件中收到以下构建错误。我不明白我们如何在标准的MSFT头文件中得到错误。谁能帮我解决这个问题?c:\programfiles\microsoftsdks\windows\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(80):errorC2061:syntaxerror:identifier'CAMSchedule'2>c:\programfiles\micro