草庐IT

c# - 允许用户删除我的应用程序正在使用的文件?

我能否允许用户在Windows下删除我的应用程序正在使用的文件?在我的场景中,我有一个由我的应用程序监视的“快速添加”目录。当它看到新图像出现时,它会创建一张新幻灯片以在自动幻灯片放映中显示。我还想允许我的用户从我的“快速添加”目录中删除(和/或重命名)一个文件,并将其从幻灯片放映中删除。有没有一种方法可以标记文件,通知Windows我可以在我的应用程序使用它时删除它? 最佳答案 IsthereawayIcanflagthefilethatnotifiesWindowsthatI'mokayforittoremovethefilew

windows - Windows 允许的文件名对于注入(inject)是安全的吗? (SQL、JavaScript 等)

我想问一下Windows允许的文件名对于SQL(Oracle和通用)、JS、xml等注入(inject)是否安全。检查并替换以下字符:/:*?"|(还有它们的ascii值等)。长度也不能超过~180个字符检查是在客户端(仅用于可用性)和服务器端(用于安全性)安全地进行的文件名保存到oracleDB中,有oracle->java->xml->xslt->browser这样的流程显示。编辑:@Bohemian的回答指出了SQL注入(inject)的不安全部分(使用准备好的语句可以简单地禁止它)。JS或xml注入(inject)如何?(可能导致XSS或通过xslt访问硬盘)

python - Python IO 是否允许在 Windows 上删除/重命名打开的文件?

我想读/写一个文件,但允许它被其他进程删除/重命名。在C#中,您可以使用FileShare.Delete打开文件,Python有等价物吗? 最佳答案 如果您想要一个跨平台的等价物……真的没有。在POSIX系统上,其他进程总是可以删除/重命名您打开的文件*,除非您竭力阻止它。所以,您只需要为Windows执行此操作,而且几乎无处不在Python的标准文件对象不允许您直接控制Windows共享标志。(这是因为它们使用像stdio的fopen这样的跨平台API,而不是特定于Windows的API。)如果你想这样做,你必须调用不同的文件函数

c++ - Windows 类型不允许我的回调访问局部变量,有什么解决方法吗?

我正在尝试使用EnumWindows函数,它需要一个WNDENUMPROC作为带有lambda的回调以访问局部变量。不幸的是,如果我尝试使用[&],编译器会告诉我类型不匹配。我在尝试什么:HWNDget_wallpaper_window(){HWNDprogman=FindWindow(L"ProgMan",NULL);SendMessageTimeout(progman,0x052C,0,0,SMTO_NORMAL,1000,nullptr);HWNDwallpaper_hwnd;EnumWindows(//Errorhere[&](HWNDhwnd,LPARAMlParam)->B

python - Windows 任务计划程序不允许 python subprocess.popen

前几天我注意到一个相当有趣的问题。我在WindowsServer2008RT上有一个Windows计划任务。此任务运行一个批处理文件,该文件运行我构建的python脚本。在这个python脚本中有一个subprocess.Popen调用来运行其他几个批处理文件。然而,在过去的几天里,我注意到该任务已成功运行,但辅助批处理文件却没有。我知道python脚本运行成功,因为它创建了日志,并且它生成的所有辅助批处理文件使用的文件都在那里。但是完成的文件不是。如果我自己运行批处理文件,一切都会完美无缺。Microsoft的任务计划程序是否不允许程序打开其他批处理文件,是否有解决方法?

c++ - 奇怪的 malloc 行为不允许在 64 位进程上分配超过 2GB 的内存

这个问题涉及我正在开发的一个程序。我从事的项目要求不通过网络发送行集或大于2GB的行(网络不能发送大于2GB的数据组)。我已经对代码进行了所有适当的更改,因此它不会发送这个/这些组,但现在我正在尝试构建测试用例。我已经构建了一个测试,它创建了不到10亿行,这些行占用了超过2GB的空间。在通过网络发送这些行之前,程序会正确地过滤掉它们。我遇到的问题是我需要创建一个单独的行来保存一个包含单个字符串的列或列的集合,在该行内,保存字符串,其中该行的大小大于2GB。但是当字符串开始占用接近2GB时,malloc返回NULL。我做了一些研究,发现可能是我没有足够的连续内存,所以我开始添加更多带有较

windows - 不允许远程连接Postgresql

谁能帮忙看看这个奇怪的问题?我仍然无法远程连接到我的Postgresql。我的步骤:下载并安装最新的Postgresql到我的本地机器设置postgresql创建数据库修改“pg_hba”,添加行“hostallall0.0.0.0/0md5”修改“postgresql.conf”,确保“listen_addresses='*'”重启postgresql服务打开本地PgAdmin,并连接到DB从远程桌面执行与#7相同的操作错误信息:“服务器不听”“无法连接到服务器……正在接受端口5432上的TCP/IP连接吗?”我在键入“netstat-a”时发现“TCP0.0.0.0:5432Lis

windows - Windows 是否允许有一个同时带有帮助按钮和最小/最大按钮的窗口?

我想把帮助按钮放在我所有的窗口上,像这样:但是当我放入帮助按钮时,最小化/最大化按钮消失了。Windows是否禁止将最小/最大按钮与帮助按钮一起使用?那会令人失望,因为这意味着我只能将帮助按钮放在对话框上,而不是框架上。如果Windows确实禁止这样做,那么很高兴看到一份讨论此政策的Microsoft官方文档。 最佳答案 不能通过设置窗口样式来实现。如果你真的想要,你可以设置一些钩子(Hook),这些钩子(Hook)可能会让你做你想做的事,但我不建议这样做。您可以通过发送WM_HELP来模拟帮助按钮的功能。消息。根据MSDN,样式W

windows - 使用内存映射文件同时允许其他进程完全访问

我正在尝试在Windows下使用内存映射文件(使用CreateFile/CreateFileMapping/MapViewOfFile函数),并且我当前在调用CREATE_FILE时指定FILE_SHARE_READ和FILE_SHARE_WRITE。但是,这会锁定文件以防止其他进程使用。我想要的是在调用CreateFileMapping或MapViewOfFile时内存映射文件的快照,这样我就看不到对文件所做的任何更改(写入或删除)通过其他过程。有点像写时复制,但其他进程正在执行写入。我可以在Windows上使用内存映射文件来执行此操作吗? 最佳答案

windows - 使用批处理文件列出文件并允许用户选择要传递给可执行文件的文件

我有一个批处理文件,它将显示文件夹中的所有文件,并允许用户按编号选择文件并将其传递给可执行文件。一切正常,但是,我试图使它成为一种点击后忘记类型的批处理文件。换句话说,我还希望用户能够选择一个数字,一次将所有文件传递给所述可执行文件。我目前的代码如下:@ECHOOFFSETindex=1SETLOCALENABLEDELAYEDEXPANSIONFOR%%fIN(*.txt)DO(SETfile!index!=%%fECHO!index!-%%fSET/Aindex=!index!+1)SETLOCALDISABLEDELAYEDEXPANSIONSET/Pselection="sel