Articles of msdn

微软怎么能说WinAPI中一个单词的大小是16位?

我刚开始学习WinAPI。 在MSDN中,为WORD数据types提供了以下说明。 字 一个16位无符号整数。 范围是0到65535十进制。 这个types在WinDef.h中声明如下: typedef unsigned short WORD; 很简单,它与我一直用来学习的其他资源相匹配,但它怎么可以明确地说,它是16位? 维基百科上的C数据types页面指​​定 short / short int / signed short / signed short int 短签名整数types。 能够至less包含[-32767,+32767]范围; 因此它至less有 16位的大小。 所以根据C标准, short的大小short可能是32位。 但谁决定使用什么样的比特尺寸呢? 我在这里find一个实际的解释 。 具体而言,该行: …这取决于两个处理器(更具体地说,ISA,指令集架构,例如x86和x86-64)和编译器,包括编程模型。 所以这是ISA,这是有道理的,我想。 这是我迷路的地方。 看看维基百科上的Windows页面 ,我可以在侧面看到: 平台ARM,IA-32,Itanium,x86-64,DEC Alpha,MIPS,PowerPC 我真的不知道这些是什么,但我认为这些是处理器,每个将有一个ISA。 也许Windows支持这些平台,因为所有这些平台都保证使用16位作为unsigned short ? 这听起来不太对,但我对这个东西还没有足够的了解。 回到我的问题:Windows API如何能够inputtypedef unsigned short WORD; 那么当C标准本身不能保证一个总是16位时, WORD是一个16位无符号整数?

如何获得Windows的命令行“打开..”function?

我以前问过一个关于如何让Windows“打开..”应用程序列表的问题。 这是一个这个问题的链接 。 我们可以使用SHAssocEnumHandlers接口来获取特定文件扩展名的文件关联,例如.png 然后使用IAssocHandler并可以检索与文件types( .png )关联的可执行文件的完整path和文件名。 例如: ['Paint': 'C:\\Windows\\system32\\mspaint.exe', …] 但是我想获得执行mspaint.exe与给定的图像的命令行。 像这样〜 "%systemroot%\system32\mspaint.exe" "%1" 有没有另一个MSDN API可以帮助我们获得“打开..”命令? 我认为它应该有,因为Windows XP已经有这个能力。

如何在系统级设置“TZ”环境variables

有人可以告诉我如何在系统级别设置“TZ”环境variables? “中国标准时间”的价值应该是什么? 在cmd提示下执行下面的命令不会在系统级设置值。 设置TZ = CST8

驱动器号的接口types

任何有关获取卷的设备接口types的build议,因为它的驱动器号(如G :)? 具体而言,我正在寻找一个不依赖于WMI的解决scheme。 谢谢。

在windows7 – 32位系统上获取有关磁盘驱动器的信息

当我在Windows XP-32上运行下面的代码,我得到下面的结果。 我只插了一个USB笔驱动器 On Windows XP – 32 Bit ———————– Drive C: ProductId: ST3160215AS ProductRevision: 3.AAD DeviceType: 7, DeviceNumber: 0, PartitionNumber: 1 DevicePath: \\?\ide#diskst3160215as_____________________________3.aad___#5&2 7db0ed4&0&0.0.0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} Class: DiskDrive Hardware ID: IDE\DiskST3160215AS_____________________________3.AAD___ Friendly Name: ST3160215AS Physical Device Object Name: \Device\Ide\IdeDeviceP2T0L0-5 Device Description: Disk drive Parent Device Instance ID: PCIIDE\IDECHANNEL\4&1C1E8A11&0&0 Parent of Parent Device Instance ID: PCI\VEN_8086&DEV_27C0&SUBSYS_72671462&R EV_01\3&11583659&0&FA […]

SetupDiGetDeviceProperty用法示例

任何人都可以提供一个使用SetupDiGetDeviceProperty的例子吗?

我在哪里可以得到检查版本的Windows 10?

我的问题是有关与这个问题 ,这是为Windows 7,除了我有一个MSDN Pro订阅,我以前提取检查构build的Windows。 我想安装内核debugging的检查版本,因为在过去的Windows版本中,我已经做了很多次。 奇怪的是,Windows 10检查构build符号可用。 看一看: 奇怪的是,旧版本如Windows 7,8和8.1(也是相应的服务器版本)都具有检查构build和安装媒体的符号。 这里的Windows 8和8.1的结果: 所以我的问题是:我在哪里可以findWindows 10的检查版本的安装媒体?

为win32控制台应用程序设置库path

当我尝试执行简单的“HelloWorld”win32控制台应用程序时,出现“找不到:重新启动应用程序可能会解决问题”错误。 我知道.dll的位置。 如何从命令提示符执行.exe时指定其位置? PS:将.dll复制到.exe的当前目录似乎解决了这个问题,但是这种方法在这种情况下是不合适的。

如何检测介质是否插入可移动驱动器/读卡器

我有一个读卡器(没有插入记忆棒)。 当我插入我的电脑它显示我的电脑中的空驱动器… 是否有可能知道一个驱动器是否有一个媒体(抱歉,我不知道如何调用它)或不…

在不引用Windows上的当前目录的情况下parsing相对path

我有一个Windows CPP应用程序,我想解决path相对于一个特定的目录,而不改变当前的目录。 这意味着我不能使用GetFullPathName因为它parsing了相对于当前目录的path。 由于这是一个安全敏感的问题,我宁愿不滚动自己的,但使用一个制裁的API。 我四处寻找一个很好的答案,但找不到任何东西。 这对于Web服务器或multithreading环境来说肯定是一个常见的问题。 其他人如何做到这一点? 任何帮助将不胜感激。 例如:当数据位于C:\appfolder\data时,从C:\appfolder\exes\myapp.exe运行应用程序。 我想将sillyfolder\..\mydata.txtparsing为C:\appfolder\data\mydata.txt 。