草庐IT

system.io.file

全部标签

java - System.getenv ("computername") 截断返回值

Java中的System.getenv("computername")和System.getenv("hostname")有什么区别?使用getenv()方法获取计算机名称时,是否有字符限制?我的主机名很长,System.getenv("computername")似乎将其截断为15个字符。使用的操作系统是Windows。 最佳答案 Windows中的截断是由于NetBIOS的计算机名称长度限制为15个字符。http://support.microsoft.com/kb/909264 关

c# - msi 安装程序完成后的应用程序进程以 SYSTEM 用户名启动,有时无法创建 com 对象

我有一个安装C#应用程序的visualstudio安装程序项目,我有一个自定义操作和代码来在安装完成后运行该过程。假设Windows机器上的登录用户是“john”。现在,当john运行msi安装程序时,我检查了任务管理器中的进程,它显示msiexec.exe是安装程序的进程名称,它以用户“john”身份运行安装程序现在完成并运行安装应用程序的进程myapp.exe,当我在Windows的任务管理器中检查此进程时,它显示myapp.exe正在以SYSTEM身份运行(我知道那是什么帐户以及为什么它不以SYSTEM身份运行约翰)问题当myapp.exe以SYSTEM用户身份运行时,它无法创建

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

windows - 对于 Windows 文件类型, "Application.File"中的点是否重要?

在Windows上,我看到Python和许多其他程序使用Python.File的文件类型命名约定,带有一个点,而不是像ApplicationFile这样的东西(没有点),我也见过很多。点重要吗?有什么用?我正在从事将自己的文件类型添加到注册表的项目,我想做正确的事情,并且知道为什么这是正确的事情。编辑:我指的是文件类型,而不是(直接)文件扩展名。继续python示例,文件associations(扩展名)是:C:\>assoc|find".py".py=Python.File.pyc=Python.CompiledFile.pyo=Python.CompiledFile.pyw=Pyt

Java 程序是从 system32 文件夹加载的,而不是从它所在的文件夹加载的

我在Windows7上用Java编写了桌面程序,并通过在HKEY_CURRENT_USER/Software中向注册表写入jar文件的路径(类似于C:\Users\User\Documents\MyApp.jar)在启动时将其挂起/Microsoft/Windows/CurrentVersion/Run分支。当我的程序加载Windows时,它必须加载一些与程序位于同一文件夹中的文本文件:Filef=newFile("text.txt");//withoutfullpathtofileif(!f.exists())JOptionPane.showMessageDialog(null,"F

c++ - 如何确定我的应用程序是否在 SYSTEM 帐户下运行?

我如何确定我的应用程序是否在本地系统帐户下运行?有没有简单的方法可以做到这一点?谢谢! 最佳答案 感谢您的帮助,但我可能已经找到了方法。不是最好的,我知道,但它有效。BOOLCheckIfRunningAsSYSTEM(VOID){DWORDi,dwSize=0,dwResult=0;HANDLEhToken;PTOKEN_USERPtoken_User;//Openahandletotheaccesstokenforthecallingprocess.if(!OpenProcessToken(GetCurrentProcess()

c++ - 重新执行失败的 IO 操作是否有任何效果?

我在办公室遇到的一个常见模式是,如果我们的IO操作失败,我们会等待很短的时间并重试几次,希望它突然开始工作。我正在谈论的例子:boolWriteAFile(){uint32_twriteAttempts=0;do{if(WriteFile(/*...*/)){break;}Sleep(50);writeAttempts++;}while(writeAttempts我想象这种行为最初是为了防止在处理被另一个进程临时锁定的文件时出现故障......这在某种程度上是有道理的......但是,我看不出这如何适用于其他操作。以这种方式重复IO操作是否会增加将“好”数据写入磁盘的机会?可以将其用作

c# - Windows shell 扩展 : context menu when more than 16 files are selected

AsIcansee,whenmorethan16filesareselectedDragQueryFile(hDrop,0xFFFFFFFF,NULL,0);返回16。MSDN:http://msdn.microsoft.com/en-us/library/dd758093%28VS.85%29.aspx“在Windows7及更高版本中,当查询快捷菜单时,传递给动词的项目数限制为16。然后,在调用该动词时,将重新创建并使用完整选择重新初始化动词。”但我的FileContextMenuExt::Initialize函数只被调用一次,即使我选择了16个以上的文件。(我使用输出到文本文件来检

windows - 在 C :\Program Files (x86)\MyApp\myapp. cfg 中写入配置文件,与管理员权限

我已经为我的软件制作了安装程序(使用InnoSetup),最终安装在C:\ProgramFiles(x86)\MyApp\myapp.exe像往常一样在Windows平台上运行,并且运行良好。当我的软件试图在此处写入其配置文件时出现问题:C:\ProgramFiles(x86)\MyApp\myapp.cfg这里出现了一个Permissiondenied错误!我找到的唯一解决方案是“以管理员身份运行软件”,但我不喜欢这个解决方案:我不想让最终用户每次都必须执行“以管理员身份运行”他们将使用该软件。是否有一个干净的解决方案可以在C:\ProgramFiles(x86)\MyApp\mya

Windows 批处理脚本 : list all files with name, 路径、大小和所有者到 csv 文件

我有一个脚本可以列出文件夹及其子文件夹下的所有文件,以及一些属性,例如路径、文件名、修改日期和大小。但是,我不能添加一个额外的属性,文件所有者。@ECHOoffSETv1=%%~dpFSETv2=%%~nxFSETv3=%%~zF(for/r%%Fin(*)do@echo"%v1%","%v2%",%v3%)>test.csvPAUSE基本上我想添加第四个参数,它应该显示文件所有者。是在Windows7环境下。 最佳答案 您可以使用带有/q开关的dir命令来包含每个文件的所有者。@ECHOOFFSetLocalEnableDelay