草庐IT

file-system

全部标签

windows - 如何获取 Windows SYSTEM 用户 token

操作系统是启用了UAC的Windows7或更高版本。调用进程具有管理员权限,已由UAC框确认。我想在用户SYSTEM下生成一个新的控制台窗口(cmd.exe)(不要问为什么)。我可以使用Sysinternals的PsExec工具或类似工具以交互方式执行此操作,但我没有源代码,我需要了解其工作原理。我知道我必须调用CreateProcessAsUser()并且在第一个参数(hToken)设置为NULL的情况下工作正常,但现在我需要知道如何获取hToken。我知道我可以通过调用LogonUser()来获得这样的token-但不能用于SYSTEM。我如何获得SYSTEM的token?我想过使

c - 微型筛选器驱动程序 : how to replace file content on open?

我有一个顶层微过滤器驱动和一个用户模式服务,类似于ScannerMSDNexample.我希望我的用户模式服务在记事本中打开时替换A.txt文件内容。因此,在IRP_MJ_CREATE操作后回调中,我向服务发送通知并等待它向文件写入新数据。但是服务无法打开A.txt,因为它已经被记事本锁定了。如何让我的服务在不使用内核的情况下写入数据FltWriteFile?这样做的最佳方法是什么?也许取消文件打开,让服务写入数据并用相同的参数重新打开它而不离开操作后回调?也许我应该在预操作中覆盖所需的访问权限?---任何信息将不胜感激。如果您认为这个问题缺乏细节,请告诉我。

windows - 文件://<somewhere> and file:///<somewhere>?有什么区别

file://之间有什么区别?和file:///? 最佳答案 file:///some/path等同于file://localhost/some/path,指的是本地机器上名为/some/path的文件,而file://some/path指的是名为path的机器上名为some的文件。参见RFC1738,第3.10节:3.10FILESThefileURLschemeisusedtodesignatefilesaccessibleonaparticularhostcomputer.Thisscheme,unlikemostotherU

ruby - 如何判断是否支持 File.symlink

在某些平台(Windows)上,File.symlink不受Ruby支持,引发NotImplemented异常(exception)。我有一些代码可以使用或不使用符号链接(symboliclink),因此需要进行调整。我想出的发现是否支持符号链接(symboliclink)的唯一方法是尝试创建一个:defsymlink_supported?Dir.mktmpdirdo|dir|target_path=File.join(dir,'target')symlink_path=File.join(dir,'symlink')FileUtils.touchtarget_pathbeginFil

c - SetupDiGetDeviceRegistryProperty : "The data area passed to a system call is too small" error

我有一个使用SetupAPI在WindowsXP上枚举USB设备的代码:HDEVINFOhDevInfo=SetupDiGetClassDevs(&_DEVINTERFACE_USB_DEVICE,0,0,DIGCF_DEVICEINTERFACE|DIGCF_PRESENT);for(DWORDi=0;;++i){SP_DEVINFO_DATAdevInfo;devInfo.cbSize=sizeof(SP_DEVINFO_DATA);BOOLsucc=SetupDiEnumDeviceInfo(hDevInfo,i,&devInfo);if(GetLastError()==ERRO

windows - Qt Creator - LNK1104 : cannot open file "glu32.lib"

我正在使用Qt和QtCreator,我想运行一个测试文件来查看我的安装是否正确。我使用Windows8.164位。我为Windows安装了最新的QtOpenGL64位版本。我已经在我的.pro文件中包含了glu32.lib文件:win32:CONFIG(release,debug|release):LIBS+=-L$$PWD/C:/ProgramFiles(x86)/WindowsKits/8.1/Lib/winv6.3/um/x64/-lGlU32else:win32:CONFIG(debug,debug|release):LIBS+=-L$$PWD/C:/ProgramFiles(

java - 为什么追加到文件时,Windows 和 Linux 机器上的 file-io 结果不同?

我有一个类通过读取上传的文件将新配置附加到现有配置。问题是它在Windows上运行良好,但在Linux上却不是这样——我正在使用Servlet接收文件。新配置必须从一个新行开始,并且任何地方都不能有空行。以下是代码。publicclassConfigGen{publicstaticvoidprocess(FileconfigFile,FileuploadedFile)throwsIOException{synchronized(configFile){if(shouldAppend(configFile,uploadedFile)){StringBuilderbuilder=readF

.net - "Windows.Media.SpeechSynthesis"和 "System.Speech.Synthesis"有什么区别?

我正在尝试确定这两个API中的哪一个具有更多功能来在用C#开发的专业应用程序中执行文本到语音转换。操作系统在这里不是问题,问题在于两个命名空间如何提供更多功能、高质量的声音和稳定性。有没有人精通这两种技术并能告诉我这两个命名空间的不同之处?就特征而言,其中一个是另一个的超集吗?编辑:这两个命名空间的背后是同一个语音合成引擎?我的网络应用程序将在服务器端完成所有文本到语音的工作。 最佳答案 Windows.Media.SpeechSynthesis是Windows运行时的一部分,仅支持Windows应用商店应用。它不能从您的服务器应用

c++ - Windows native 开发 : debuggee tries to load werkernel. sys from system32

我现在正在研究WindowsNativeAPI,Nt*/Zw*方法。我下载了WDK,安装它并成功编译了一个应用程序(x64,在Win8.1x64,VS2013下)。它唯一做的就是调用NtOpenFile()。为了成功编译/链接它,我必须对项目属性(驱动程序应用程序模板)进行以下更改:添加来自WDK的包含文件夹从WDK添加Lib文件夹告诉链接器使用ntoskrnl.lib出乎意料的是,在运行调试器时,我收到错误消息“程序无法启动,因为您的计算机缺少C:\Windows\SYSTEM32\werkernel.sys。请尝试重新安装程序以解决此问题。“werkernel.sys显然存在于sy

c# - Windows 10 通用应用程序,在访问我的设备信息时抛出 : 'System.UnauthorizedAccessException' in app. exe 异常?

我是Windows应用程序开发和C#的新手。当我尝试从我的应用程序运行此代码时,它说unauthorizedexceptionthrown但是示例“MobileBroadband”应用程序正在我的诺基亚530上顺利执行相同的代码try{varmodem=MobileBroadbandModem.GetDefault();IMEI=modem.DeviceInformation.MobileEquipmentId;MANUF=modem.DeviceInformation.Manufacturer;MODEL=modem.DeviceInformation.Model;Debug.Wri