草庐IT

c# - 在 C# 中将 key 写入 Windows 注册表

我们正在尝试使用C#将键值对添加到Windows注册表中。要写的关键是另一个用户的环境变量。用户将成为服务用户,永远不会登录。我们已经能够通过P/InvokingLoadUserProfile获取用户SID,并将其添加到注册表。但是,当尝试写入EnvironmentSubKey时出现问题:using(varkey=Registry.Users.OpenSubKey(userSid+"\\Environment")){if(key==null){Debug.WriteLine("Keywasnull(typical)");return;}key.SetValue("A","B");}这会

c++ - 如何将屏幕截图写入 PNG?

我在网上找到这段代码可以打印屏幕(截屏),但我不知道如何修改它以将结果保存到PNG文件中。我可以将位图保存到剪贴板,但我现在需要保存到PNG文件。是否可以从剪贴板中提取位图并将其另存为PNG文件?可以采用不同的方式吗?如果是,怎么做?到目前为止我的代码是:#include#include#include#includeusingnamespacestd;usingnamespaceGdiplus;usingnamespaceGdiplus::DllExports;usingstd::runtime_error;voidscreenshot(POINTa,POINTb){HDChScre

windows - 我应该在哪里存储我的日志文件以便用户对其具有写入权限?

我目前将我的日志文件存储在ProgramFiles\MyApp文件夹中,但如果某些用户不是高级用户或管理员,则他们无权在此处写入。是否有此类日志文件的通用位置?更新:我目前正在使用Application.StartupPath。logFileLocation=System.Windows.Forms.Application.StartupPath; 最佳答案 I'duseEnvironment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)然后Path.C

windows - 计划任务无法在外部服务器上写入文件

我在windows2003server计划任务中运行的计划任务有问题任务在nt权限/系统账户下运行,发送文件到同一域中的另一台windows2003服务器。执行任务的机器在域和机器中具有有限权限的域帐户下运行在远程服务器中发送文件的文件夹已配置为授予系统和用户的全部权限当计划的任务在远程服务器中写入文件时会出现问题,任务返回异常,如“拒绝访问路径......”远程服务器检测到哪个用户正在运行externat计划任务?我应该在远程文件夹中授予哪些权限?提前致谢费尔南多 最佳答案 以系统用户身份运行的计划任务将无法访问网络上的另一台计算

c - Windows 上的共享内存,可以由单独的进程访问(读取和写入)

我可以在Windows上使用共享内存,以便拥有一个可供多个独立进程使用的公共(public)内存区域吗?上下文:将unix应用程序移植到Windows,它具有:-创建多个共享内存区域的“设置”过程。-一组其他进程(在设置过程已经完成时运行)读取(偶尔写入)已准备好的内存区域设置过程我已经尝试过CreateFileMapping(INVALID_HANDLE_VALUE,...)/OpenFileMapping但共享内存似乎在创建进程退出后立即被释放。我应该创建真实的(即在文件系统上的)文件并打开这些文件而不是使用INVALID_HANDLE_VALUE吗?

windows - 新行未写入文件(Qt)

我使用qtextedit在我的软件中记录事件。稍后当我想使用toPlainText()将其保存为文本时,生成的文本文件是单行,没有任何换行符。我通过plainText()开始记录并使用append()添加后续添加。voidrocketscience::saveLog(){QFilelogFile;QTextStreamlogOut;QStringlogfName;QSettingsprevSet("us","fr");if(defaultDir.exists(prevSet.value("settings/logPath").toString()))logfName=QFileDial

windows - 如果在特定地址写入,则暂停进程

在Windows(最好是XP)上,当进程在特定地址(在它的虚拟地址空间中)写入时,通常可以挂起进程吗?加载的DLL执行写操作而不是进程本身的(PE)镜像中的代码这一事实使问题变得复杂。 最佳答案 您可以使用VirtualProtect和PAGE_GUARD或其他选项保护包含感兴趣地址的页面,并在地址写入时出现异常。此类异常可以由未处理的异常过滤器处理(视情况而定,应用程序可能会自行处理),或由进程外调试器应用程序处理,例如众所周知的调试器或通过API自定义应用程序调试进程。调试器应用程序可以在必要时暂停进程,或者使用快照进行小型转储

c++ - 仅使用句柄读取/写入文件

工作中遇到一个问题,我不确定答案。假设在一个进程中有一个目录的句柄。句柄设置了RW,可以说它指向桌面。有没有办法只使用句柄来读取文件或将文件写入桌面?感谢任何想法!编辑:澄清一下,这是在Windows上,是一个指向桌面的文件句柄。假设您已经知道句柄的值,并希望在同一进程中使用它,以便将文件读/写到它指向的桌面。允许使用任何代码,包括WindowsAPI。 最佳答案 您可以使用GetFinalPathNameByHandle()在目录句柄上获取路径名,将要写入的文件附加到它的末尾,然后使用CreateFile()和往常一样。

windows - 将 Octave /matlab 输出写入剪贴板

我正在寻找一种方法将Octave语句的输出获取到Windows剪贴板。我不是在寻找一种方法来从cmd窗口手动复制/粘贴文本(我知道这是如何工作的)。我也不希望获得完整的Octave音程session的全部输出,这可以通过使用脚本启动Octave音程来执行并将所有输出传输到某个clip.exe来获得。我想捕获将从octavepromt或某些函数或脚本执行的单个语句的输出。如果有人有一些建议,那就太好了。编辑:从一条评论中,我了解了matlab的剪贴板命令,不幸的是,该命令尚未在Octave中实现。也许还有其他涉及花哨的system()调用的想法? 最佳答案

java - 在 Windows 上写入 aux 文件时会发生什么?

我有以下代码:publicclassMyTest{publicstaticvoidmain(String[]args)throwsException{java.io.Filef=newjava.io.File("aux.txt");f.createNewFile();java.io.FileWriterfw=newjava.io.FileWriter(f);fw.write("Hello");fw.flush();fw.close();}}代码运行并且没有抛出任何异常。除了:文件aux.txt不存在。我发现f.createNewFile()返回false,becausetheauxfi