jjzjj

enum-flags

全部标签

windows - 除了 "flags"参数外,ChildWindowFromPointEx 和 ChildWindowFromPoint 有何不同?

WindowsAPI有ChildWindowFromPoint()和ChildWindowFromPointEx()函数,它们的区别在于后者有uFlags参数指定要跳过的窗口。看起来如果我将CWP_ALL传递给ChildWindowFromPointEx(),我将获得与使用ChildWindowFromPoint()完全相同的效果>.uFlags参数的唯一区别是什么?我可以只在任何地方使用ChildWindowFromPointEx()并在需要ChildWindowFromPoint()行为时传递CWP_ALL吗? 最佳答案 如果有

c++ - HTTP_RECEIVE_REQUEST_FLAG_FLUSH_BODY 不复制 http body

根据MSDNdocumentation,传递到HttpReceiveHttpRequest函数中的HTTP_RECEIVE_REQUEST_FLAG_FLUSH_BODY标志导致实体主体被复制到传入的HTTP_REQUEST结构中。我写了一个简单的http服务器(见下文),它调用这个函数并设置了这个标志。然后,我从测试客户端发送了一个4MB的POST请求,并将调试器附加到http服务器,以查看函数返回后有多少字节被复制到HTTP_REQUEST结构中;我观察到这没有复制http正文,只复制了header。有没有办法让HttpReceiveHttpRequest将整个4MB主体复制到HT

windows - 带有 SEE_MASK_FLAG_NO_UI 的 ShellExecuteEx 仍然显示消息

在我的系统上,.xyz扩展名根本没有注册。因此,当我在资源管理器中双击.xyz文件时,Windows10会弹出标准的“您希望如何打开此文件”对话框。现在,当我运行这个简短的代码片段时,会显示与上面相同的对话框,即使我在sei.fMask中放置了SEE_MASK_FLAG_NO_UI标志:SHELLEXECUTEINFOsei={0};sei.cbSize=sizeof(SHELLEXECUTEINFO);sei.fMask=SEE_MASK_FLAG_NO_UI;sei.hwnd=AfxGetMainWnd()->GetSafeHwnd();sei.lpVerb=_T("open");

c++ - 使用 FILE_FLAG_BACKUP_SEMANTICS 后无法更改目录时间戳

我也在尝试使用FILE_FLAG_BACKUP_SEMANTICS后更改目录的时间戳。我的代码片段如下intSetDirectoryTime(char*Path){FILETIMEftCreate,ftAccess,ftWrite;Handle=CreateFile(Path,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,NULL);if(Handle==INVALID_HANDLE_VALUE){//UnabletoopendirectoryreturnFALSE;}if(Se

c# - .net-native enum.GetValues 麻烦

我正在尝试让我的应用程序(适用于Windows10)在.NETnative下运行。我遇到了以下问题:Enum.GetValues在运行时失败,缺少元数据。我设法简化了这个问题的测试用例(在现实生活中我的代码看起来不同)。在可移植图书馆我有:publicenumenumValues{A1,B1,C1,}publicclassfff{publicstaticobjectGetClass2Value(){returnenumValues.B1;}}在我的通用Windows应用程序中,我调用了以下代码:Arrayaaa=Enum.GetValues(fff.GetClass2Value().G

c# - 如何将 Enum 转换为 Int 以用于 Expression.Equals 操作?

我正在尝试在C#中动态构建一个表达式树,它被编译并用作LINQ-to-SQLWhere()调用的谓词。问题是我试图将Enum(以int作为其基础类型)直接与Int进行比较,但这失败并出现错误“成员MyEnumType没有支持的SQL转换”。代码:ParameterExpressionparam=Expression.Parameter(typeof(MyClass),"obj");//inputparameter-thisexposesapropertyoftheEnumtypeMemberExpressionenumMember=Expression.Property(param,"

c# - 为什么我不能从 System.Enum 抽象类派生?

MSDN将System.Enum定义为一个抽象类:[SerializableAttribute][ComVisibleAttribute(true)]publicabstractclassEnum:ValueType,IComparable,IFormattable,IConvertible而且MSDN对抽象类也有这样的说法:Anabstractclasscannotbeinstantiated.Thepurposeofanabstractclassistoprovideacommondefinitionofabaseclassthatmultiplederivedclassescan

c# - Enum ToString 显示为数字

我有一个枚举privateenumTimeUnit{Day,Month,Year}我正在用以下内容填充描述:returnstring.Concat(unit,"(s)");其中单位是TimeUnit。大多数情况下,这工作正常并显示“天数”,但在特定服务器上它显示为“1(s)”什么会导致这种情况? 最佳答案 尝试使用Enum.GetName()它还有一个优点是safer因为它需要:您传入的值不为空。您传入的值属于枚举实际可以用作其基础类型的类型,或者属于枚举本身的类型。它对值使用GetType来检查这一点。

C# Enum.TryParse 解析无效数字字符串

C#.NET4.5,Windows10,我有以下枚举:privateenumEnums{A=1,B=2,C=3}这个程序的行为非常奇怪:publicstaticvoidMain(){Enumse;if(Enum.TryParse("12",oute)){Console.WriteLine("Parsed{0}",e);}else{Console.Write("Notparsed");}Console.ReadLine();}我希望TryParse方法的结果为假,但令我惊讶的是控制台显示“Parsed12”。在Watch窗口中甚至显示值为“12”,并且是Enums类型!对于我尝试过的任何

c# - 为什么受 'Enum' 约束的泛型类型在 C# 7.3 中不符合 'struct' 的条件?

如果我有一个带有struct约束的通用接口(interface),如下所示:publicinterfaceIStructwhereT:struct{}我可以像这样提供一个枚举作为我的类型T,因为enum满足struct约束:publicclassEnumIsAStruct:IStruct{}C#7.3添加了一个Enumconstraint.以下代码以前是非法的,现在可以编译:publicclassMCVE:IStructwhereT:struct,Enum{}然而,令我惊讶的是,以下代码无法编译:publicclassMCVE:IStructwhereT:Enum{}...有错误CS0