草庐IT

filesystems

全部标签

windows - 压缩的文件路径数组和随机访问

我正在开发文件管理Windows应用程序。该程序应保留磁盘上所有文件和文件夹的路径数组。例如:0"C:"1"C:\abc"2"C:\abc\def"3"C:\ghi"4"C:\ghi\readme.txt"“原样”的数组将非常大,因此应该将其压缩并存储在磁盘上。但是,我想随机访问它:通过索引检索数组中的任何路径(例如,RetrievePath(2)="C:\abc\def")查找数组中任何路径的索引(例如,IndexOf("C:\ghi")=3)向数组添加新路径(任何现有路径的索引不应更改),例如,AddPath("C:\ghi\xyz\file.dat")重命名数据库中的一些文件或文

windows - 在 Windows 中检测文件句柄冲突

删除打开的文件等操作会导致文件句柄冲突。如果我需要检测此类文件句柄冲突,过滤器驱动程序(或微过滤器驱动程序)是唯一的选择吗? 最佳答案 我认为您要求的是:我有一个已打开文件的守护进程。当另一个进程想要访问该文件时,我希望守护进程得到通知并允许他关闭文件,如果可能的话,以允许另一个进程继续。这需要守护进程使用“oplocks”。请参阅有关机会锁的MSDN文档。 关于windows-在Windows中检测文件句柄冲突,我们在StackOverflow上找到一个类似的问题:

windows - FindFirstFile 和 "."/".."记录属性

FindFirstFile返回的指向目录的点/双点文件记录的元数据是什么对象?在实践中,它们似乎表现为软链接(softlink)和硬链接(hardlink)的奇怪混合体。在我的系统上,文件属性(例如只读/隐藏/存档标志)确实反射(reflect)了它们指向的目标的状态,但是创建/写入/访问访问字段似乎总是等于被搜索目录的创建时间。我问是因为我正在使用的构建工具决定通过首先将文件名转换为绝对文件名并归档元数据来缓存搜索结果,当后来目录的创建时间不匹配时导致构建失败。我可以依赖“.”的ftCreationTime吗?等于文件夹本身的创建时间?这有助于避免不必要的查询。这里记录一个快速而肮脏

c# - 获取文件移动日期时间

当您复制文件(在Windows环境中)时,Creation和LastAccess日期时间会被修改,并且可以使用FileInfo对象进行检索。但是,我找不到任何可靠的日期时间(直接链接到文件),当文件移动到文件夹中时会发生更改。Windows是否会在移动文件时更新文件中的任何日期时间值(并且可以检索)?注意我没有走入死胡同,我有很多解决方法。我只是想知道这是否可以直接在文件级别处理以避免不必要的逻辑。 最佳答案 所以这似乎是它在Windows中的工作方式:创建时间:如果目标文件已经存在,则保留其创建时间,否则设置为当前系统时间。上次修

c++ - 是否可以使用 Qt 类枚举网络根?

Qt文件API类在Windows上正确处理网络文件夹路径。但是我找不到枚举网络根目录的方法(可用的网络驱动器和计算机列表)。有没有什么方法可以不使用WinAPI而只使用Qt类来做到这一点? 最佳答案 恐怕,你能得到的最好的是QStorageInfo来自QtSystems。allLogicalDrives:constQStringListThispropertyholdsthelistofalldrives.Returnsalistofalllogicaldrivesorvolumes,oranemptylistifnodrivesa

windows - 使用唯一 ID 打开 Windows 文件

是否可以使用uniquefileID在Windows资源管理器或MS-DOS中访问文件?只要?我在想我可以输入类似{FILE_ID.VOLUME}ex的内容。{2319237819273897.1}文件c:\temp\myfile.txt将打开。此功能可用于访问已移动到不同目录的文件,因为唯一文件ID在文件移动(甚至多次)后保持不变,并且在文件被删除之前保持不变。 最佳答案 这取决于文件系统。FAT没有文件ID,但在Windows低级API中有通过其唯一ID打开文件的机制。如何处理这个ID取决于文件系统驱动程序——FAT动态生成ID

windows - 在 Windows 上,如何限制仅某些应用程序(而非用户)对文件夹、子文件夹和文件的访问

我们有一个应用程序,它不是针对每个用户的,可以同时供多个用户使用,数据也由所有用户共享。所以我们使用数据文件夹的路径是ProgramData\OurAppName\Data(postVista),并赋予所有用户完全控制权,以便他们运行的我们的应用程序可以更改Data文件夹下的文件。现在的问题是,任何其他应用程序(恶意软件/病毒)也可以修改文件,即可以对我们应用程序的数据文件进行攻击。我们的应用程序是Win32桌面应用程序。无论如何,我们是否可以将对数据文件夹的访问限制为仅我们的应用程序? 最佳答案 Windows安全模型是针对每个用

c# - 您可以从系统中获取默认文件夹的打开/关闭图标而没有实际路径吗?

我已经知道如何通过P/调用SHGetFileInfo来获取特定路径的文件系统相关图标。但这需要一条实际的道路。另外,它仅返回一个图标。我想知道的是两方面的。如何获得默认文件夹的打开和关闭图标(我相信它们存储在“C:\WINDOWS\system32\imageres.dll”或“%SystemRoot%\system32\shell32.dll”中,但我可能错了)如何在不实际指定路径的情况下(即通过常量或类似名称)获取那些图标。甚至有这种方法,还是我必须简单地将它传递给SHGetFileInfo的“虚拟”路径,而忘记拥有两种状态?作为引用,我正在寻找它,因为我们正在构建一个自定义树来显

windows - 带有特殊字符的 Lazarus ListBox SaveToFile 文件名

我正在使用Lazarus(1.5)fpc(3.1.1)编写一个针对WindowsXP/7/10的应用程序。我的应用程序以用户选择的某些路径在文件系统中读取和写入文件。如果路径或文件名包含特殊字符(如àèé),例如:C:\Users\DeAndrè\out.txt应用程序抛出异常:'EFCreateError'Unabletocreatefile"C:\Users\DeAndrè\out.txt".可以通过使用单一表单编写一个简单的应用程序来重现此问题:拖入窗体一个TListBox(ListBox1),两个TButton(Button1和Button2)和一个TSaveDialog(Sa

windows - Windows 中的新文件创建事件

创建新文件时,Windows是否发生任何事件?每次创建新文件或目录时,我都想在我的程序中运行一个函数。 最佳答案 有一个不错的MSDN-Post关于如何获取Directory-Change-Notifications。FindFirstChangeNotification-系统调用可能是一个不错的起点。 关于windows-Windows中的新文件创建事件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co