问题标签 [createfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
749 浏览

c++ - 使用来自 CreateFile 的有效句柄,来自 ReadFileEx 的无效句柄错误

我遇到的问题: CreateFile 返回 0x194 的句柄。ReadFileEx 表示此句柄无效。(错误 6。)有什么想法吗?传入的参数是“C:\testfile.txt”,这是我在记事本中制作的有效文本文件。尽管过去 12 年来一直是 C++ 程序员,但这是我第一次用“windows.h”或线程编写任何东西。

0 投票
2 回答
2945 浏览

python - 使用目录中的日期时间名称和子文件创建目录(Python)

我目前正在寻找使用 Python v2.7 在 Linux 上创建一个目录,目录名称为日期和时间(即 27-10-2011 23:00:01)。我的代码如下: -

此代码工作正常,并根据要求生成目录。尽管如此,我还想在这个目录中创建两个 csv 文件和一个同名的日志文件。现在由于目录名称是动态生成的,我不确定如何移动到该目录来创建这些文件。我希望目录和三个文件都具有相同的名称(csv 文件将以字母为前缀)。例如,鉴于上述情况,我想要创建一个名为“27-10-2011 23:00:01”的目录,然后在其中创建两个名为“a27-10-2011 23:00:01.csv”的 csv 文件" 和 "b27-10-2011 23:00:01.csv" 和一个名为 "27-10-2011 23:00:01.log" 的日志文件。

我的文件创建代码如下:-

有什么建议我可以如何做到这一点,以便第二个始终保持不变?我很欣赏这段代码只需要一秒钟即可运行,但在那段时间内,第二个可能会改变。我认为关键在于改变“time.localtime”,但我仍然不确定。

谢谢

0 投票
1 回答
194 浏览

c++ - 运行句柄已打开的文件(C++ winapi)

我在我的 c++ 应用程序中包含了一个 exe 文件作为资源,我需要运行它,但我需要限制它的访问权限,以便用户无法复制它。我需要保持它的句柄打开,以便外部程序无法访问它,并且因为我使用 FILE_FLAG_DELETE_ON_CLOSE 作为标志,所以如果我的应用程序被杀死,它将被删除。

但正因为如此,我不能用 CreateProcess() 或 WinExec() 运行它。我知道这听起来很奇怪,但我有充分的理由。我需要这些来保护游戏的可执行文件免受 dll 注入作弊,而我没有那个 exe 的代码。

0 投票
1 回答
711 浏览

multithreading - 单独线程中的 CreateFile 在 MFC 应用程序中返回 INVALID_HANDLE_VALUE

我有一个 MFC 应用程序,它启动一个单独的线程来通过 cURL 下载一些文件。一开始它会下载一个包含文件大小和最后写入时间的文本文件。然后它检查磁盘上的文件,如果它具有不同的值,则将其排队下载。问题是;线程中的 CreateFile 调用任意返回 INVALID_HANDLE_VALUE。我总是在 CreateFile() 成功后执行 CloseHandle()。失败的文件只是随机的。有时是根目录中的文件,有时是嵌套目录中的文件。该问题与本地化或目录/文件名无关,因为有时所有检查都通过但有时没有。GetLastError() 有时会返回 2 或 3,它们分别是“找不到文件”/“找不到路径”。

当我将检查文件写入时间和大小的函数直接放入 OnInitDialog() 函数时,一切正常。这听起来像是一个多线程问题,但我仔细检查了从内存分配到文件句柄的所有内容。

相同的代码在控制台应用程序中也可以在单独的线程中工作。

平台为Win7 64位。
静态链接到运行时和 MFC。

0 投票
2 回答
915 浏览

vb6 - CreateFile 返回负句柄

为什么 createfile() 函数会返回-1的任何想法。

这运行了几次。我在想也许文件没有正确关闭?

编辑

Err.LastllError 返回 32。

0 投票
2 回答
4563 浏览

winapi - 无法从启动时启动的应用程序打开 COM1

我正在使用WinLIRC,IR 接收器连接到 Windows 7 x64 上的串行端口 COM1。WinLIRC已添加到启动文件夹(开始->所有应用程序->启动),因此每次我登录时都会启动。我经常(但不是一直)看到来自 的初始化错误消息WinLIRC,这些消息会持续一段时间(几分钟)如果我重试初始化,并且在重试后它会正确初始化并且工作正常。如果我从 Startup 中删除它并在任何其他时刻手动启动它会毫无错误地启动。

我已经下载WinLIRC了源代码并MessageBox在这里和那里添加了调用,所以我可以看到初始化期间发生了什么,并发现CreateFile调用失败:

我看到消息框显示“CreateFile(COM1) failed with 5”,根据此链接,5 是“Access denied”错误的错误代码。

所以问题是为什么在启动 Windows 后打开 COM 端口会失败并出现此类错误,并在几秒钟或几分钟后正常进行?

更新:COM 端口是真实的。

Update2:关于之前打开串口的其他应用程序WinLIRC。我做了以下事情:我将Process Explorer放到 Startup 文件夹中,这样它也会在登录时启动,然后重新启动。进程资源管理器一启动,我就运行“查找句柄或 Dll”对话框,将“Serial0”放入输入并点击“搜索”。到那时 WinLIRC 已经显示消息框说“CreateFile(COM1) failed with 5”。然后我等到进程资源管理器搜索结束,发现它什么也没找到,然后尝试重新初始化 WinLIRC,它又失败了。所以我建议不是串口被其他应用程序打开的情况。如果有人可以提出更好的检查方法,我会很乐意重新检查。

当我在 WinLIRC 运行时在进程资源管理器中搜索“Serial0”时,它会找到该winlirc.exe进程,因此看起来它是正确的搜索词。

Update3:关于串行鼠标驱动程序。它未在设备管理器中列出,因此我无法在此处禁用它,但是我找到有关如何禁用sermouse服务的说明,但没有帮助。

Update4:还有一件事我忘了提。仅当我在启动 PC 后不久登录时才会发生这种情况。如果我让窗口在登录屏幕上停留几分钟然后再登录,那么 WinLIRC 初始化总是没有任何问题。

Update5:不幸的是,我无法访问出现此问题的计算机,因此我无法再进行实验。

0 投票
2 回答
3174 浏览

flash - 是否可以通过 Flash/ActionScript 创建 Excel 文件?

是否可以制作一个接受值并创建 excel 文件或编辑 excel 文件的 actionscript/flash 函数?

Excel 创建正在通过 phpexcel 类杀死 CPU 和内存。我想为什么不使用客户端的CPU...

0 投票
1 回答
336 浏览

c++ - CreateFile 和内存管理

我正在使用 CreateFile() Windows API 创建/打开一个文件。假设我的驱动器有一个坏扇区并且文件无法打开或尝试写入该文件失败。如果我将使用相同的 CreateFile() API 重新创建文件,它将在驱动器上与前一个相同的内存位置创建(因此坏扇区将再次出现)还是将选择不同的内存操作系统和我有机会避免坏扇区吗?

我想我的问题是当文件由 CreateFile() 函数创建时,Windows 在物理驱动器上分配内存的方式是什么?

0 投票
1 回答
207 浏览

android - 在 SD 卡上删除和创建文件时出现问题

有一个我似乎无法解决的问题:在我OnCreate的 中CameraActivity,如果有图片,我会先删除它。如果存在这样做的情况,则创建图片文件但图片为空白。(所以只有在文件不存在的情况下才能成功创建图片)。如何删除文件并成功创建?

CameraActivity的定义如下:

0 投票
2 回答
3619 浏览

c# - 如何在 c# 中禁用磁盘缓存,使用 FILE_FLAG_NO_BUFFERING 调用 win32 CreateFile api

大家,我每秒有很多文件写入磁盘,我想禁用磁盘缓存以提高性能,我谷歌搜索找到解决方案:win32 CreateFile method with FILE_FLAG_NO_BUFFERING 和How to empty/flush Windows READ disk cache in C#? .

我写了一点代码来测试是否可以工作:

运行此程序时,应用程序出现异常:IO operation will not work。很可能文件会变得太长或句柄未打开以支持同步 IO 操作

后来,我发现这篇文章当你创建一个带有约束的对象时,你必须确保使用该对象的每个人都理解这些约束,但我不能完全理解,所以我改变我的代码来测试:

它运行正常,但我只想要“hello,world”字节而不是全部。我尝试将块大小更改为 1 或其他整数(不是 512 倍数)得到相同的错误。我也尝试 win32 WriteFile api 也得到相同的错误。有人可以帮助我?