草庐IT

c# - 从作为 SYSTEM 运行的可以与用户交互的服务启动应用程序

我目前有一个应用程序需要从我在.net3.5中编写的Windows服务启动。该应用程序当前以运行该服务的用户身份运行,在我的例子中是SYSTEM用户。如果以SYSTEM用户身份运行,它不会将应用程序显示到用户桌面。想法?建议?//constructorprivateProcessETCHNotify=newProcess();//StartService()ETCHNotify.StartInfo.FileName=baseDir+"\\EtchNotify.exe";ETCHNotify.StartInfo.UseShellExecute=false;//BackgroundWork

windows - Wix:使用用户指定的服务名称安装 Windows 服务

我有一个用于安装Windows服务的安装程序项目。此安装程序包含一个UI对话框,允许用户指定服务名称。此服务名称存储在公共(public)属性中。安装程序成功创建了具有指定名称的服务,但是当我尝试卸载它时,安装程​​序尝试停止并删除具有默认服务名称属性(用户未指定)的服务。我的服务安装代码如下所示:.........在用户指定服务名称后,也许我需要一些CA来更新SerciceControl表? 最佳答案 您需要保留卸载所需的任何用户提供的数据,例如将其保存到注册表。参见TheWiXtoolset's"RememberProperty

java - JNA Windows 服务启动类型

我一直在玩弄JNA,并且能够使用下面的代码返回Windows服务的状态(即启动或停止)。我不确定如何返回服务的启动类型。我确信JNA之外还有其他方法,但如果可能的话,我想继续使用JNA。importcom.sun.jna.*;importcom.sun.jna.Library.Handler;importcom.sun.jna.platform.win32.*;importcom.sun.jna.platform.win32.Advapi32Util.*;importcom.sun.jna.platform.win32.WinNT.*;importcom.sun.jna.ptr.Int

c# - 如何让我的服务停止自动发布到 Windows 应用程序事件日志中

我刚刚使用Windows服务项目模板在VisualStudio中创建了一个Windows服务应用程序。当我安装并运行该服务时,我注意到它会自动将某些事件记录到Windows应用程序事件日志中。例如:Servicestartedsuccessfully.或PowerEventhandledsuccessfullybytheservice.我计划更详细地实现我自己的事件日志记录,因此这些自动生成的消息最终将成为额外的“噪音”,我不想让日志变得困惑。有什么方法可以防止服务将默认消息写入事件日志? 最佳答案 为服务使用自动日志属性:this

c# - 从 Windows 服务获取窗口标题

我的公司正在使用一个不幸的第三方产品,该产品要求用户登录到运行其产品的两个实例的XP工作站。我正在尝试使用this...从Windows服务中获取每个打开的窗口的标题以进行监视,但它们始终返回null或空。但是,我可以获得进程名称,就好了。我对标题而不是进程名称感兴趣的原因是进程名称相同(同一应用程序的两个实例)但标题是唯一的。对于任何打开的窗口,例如记事本的打开实例,我也会得到相同的结果。该服务作为运行第三方应用程序的两个实例的用户运行。所以我很好奇,为什么我能够获得进程名称,而不是标题?出于某种原因是否需要指定SERVICE_INTERACTIVE_PROCESS才能看到标题,而不

mysql - MariaDB install : I unchecked running as service during installation. 启动和停止 mariadb 的正确方法是什么?

现在,我不知道如何启动mariadb,因为我没有将它安装为正在运行的服务。这对我没有帮助:https://mariadb.com/kb/en/mariadb/starting-and-stopping-mariadb/我用谷歌搜索并认为这可以将其设置为服务:C:\ProgramFiles\MariaDB10.0\bin>mysql_install_db.exe--datadir=c:\mariadb--service=MyDB--password=secret运行Bootstrap删除默认用户设置根密码创建my.ini文件注册服务“MyDB”fatalerror:OpenSCManag

c# windows 服务在登录时输入用户凭据

我想制作一个程序,可以在winows登录屏幕上输入登录凭据以进行身份​​验证。据我所知,这只能作为Windows服务来完成,因为它可以在用户登录之前启动。这能做到吗?有从哪里开始的想法吗? 最佳答案 不能,服务在session0中是隔离的,不能与用户交互。谷歌“session0隔离”以了解更多信息。相信Windows登录是可靠且耗时考验的身份验证来源。 关于c#windows服务在登录时输入用户凭据,我们在StackOverflow上找到一个类似的问题: ht

php - apache 服务 php exec 不工作

我查阅了所有其他与此相关的问题,但没有帮助,所以:我在域内的WindowsServer2003机器上运行xampp(lite),apache作为服务安装。问题是:PHP函数exec、system、passthru等什么都不做,没有错误消息(apache的日志级别是debug,phperror_reporting是E_ALL),没有程序执行,什么都没有,就好像函数调用不是'在那里我尝试了不同的方法:exec,system,..;proc_open和WScript.ShellCOM对象,没有任何效果。我尝试使用绝对路径,向用户授予权限,尝试了大量不同的.exe做不同的事情,但没有任何效果,

c# - 从 C# Windows 服务生成进程

好吧,我正在尝试从Windows服务生成的线程中生成一个进程。目标是读取输出并打印到焦点窗口-光标所在的位置。可能是个坏主意,我不知道我不是C#程序员当我调用函数本身时,任何产生该进程的人都会工作,但当它在正在运行的服务中被调用时则不会。是否可以在服务内部启动进程?Processproc=newProcess();proc.StartInfo.FileName=@"C:\file.bat";proc.StartInfo.RedirectStandardError=true;proc.StartInfo.RedirectStandardOutput=true;proc.StartInfo

windows - 远程 OpenSCManager 失败,访问被拒绝

我正在尝试使用以下代码控制远程机器上的服务://ErrorcheckingomittedforbrevityHANDLEhToken=NULL;//user=usernamewithnodomainspecification//domain=targetmachinewhentargettingcomputeroutsideofdomainLogonUser(user,domain,password,LOGON32_LOGON_NEW_CREDENTIALS,LOGON32_PROVIDER_WINNT50,&hToken);ImpersonateLoggedOnUser(hToken