草庐IT

REPETEABLE_READ

全部标签

Windows "known folders": is there any one of them which is reliably read/write for all users on all versions?

SHGetKnownFolderPath()及其队列接受定义的常量之一here,返回目录的路径。我正在寻找这些文件夹中的一个,它可以被XP、Vista和Windows7上的所有用户(包括LocalSystem)可靠地写入...但我想我被淘汰了。看起来,事实上,硬盘驱动器上不再有单一位置可以放置文件并确保所有用户都可以在所有这些操作系统版本上写入它,而无需先修改权限。这是真的吗? 最佳答案 你是对的;没有这样的文件夹。您需要自己创建一个。 关于Windows"knownfolders":i

windows - 具有部分对象(CreateFileMapping)的 I/O 是否比基本 api(Read/WriteFile)更快?

CreateFileMapping和MapViewOfFile,然后我们使用类似memcpy的函数进行I/O。只需使用读/写文件。第一个比第二个快吗?我不明白。为什么更快?如果我们使用节对象,那么我们可以从VMM或缓存​​管理器中获得更多的缓存优势吗? 最佳答案 发生页面调出时,文件内存映射速度更快,因为文件本身用作分页存储。如果内存映射文件中的内存未更改,则无需将页面刷新到页面文件,因为数据已经在文件中,Windows可以从磁盘重新读取页面。.EXE和.DLL文件使用此机制加载,因此是它们自己的页面存储。如果内存映射文件中的内存被

c++ - 如何打开只有 FILE_READ_ATTRIBUTES 权限的文件?

我想从非管理员程序发出FSCTL_GET_NTFS_VOLUME_DATA控制代码。该文档说“打开卷时,FILE_READ_ATTRIBUTES或FILE_WRITE_ATTRIBUTES访问权限就足够了”,所以我相信这应该是可能的。我尝试了路径和卷路径:"\.\C:""\?\Volume{4f26a671-c36e-11e2-913d-806e6f6e6963}"虽然我可以打开它们,但对DeviceIOControl的调用将仅适用于GENERIC_READ|GENERIC_WRITE。这是代码:intmain(){char*mount="\\\\.\\C:";HANDLEhHandl

c# - 如何使用c#删除Word文档中的 'Read only recommended'选项?

我正在使用与Word交互的应用程序。我们在数据库中导入文档,然后允许用户通过NetOffice.WordApi使用MicrosoftWord修改这些文档。当文档被标记为只读时,我们遇到了一些问题,每次打开时,我们都会看到一个“另存为”对话框,让您可以选择创建文档的临时副本以允许您进行更改在文档中。我的问题如下:如何去掉文档的只读文字标记,重新保存没有标记的文档?我可以按照下面链接中的说明从word中手动删除该选项,但我想通过代码自动执行该过程。Theauthorwouldlikeyoutoopenthisasread-only**请在回答之前注意以下内容:这不是Windows级别文件中

windows - 只读设备上的 Chrome Portable : Suppress read only warning

我正在为在自助服务终端模式下使用Chrome的客户制作一个Windows应用程序。他们想将项目刻录到CD。虽然这在读取访问设备上适用于chromeportable,但不适用于只读设备。弹出一条警告,要求暂时将其复制到本地驱动器以从那里运行。单击是允许程序运行,但我想取消它,因为他们不想每次都看到它。有没有办法在刻录之前抑制警告或缓存到CD?我需要使用chrome,而不是其他可移植浏览器。我可能太天真了,他们可能是比使用可移植应用程序chrome下载更好的选择。 最佳答案 我在Portableapps网站上问了同样的问题并得到了这个回

xml - Windows 批处理 : Read a very long line from unformatted xml

如何使用批处理文件读取很长一行未格式化的xml?我试图在每个“>”之后插入一个换行符。问题是,我的批处理文件在找到“>”后跳到下一行。并且由于这种行为,只显示了我的xml文件的第一个标记(只有一行,第二行不存在)。这是我用过的命令:FOR/F"delims=>"%%iIN(test.xml)DO@echo%%i这是我的xml文件的外观示例:这是cmd命令的输出: 最佳答案 这是一种强大的处理方式,可以处理很长的行:type"file.txt"|repl">"">\r\n"XL>"newfile.txt"这使用一个名为repl.bat

java - 在 WIndows 上的 Java 中,如何检测文件是否具有 'Read Only' 属性

在Windows中,文件可能不可写,因为用户由于访问控制列表权限而无权修改文件,或者只是因为文件设置了只读属性。我的应用程序是用Java编写的,这些情况中的任何一个都可能导致Files.isWritable(file)失败,但是我如何确定导致失败的情况,具体来说,我只想知道是否设置了只读属性。我注意到有一个File.setReadOnly()方法(以及File.setWritable()),我假设在Windows上这只会设置属性,但似乎没有File.isReadOnly()方法。 最佳答案 我使用此方法检查是否只读,(它使用自定义方

c++ - 类似于 mmap(NULL, sz, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);在窗口中

我正在尝试将一些linuxC++移植到Windows,但一直停留在这样的一行void*ptr=mmap(NULL,sz,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0);我发现这是一种动态分配内存的方法,因为文件描述符是-1。我如何在Windows中执行此操作?我无法在没有文件处理程序的情况下使用MapViewOfFile的文档中找到任何内容。 最佳答案 MapViewOfFile不带文件句柄,它带文件映射句柄。要分配内存块,您可以创建一个匿名文件映射,如下所示:::DWORD

python - os.popen().read() - charmap 解码错误

我已经读过UnicodeDecodeError:'charmap'codeccan'tdecodebyteXinpositionY:charactermapsto.虽然错误信息相似,但代码完全不同,因为我在这道题中使用的是os.popen,而不是open。我无法使用其他问题的答案来解决这个问题。output=os.popen("dir").read()本应将命令“dir”的输出分配给变量“output”的这一行导致了此错误:'charmap'codeccan'tdecodebyte0x88inposition260:charactermapsto我认为这可能会发生,因为文件夹中的某些文

c# - Windows 服务错误 : "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."

我有一个简单的Windows服务应用程序,我试图在VS2008IDE中调试,但每次运行代码时,我都会收到错误“尝试读取或写入protected内存。这通常表明其他内存已损坏。”.此错误发生在下面的service.Stop()行:staticclassProgram{//////Themainentrypointfortheapplication.///staticvoidMain(string[]args){ServiceBase[]servicesToRun;servicesToRun=newServiceBase[]{newService1()};if(Environment.Us