我正在尝试在nsis安装程序中使用regsvr32注册DLL(目前没有静默):Exec'"$SYSDIR\regsvr32.exe""$SYSDIR\mp4mux.dll"'Exec'"$SYSDIR_32bit\regsvr32.exe""$SYSDIR_32bit\mp4mux.dll"'它显示DLL已注册的弹出窗口(32位和64位),并且在安装日志中它显示下一行:Execute:"C:\WINDOWS\system32\regsvr32.exe""C:\WINDOWS\system32\mp4mux.dll"//for32-bitissimilar但是,当我尝试使用它时,它不起作
我们实际上是在编写PowerShellcmdlet来创建已安装(自定义)MSI的快照。这些cmdlet遍历服务器列表,检查是否安装了给定发布者的MSI。如果是这样,MSI将从远程计算机复制到执行PowerShellcmdlet的主机。到目前为止,一切都很好。在下一阶段,我们计划使用预先获取的MSI包来恢复系统。我们的实际问题:一些MSI需要命令行参数才能通过msiexec安装。如果参数存储在某个地方,我们会搜索Windows注册表,但我们无法找到它们。我们检查了以下路径:HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\
我正在尝试使用QSettings从Windows注册表中读取MachineGuid键。该key的地址是"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography".我正在使用带有QSettings::Native标志的QSettings,如下所示。QSettingssettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",QSettings::NativeFormat);我可以从regedit.exe查看所有子文件夹及其键和MachineGuid的值,但的value函数Q
有没有一种方法可以根据机器的IP地址(或工作站名称)确定谁登录了特定(远程)机器?有问题的机器在ActiveDirectory域中运行脚本的用户可能在他们的本地或远程机器上没有任何特殊权限操作系统是WindowsXP任何编程语言都可以,但最好是VBScript(是的,我知道)C#JavaDOS批处理文件 最佳答案 SysInternals的PSloggedon将从批处理文件中提供此功能,但是用户需要远程计算机上的管理员访问权限。我怀疑您无法在没有管理员访问权限的情况下获取此信息。 关于w
我需要删除注册表项。它在SetValue上有一个拒绝ACL(我需要这个权限才能删除它)。如何在C++中更改ACL? 最佳答案 您可以使用RegSetKeySecurity来调整安全设置,然后照常删除key。 关于c++-如何更改注册表项的ACL?(C++),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/302314/
在工作中,我们使用简短的登录名,例如hastingsg,但Outlook和我相信Windows系统的其他部分也可以访问更长的名称,例如杰夫·黑斯廷斯。在cpython(不是IronPython)中,如果我有较短的登录名,我怎样才能得到较长的全名?我有pywin32和ExchangeCDO安装。 最佳答案 通过pywin32的COM部分,您需要获取Outlook的应用程序对象,并从中获取其属性Session,它为您提供Namespace对象(当使用唯一支持的参数值'MAPI'调用时,GetNamespace方法也应该用于相同的目的)。
在我正在开发的一个应用程序中(用C语言),在执行主应用程序之前必须先运行一个加载器应用程序。我已经做到了,因此主应用程序在启动时将加载器应用程序作为子应用程序运行,以便自动执行此任务。这一切都很好,除了加载器应用程序只需要在用户当前登录session期间运行一次以使主应用程序正常工作,并且每次主应用程序执行时都必须运行它是一个真正的痛。所以我要问的是:有没有办法检查加载程序是否已经使用某些Windows或C功能运行?理想情况下,这样的事情会很棒,虽然我不知道它是否可能:if(thisapp.exehasBeenExecuted)return;elsespawnl(app_path,ap
我有一些关于注册表的问题。我们有Preferencesp=Preferences.userRoot();如果我们执行p.nodeExists("/HKEY_CURRENT_USER/Software/Policies/Microsoft")它将返回true。之后:p=p.node("/HKEY_CURRENT_USER/Software/Policies");for(Strings:p.childrenNames()){System.out.println(">"+s);}我们看到它有一个child:“Windows”。但是p.nodeExists("/HKEY_CURRENT_USE
我已经使用MySql5.1创建了一个Crystal报表,使用XML(数据集在应用程序根文件夹中保存为xml)现在当我在我的机器上运行时它工作正常。但是当应用程序安装在其他机器上时,它会提供所需的数据库登录。我怎样才能删除那个登录窗口?代码如下cDataSet.DataSetName="TimeDataSet";cDataSet.WriteXml(Application.StartupPath+"\\"+"TimeDSReport.xml",XmlWriteMode.WriteSchema);ReportDocumentreport=newReportDocument();report.
我正在努力更好地理解Windowssession的工作原理,所以如果我在问题中有一些奇怪的错误,请告诉我。我使用LsaEnumerateLogonSessions()获取系统中所有已登录的session。现在我有代表登录的LUID,如果我理解正确的话,它代表登录的用户或构建它的用户,如SYSTEM。现在,如果用户X启动了一个进程,Windows会为该进程提供一个代表X的token。有没有办法(在Windows服务中)从LUID获取用户的token?我知道我可以从进程HANDLE中获取它,但这不是我想要的。 最佳答案 您可以使用Lsa