草庐IT

consider_all_requests_local

全部标签

c++ - 用于控制对 "All Users\Application Data"中文件的访问的 Windows 服务

这是我的情况:我有一个使用配置文件的应用程序。配置文件适用于系统的所有用户,所有用户都可以更改配置。我决定将配置文件放在“AllUsers\ApplicationData”文件夹中。问题是该文件只能由创建它的用户写入。这是我的临时解决方案:创建文件时,应用程序会设置其安全选项,以便系统的所有用户都可以写入。然而,Ithinkthisisahack我想我必须创建一个服务来管理对文件的访问。我的应用程序是用C++(MFC)编写的,我不是所有.Net方面的专家。所以我的第一个想法是编写一个带有COM接口(interface)的WindowsC++服务,该服务将由应用程序调用。我的问题:我的想

c++ - AdjustTokenPrivileges 错误 ERROR_NOT_ALL_ASSIGNED

请告知下面代码中指出的错误,为什么会这样?我是C++的新手。我查看了StackO和MSDN(例如link),但它们对我没有帮助,因为我不知道自己做错了什么。HANDLEhToken;if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken)){returnFALSE;}{SetPrivilege(hToken,L"SeBackupPrivilege",1);BOOLSetPrivilege(HANDLEhToken,//accesstokenhandleLPCTSTRlpsz

c++ - 跨平台C++ : convert to/from UTC/local time WITH historical tzdata

我需要将时间从UTC转换为用户选择的时区。我还必须将该时区的用户输入转换为以UTC存储。目前时区以Olson格式定义(“美国/洛杉矶”)。Linux上使用timegm的解决方案很简单,但我找不到在Windows上做完全相同事情的跨平台解决方案(或任何解决方案)。我不能使用Boost.Date_Time(http://www.boost.org/doc/libs/1_57_0/doc/html/date_time.html),因为它不支持历史时区更改,例如多年来不同的DST周期。几年前显然有人提交了一个补丁,但似乎没有被接受。唯一似乎合理的其他解决方案是使用来自:https://www.

c++ - 为 boost::locale::conv 中的函数获取用户的代码页名称

手头的任务我在Windows上从UTF-8编码的XML解析文件名。我需要将该文件名传递给一个我无法更改的函数。在内部它使用_fsopen()不支持Unicode字符串。当前方法我目前的方法是将文件名转换为用户的字符集,希望文件名可以用该编码表示。然后我使用boost::locale::conv::from_utf()从UTF-8转换,我使用boost::locale::util::get_system_locale()获取当前语言环境的名称。生活美好吗?我在德语系统上使用代码页Windows-1252因此get_system_locale()正确地产生了de_DE.windows-12

Windows 10 上的 Android 虚拟设备 - 无尽的 "VCPU shutdown request"- 无法启动

我的x86AVD从不加载。我到处寻找解决方案,但没有找到适合我的解决方案。配置操作系统:Windows10家庭版内存:12GB中央处理器:英特尔酷睿i5-7200CPU支持HAXM要求的VT-x、EM64T和XD位(根据英特尔规范)HAXM版本:6.0.4AndroidStudio版本:2.2简介:InsydeF.21BIOS配置:启用虚拟化技术。步骤1.在AndroidStudio中,启动AndroidVirtualDeviceManager。2.使用所有默认设置创建Nexus5API24AVD。3.启动AVD。结果:AVD窗口显示。没有出现“Android”文本。Android运行

c# - 文件从程序数据重定向到 AppData\Local\VirtualStore\ProgramData

我正在使用C#和.net3.5我将我的程序数据保存在一个文件中:C:\ProgramData\MyProgramName\fileName.xml在安装并运行我的应用程序一次后,我卸载了它(在卸载过程中,我从“程序数据”中删除了所有文件)然后我重新安装应用程序并运行它。奇怪的是,我的应用程序启动时就好像程序数据中的文件存在一样——这意味着,即使数据文件已被删除,我的应用程序中仍有旧数据。运行时:File.Exists("C:\ProgramData\MyProgramName\fileName.xml")即使我确定该文件不存在,我也得到了“真”。当我以管理员身份运行应用程序然后文件不存

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

python - locale.setlocale(LC_NUMERIC) : how to make it work on Windows

我在Win10下。这是我的小脚本:importlocalelocale.setlocale(locale.LC_NUMERIC,"rus")printlocale.localeconv()fv=2.5printstr(fv)这会打印出:{'mon_decimal_point':'','int_frac_digits':127,'p_sep_by_space':127,'frac_digits':127,'thousands_sep':'\xa0','n_sign_posn':127,'decimal_point':',','int_curr_symbol':'','n_cs_prece

c# - ICorProfilerCallback2 : CLR profiler does not log all Leave calls

我正在尝试编写一个记录进程中所有.Net方法调用的分析器。目标是使其具有高性能,并在内存中保留最后5-10分钟(固定缓冲区,循环覆盖旧信息),直到用户触发将该信息写入磁盘。预期用途是追踪很少重现的性能问题。我从https://github.com/appneta/SimpleCLRProfiler的SimpleCLRProfiler项目开始.分析器使用.Net分析的ICorProfilerCallback2回调接口(interface)。我让它在我的环境中编译和工作(Win8.1、.Net4.5、VS2012)。但是,我注意到有时记录了Enter调用的Leave调用会丢失。Consol

c++ - Windows 驱动内核 : How enumerate all subdirectories and files?

我在一个小型的antirootkit中工作,我需要添加一个功能:删除rootkit目录和您可能的子目录中的所有文件。那么,首先有必要知道所有这些目录和文件,对吧?为此,我下面的代码已经完成了这项任务的一半。他枚举了特定目录的所有目录和文件,但不“查看”子目录(文件和文件夹)。例如:输出:代码:#includetypedefunsignedintUINT;NTSTATUSEnumFilesInDir(){HANDLEhFile=NULL;UNICODE_STRINGszFileName={0};OBJECT_ATTRIBUTESOa={0};NTSTATUSntStatus=0;IO_S