我的应用程序通常由用户A作为用户B使用System.Process.Start("app.exe","UserB","secret")启动。现在,我希望app.exe产生额外的子进程,但作为UserA,没有UserB拥有的额外权限。有没有办法在不询问UserA密码的情况下完成此操作?我试过在没有凭据的情况下使用System.Process.Start以及调用cmd/Cchild.exe,但这两种方法都以UserB身份启动child.exe。我正在考虑一种方法让当前shell为我启动子进程,但我还没有找到。 最佳答案 最简单的解决方案
我想知道是否有任何API可用于在Windows中以编程方式切换用户。我的应用程序在提供用户凭据(帐户名和密码)时将尝试注销任何其他已登录的用户并尝试登录当前用户.如有任何帮助,我们将不胜感激。 最佳答案 您可能正在寻找的功能是LogonUser但是,您最好还是使用userimpersonation在大多数情况下。就我个人而言,我怀疑您最好不要使用这两种方法,而只是使用正在运行的用户的安全上下文,通过专门为您的应用程序编写的Windows服务提供特权功能 关于windows-如何在Wind
我继承了一个向用户展示一组选项卡的项目,每个选项卡都包含一个显示多个组件的View。在其中一些选项卡中,我们希望防止用户移动选项卡中显示的组件。我们有一个继承自CMFCTabCtrl的对象来管理我们的选项卡,它包含代表我们每个选项卡的CWnd对象的集合。我们还有一个对象来管理与每个选项卡关联的View,并在激活相关选项卡时激活这些View。所有组件都共享一个继承自CWnd的基础对象,它为继承的消息映射中定义的消息定义了各种处理程序。防止用户拖动这些组件的正确/最佳方法是什么?谢谢! 最佳答案 一种解决方案是从组件CWnd中删除标题栏
我正在尝试做一些事情,现在在将我的头撞到屏幕上很多次之后,我不确定该做些什么。该方案如下:一个具有域Controller的Windows网络,其中PC的普通用户没有管理权限。一个程序,当它在网络共享(UNC路径)中找到更新(MSI)时,将运行该更新。因为用户无法执行安装。此更新必须与其他具有管理员权限的用户一起运行。理论很合理,但是:仅在管理员用户是给定PC中的本地管理员时才有效。我无法与PC中没有本地帐户的域管理员一起使用。我尝试过:使用advapi32.dllLogonUser中的token进行用户模拟。Process->Start()安装提供域管理员用户凭据。Process->S
我正在尝试让我的批处理脚本检查是否存在两个注册表项,如果存在,则转到...到目前为止,我的代码可以正常工作,但只需要它检查两个键是否存在以及一个或另一个是否存在,因为在某些情况下HKCU\SOFTWARE\MICROSOFT\OFFICE\14.0和HKCU\SOFTWARE\MICROSOFT\OFFICE\15.0都存在。如果两个键都存在,我需要它来执行:O2010和:O2013。目前,如果两者都存在,那么它会在运行:O2010后停止@ECHOOFFREGQUERYHKCU\SOFTWARE\MICROSOFT\OFFICE\14.0>NULIFNOTERRORLEVEL1GOTO
我有一个Windows服务和一个Windows应用程序。我想使用参数从我的Windows应用程序启动和停止此窗口服务。这是我必须启动该服务的条件foreach(ServiceControllerscinServiceController.GetServices()){if(sc.ServiceName=="serviceName"){//serviceisfoundusing(ServiceControllerserviceController=newServiceController("serviceName")){string[]args=newstring[1];args[0]=
我正在尝试编写一个批处理文件,它将自身复制到所有用户的Windows7启动文件夹中。我在这里试过这段代码:copytest.bat"C:\ProgramData\Microsoft\Windows\StartMenu\Programs\Startup"它不起作用。但是,如果我改为输入此代码:copytest.bat"C:\Users\Kreature\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup"它有效,但问题是我需要它对所有帐户都是通用的。 最佳答案 我想
我正在升级一个带有COM自动化接口(interface)的Delphi软件项目,以简化一些批处理任务(通过WSH脚本)。这本身很容易......但是,软件的大多数“实际”用户不需要(甚至不知道)这个界面,我想让他们免于注册COM-Server或错误消息当程序无法启动com服务器时弹出(目前该软件没有安装程序-它只是复制并运行。注册任何东西对用户来说都是一个额外的步骤。它是内部的,所以客户已经习惯了。..).真正的问题是:我能否以编程方式查明运行该软件的当前用户是否有足够的权限来注册COM服务器,然后(如果没有)避免尝试创建服务器?我想要一种行为,当用户没有足够的权限时,自动化服务器就不
我有一个python脚本,它执行一些文件处理并且需要以特定用户身份运行。似乎在Unix上这可以通过使用os.setuid来完成。我如何在Windows上的Python中执行此操作? 最佳答案 我认为不可能在脚本中执行此操作,但您可以使用runas调用脚本命令;例如runas/user:domain\username"pythonbest_script_ever.py"这种方法的潜在巨大缺点是您必须在出现提示时提供密码。 关于python-以特定用户身份执行脚本,我们在StackOverf
我正在尝试导入从另一个具有相同配置的系统导出的.reg文件。可能吗?如果可能的话,我可能会遇到什么样的问题?提前致谢 最佳答案 一般来说很难回答这个问题。如果您只导入一个key,其中不包含您导出的系统所特有的路径,那么它几乎可以毫无问题地工作。尤其是所有基本设置的按键大部分时间都会起作用。如果它们的key包含其他系统上不存在的路径,或者有关不存在的已注册dll/ocx文件的信息,则它肯定无法工作。请记住,那些.reg文件都只是文本文件,因此一个好主意可能是导出它,用文本编辑器打开它,如果您不确定,请查看其中包含哪些子项。还要在导入之