草庐IT

microsoft-speech-api

全部标签

c++ - 如何使用 Windows API 检索 HD 供应商/序列号

我说的是物理磁盘驱动器,而不是卷/分区/逻辑驱动器。因此,通常建议的GetVolumeInformation函数不适用于我的情况。确切地说:我正在直接使用尚未分区的磁盘。我通过CreateFile函数打开它的句柄:hDisk=CreateFile(_T("\\\\.\\PHYSICALDRIVE0"),GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED|FILE_FLAG_NO_BUFFERING,NULL);我可以使用这个句柄直接在磁盘上

windows - 一些支持 "\Device\Xxx"格式的NT命名空间绝对路径的API

在这份文件中,http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx#pathsTomakethesedeviceobjectsaccessiblebyWindowsapplications,thedevicedriverscreateasymboliclink(symlink)intheWin32namespace,"Global??",totheirrespectivedeviceobjects.Forexample,COM0andCOM1underthe"Global??"subdirectoryaresimply

c++ - 当 OFN_ALLOWMULTISELECT 时,Windows API 函数 GetOpenFileName() 的字符限制是否有解决方法?

根据MSDN文档,函数GetOpenFileName()当使用Windows2000及更高版本为Unicode编译时,选项OFN_ALLOWMULTISELECT没有字符限制。但是,在WindowsXPx64SP2上,我发现尽管使用了Unicode,但32kANSI限制仍然有效。我在网上看到过其他关于此问题的投诉,但没有解决方案。有谁知道一个简单的解决方法吗?为了完整起见,我使用的是VisualStudio2010,并使用C++进行编码。 最佳答案 文档可能有误。GetOpenFileName()在某种程度上已被弃用,它不再支持最新

windows - 关于 Windows API 的问题

我有一个代码在Windows7的DOSBox上运行...但是我的问题是我的代码是否使用WindowsAPI?下面是我正在使用的头文件...#include#include#include#include#include 最佳答案 你为什么不看看那个代码?如果使用了任何特定于Windows的API,通过查看包含的头文件将不难找到它们。DOSBox可以运行Windows3.1和相关程序,但如果您的程序在Windows3.1之外运行,那么您可以非常确定没有使用WindowsAPI。 关于win

c# - 为什么 Microsoft.Build.Evaluation 在 64 位 PC 上将 $(ProgramFiles) 评估为 "c:\program files"?

我有一个C#项目文件(.csproj),其中包含对$(ProgramFiles)的引用。我使用的是64位Windows7。当我在VisualStudio2010中编译这个项目文件时,它会在c:\ProgramFiles(X86)中正确定位文件。如果我想变聪明,而是使用Microsoft.Build.Evaluation.ProjectCollection.LoadProject([projectfile]),试图在代码中构建它,它会评估$(ProgramFiles)错误地作为c:\ProgramFiles。知道问题的原因是什么吗? 最佳答案

windows - 从 driverstore 安装驱动程序的 API

是否有任何API可用于从driverstore或inf文件夹为我的设备安装驱动程序,例如(PNPC031)? 最佳答案 触发设备的即插即用检测应该从inf目录/驱动程序存储区为您的设备安装驱动程序-如果它找到匹配的驱动程序。查看CM_Reenumerate_DevNode_ExAPI:http://msdn.microsoft.com/en-us/library/windows/hardware/ff539766(v=vs.85).aspx如果您知道INF文件的路径,则可以使用SetupAPI进行安装:http://msdn.mic

windows - 我有用于翻译 Windows Winapi/Win32/系统错误消息的 Microsoft 资源吗?

很容易找到英文系统错误列表:http://msdn.microsoft.com/en-us/library/cc231199.aspxhttp://msdn.microsoft.com/en-us/library/windows/desktop/ms681382%28v=vs.85%29.aspx但是,用户经常会用他们的母语(对我来说最常见的是德语,但我们也有意大利语或法语的情况)报告错误消息(当然没有任何数量)。是否有windows报告的这些错误文本的翻译列表,以便能够搜索这些文本(及其相应的错误编号)以查找非英文文本? 最佳答案

windows api - 检测何时打开某种类型的文件

是否可以在打开某种类型的文件时执行某些代码?就我而言,我想“监听”视频文件(“.avi、mp4等”)何时打开(通过Windows文件资源管理器外壳,或者直接从视频播放器打开?),这样我就可以存储播放视频的历史记录。一个小时的谷歌搜索没有任何结果,所以我求助于你stackoverflow。请指出正确的方向。谢谢。 最佳答案 从任意进程捕获文件系统事件(打开/读/写)的最佳(也是唯一合理的方法)是编写FileSystemMiniFilter如果您正在开发商业产品,请避免“Hook”用户模式​​API,例如CreateFile。这样做需要

Windows API CreateDialog : Modeless Dialog just not show up

即使在大量谷歌搜索之后,我真的无法弄清楚如何制作无模式对话框。我想要做的是通过按下主窗口上的按钮来触发对话框。(所以让我把所有的东西都放在这里。我之前没有把所有的东西都放上去,以免读起来太乱了。)我的代码如下:#include"main.h"#include"resource.h"#includeINT_PTRCALLBACKAboutDlgProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam){switch(Message){caseWM_INITDIALOG:returnTRUE;break;caseWM_COMMAND:switc

c++ - Microsoft Virtual Audio Device Driver Sample (MSVAD) 仅创建 44 字节文件

我目前正在研究MSVAD简单驱动程序。不幸的是,它没有按照我希望的方式工作。当一个新程序启动时,它在C:\下创建为STREAM_NN.WAV不幸的是,这个文件只有44字节大小(只包含文件头)。我附加了调试器View并得到了这个输出:MSVAD:[CMiniportWaveCyclic::NewStream]MSVAD:[CMiniportWaveCyclicMSVAD::ValidateFormat]MSVAD:[CMiniportWaveCyclic::NewStream]MSVAD:[CMiniportWaveCyclicMSVAD::ValidateFormat]MSVAD:CM