草庐IT

NT_SYMBOL_PATH

全部标签

c++ - 以用户 : "NT AUTHORITY/Network Service" without knowing the credentials? 身份运行的 CreateProcess

我有一个作为本地系统运行的Windows服务。我希望该服务产生一个进程作为“NTAUTHORITY/网络服务”。但是,我没有此帐户的凭据。如何使用C++作为“网络服务”用户生成进程。 最佳答案 我不在我的win32开发箱前,所以我无法确认,但我会提供两种可能的方法:遍历进程列表调用OpenProcess()获取现有网络服务进程的句柄调用OpenProcessToken()使用该句柄从他的进程中获取安全token调用CreateProcessAsUser()使用token创建一个进程作为NETWORKSERVICE或者,您可以:调用C

c++ - 如何检测自动NT服务是否会启动

我正在使用一个应用程序开发一个简单的NT服务,该应用程序将监视它并在任务栏中显示状态。在启动监视器时检查服务是否正在运行,如果没有则提示启动它。这很好,直到重新启动时监视器在服务之前启动并提示启动它,即使它会自动启动。通过阅读文档,我认为状态将报告为SERVICE_START_PENDING,这是服务在进入服务主函数时所做的第一件事,但状态似乎报告为SERVICE_STOPPED如果SCM尚未开始启动服务。有什么方法可以检测到服务将很快开始吗?谢谢,J 最佳答案 我认为没有任何方法可以预测服务控制管理器将来会做什么。但是,我可以想到

windows - Windows 上的 GNU Emacs : unable to apply init file changes and to type tilde symbol

问题一我正在尝试使用init文件自定义我的Emacs。我找到了我的init文件的正确位置,并尝试在其中编写一些代码来改变Emacs的行为。按照文档示例,我写了下面这行代码(setqfill-column20)然后保存文件。但是当我启动Emacs时,fill-column变量仍默认设置为70。如果我即时修改该变量,Emacs会照常接受新值。我想知道我是否遗漏了有关init文件的内容。我应该明确告诉Emacs加载它吗?我是否应该包含其他代码语句以使其应用更改?问题2要在Emacs中引用你的HOME目录,你必须在路径的开头使用波浪号,例如当你想通过Emacs找到你的init文件位置时,就像这

java - 如何从 Windows 上的 Java 应用程序中设置/更新 PATH 变量?

相当于这个命令行的东西:setPATH=%PATH%;C:\Something\bin要运行我的应用程序,某些内容必须位于PATH变量中。所以我想在程序开始时捕获异常,如果程序无法启动并显示一些向导供用户选择需要在PATH中的程序的安装文件夹。我会采用该文件夹的绝对路径并将其添加到PATH变量并再次启动我的应用程序。编辑:那个“东西”是VLC播放器。我需要它在PATH变量中的安装文件夹(例如:C:\ProgramFiles\VideoLAN\VLC)。我的应用程序是单个可执行.jar文件,为了使用它,VLC需要位于PATH中。所以当用户第一次启动我的应用程序时,那个小向导会弹出来选择V

windows - 如何在 PATH 中包含 %ProgramFiles%?

根据thispost不可能在路径变量中包含%ProgramFiles%,因为Windows环境变量是按字母顺序解析的。但是,我需要能够从批处理文件中获取程序文件在PATH中的正确位置(它可以扩展,我只是不能将驱动器号硬编码到批处理文件中,因为它需要可移植).我该怎么做?编辑:为了回应下面的一些评论,这里有一些额外的信息:-对PATH的更改需要是永久性的。-SETX似乎只是将文字%programfiles%粘贴在路径变量中。 最佳答案 在系统级别从控制面板系统小程序手动编辑PATH时,无法扩展%ProgramFiles%。但是您当然可

windows - 从批处理文件以编程方式更新 PATH 中的文件夹

(我认为这个问题没有完全相似的匹配)我需要为Windows(XP和7)创建一个批处理文件,它将:安装Python检查PATH中先前python文件夹的任何实例(通常是C:/Python2x、C:/Python3x、C:/Python2x/Scripts、C:/Python3x/Scripts)从PATH中永久删除所有这些文件夹在系统/环境变量的PATH中永久添加C:/Python/Scripts和C:/Python使用批处理脚本是否可以做到这一点?我在上一个问题中读到我可以使用setx永久设置变量,但我正在努力匹配部分。 最佳答案

c++ - 使用 C++ 在 Windows 中更新 PATH 环境变量

我正在尝试从我当前的进程中启动一个新进程。我正在使用CreateProcess()来启动它。问题是我需要在我的PATH中有某些目录才能成功执行此操作。这是我当前的实现,但它不起作用。我做错了什么?//Environmentvariableschar*env=newchar[2048];char*ptr=env;chartemp[MAX_PATH]="PATH=";strcpy(ptr,strcat(temp,plugin_path));ptr+=strlen(ptr)+1;chartemp2[MAX_PATH]="PATH=";strcpy(ptr,strcat(temp,lib_pa

windows - Git Bash 中 PATH 的开头在哪里?

在Windows上,PATH分为两部分,系统PATH和用户PATH。它们都可以在ControlPanel中显示和更改(虽然不是很好)。在运行msysGit或Windows版Git时,会创建第3个PATH并将其放在其他2个之前,这意味着程序将在此查找用户或系统PATH文件夹之前的命令的第三个PATH文件夹。我认为msysGit创建它是因为我在安装过程中选择了“从Windows命令提示符运行Git并包含Unix工具”选项(如果我错了请纠正我):msysGit/GitforWindows将此PATH存储在哪里,我该如何更改它? 最佳答案

PHP 和 IIS7--> 我更新了环境 %PATH% 但 PHP 的路径没有更新,即使在循环 IIS 之后也是如此

我有一个批处理文件,用于在两个不同的服务器上执行Mysql备份,都运行IIS7,它们的“路径”环境变量现在包括MySQL的bin子目录的路径(两个系统上的路径相同).在一个系统上,我没有遇到任何问题。另一方面,批处理文件不断给出:'mysqldump'不是内部或外部命令、可运行程序或批处理文件。我掉进了DOS。DOS窗口“知道”mysqldump在哪里,就好了。所以,摸不着头脑,我进入了IIS管理器并检查了PHP。我使用phpinfo()查看路径设置。他们没有显示我添加的mysqlbin目录。所以,我循环了应用程序池。服务器(在应用程序池正上方的“树”中)...没有变化。如果不需要,我

windows - 仅在现代 Windows NT 系统上,我能否在运行时确定句柄是指套接字句柄还是对象句柄?

我完全知道,在过去,Windows套接字仅作为第三方用户模式​​DLL实现,套接字和对象句柄是不相关的。然而,在现代WindowsNT系统上,套接字是完整的内核对象,尽管也有一些用户模式状态。 最佳答案 不幸的是,没有针对该特定查询的单一API。您必须直接访问NT对象管理器并在其已知句柄列表中找到所需的句柄,然后您可以检索句柄的对象类型(以及其他内容)。InsideNT'sObjectManagerPushingtheLimitsofWindows:HandlesHOWTO:EnumeratehandlesWinObj:Theult