gpt4 book ai didi

delphi - 启动时写入文件和问题

转载 作者:行者123 更新时间:2023-12-04 06:07:20 24 4
gpt4 key购买 nike

好吧,如果应用程序在启动时自动运行,我将无法写入文件,但是当我通过双击应用程序正常单击时,即使我以管理员身份使用 Wind7UAC.manifest 运行应用程序,它也会正常创建文件。怎么了 ?没有得到这个 WriteLN('WriteFile True'); 这意味着问题出在 写文件

    Procedure CFile(FileName: String; imagem: string; Size: DWORD);
var
hFile: THandle;
lpNumberOfBytesWritten: DWORD;
begin
hFile := CreateFile(PChar(FileName), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN, 0);
if hFile <> INVALID_HANDLE_VALUE then
begin
if Size = INVALID_HANDLE_VALUE then
SetFilePointer(hFile, 0, nil, FILE_BEGIN);
if WriteFile(hFile, imagem[1], Size, lpNumberOfBytesWritten, nil) = true then
WriteLN('WriteFile True');
CloseHandle(hFile);
end else WriteLN('Cannot Create File !');
end;

最佳答案

当您自动启动应用程序时,我怀疑工作目录是 Windows 目录。您无权在那里写入(除非您禁用 UAC)。

我建议您在打开文件时使用完整的绝对路径,而不是目前的相对路径。使用 SHGetSpecialFolderPath 查找适当文件夹的位置,

关于delphi - 启动时写入文件和问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8210517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com