草庐IT

c++ - 有没有办法从服务中运行可执行文件?

我使用这里的模板开始了我的服务设计:https://msdn.microsoft.com/en-us/library/windows/desktop/bb540475(v=vs.85).aspx我只想打开记事本来证明我可以在服务中做一些事情,因为最终我想运行以在将启动nginx服务器的单独进程中启动批处理文件。然后我想运行一个停止服务器批处理文件来停止它。看起来很简单。我创建了一个进程并在C++项目的main中运行它(这个main注册了一个服务main以在服务启动时调用)。在visualstudio的调试器中,我看到createprocess返回正常,然后记事本打开。然后我将该代码移动

c++ - 可移植可执行文件的保存位置

我想将我的可移植可执行文件作为单个exe文件提供。此exe文件需要一些txt文件来保存日志。但我不希望用户无意中删除它。在Windows操作系统上无需管理权限即可通过可执行文件保存此类文件的标准方法在哪里?可移植的可执行文件也可以在不需要管理权限的情况下运行。还建议通过可移植可执行文件写入用户系统吗?杀毒软件能提示吗? 最佳答案 对于32位程序,可执行文件应安装在"C:\ProgramFiles"或"C:\ProgramFiles(x86)"中。此安装需要管理员访问权限。或者您可以安装到"c:\Users\UserName\AppD

windows - Android Studio 到 Git 可执行文件的路径

我在Windows上开发,但安装了BashforWindows(对于那些不了解Windows10周年更新的人来说,基本上是一个Unix终端)。我通过这个终端安装了git(sudoapt-getinstallgit),而不是从GitHub下载它作为Windows应用程序。我现在正尝试将Git集成到AndroidStudio中,它要求提供Git可执行文件的路径。因为我没有将它作为Windows应用程序下载,所以没有.exe,而是我尝试提供路径C:\Users\Faizan\AppData\Local\lxss\rootfs\usr\bin\git当我键入typegit时,终端会告诉我Git

windows - 为需要执行设置可执行文件的 Windows 创建 docker 镜像

我正在为windows开发一个docker镜像。此镜像基于microsoft/nanoserver镜像。应该在镜像中安装一些不同的组件,这样由它制成的容器就不需要再安装这些组件了。好吧,我想这就是每个docker镜像的目的。但是,我的问题是:对于Windowsdocker镜像和Windows安装程序,这将如何工作?实际上,Windows的安装可执行文件有一个GUI,需要用户与安装程序交互并提供不同的信息。在Ubuntu的情况下,它似乎更容易,因为我只需运行apt-getinstall并且我可以获取二进制文件并轻松安装它们。更具体的我问自己:我看到一些Windows设置有类似silent

windows - 为什么我可以在运行时重命名 Windows 服务可执行文件?

我有一个用托管语言(.NETFrameworkv4.0)编写的Windows服务,目前正在运行。出于某种原因,我能够在服务运行时重命名服务主要可执行文件。我怀疑该文件在服务运行时被Windows锁定,但事实并非如此。更有趣的是,重命名后它仍然存在于任务管理器中。我不是在提示这是可能的,但我想知道为什么。有人对此有解释吗? 最佳答案 取自thisansweronsuperuser,和HowcanweoverwriteEXEfileswhileusersarerunningthem?,未独占锁定的可执行文件可以重命名。Windows服务

windows - Windows 10 UWP(桌面桥)应用程序可以重新启动自己的可执行文件吗?

我已经使用DesktopBridge创建了一个适用于Windows10的UWP应用。大多数情况下它工作得很好,但是我的应用程序需要重新启动它自己的可执行文件(使用不同的命令行参数)。这两个过程协同工作。这对于非UWP应用程序来说工作得很好,但是当作为UWP应用程序运行时,我似乎无法重新启动我自己的可执行文件(从进程命令行派生)。这应该是可能的吗?有什么特殊的方法需要我使用UWP应用程序吗?目前我收到错误:访问被拒绝。 最佳答案 要以与用户点击应用列表条目时相同的方式启动您的应用,您可以这样做:privateasyncvoidStar

windows - 为什么要在可执行文件中重定位(.reloc 部分)?

我想知道为什么某些Windows可执行文件确实有重定位。与DLL不同,当可执行文件始终可以加载到任何虚拟地址时,为什么需要它? 最佳答案 是的,EXE中的重定位是可选的,可以去除。但如果我们想要/DYNAMICBASE-使用地址空间布局随机化(ASLR)生成可以在加载时随机rebase的可执行镜像-我们需要重定位。所以我只是出于安全原因才这么说。例如堆栈中的安全cookie、控制流防护等。-所有这些都是可选的但已使用 关于windows-为什么要在可执行文件中重定位(.reloc部分)?

c - 来自不同 cd 的不同可执行文件总是运行相同的代码

我刻录了25张cd-rom,其中包含一个名为“Data.exe”的c可执行文件。所有cd都具有相同的CD名称和相同的可执行文件名称,但可执行文件版本不同。这是代码:CD0system("C:\\_folder\\_folder.exe0");CD1system("C:\\_folder\\_folder.exe1");.....等等......CD24system("C:\\_folder\\_folder.exe24");“C:\_folder\_folder.exe”代码是printf(argv[1]);只是为了检查CD是否被正确刻录。(所有这一切背后的核心思想是让cd识别自己并将

windows - 如何避免使用 javafx-maven-plugin 创建可执行文件而无需 Windows 安装程序的警告?

在我们的项目中,我们使用Mavenpluginjavafx-maven-plugin为我们的JavaFX应用程序创建native可执行文件。我们的配置如下所示:com.zenjavajavafx-maven-plugin8.8.3ourcompanyfoo.bar.MainClass运行``mvnjfx:native''后,一个可执行的EXE文件被成功创建。该可执行文件没有我们想要的安装例程。但是,构建日志警告我们不要使用安装程序构建器:[INFO]Skipping'EXEInstaller'becauseofconfigurationerror'CannotfindInnoSetup

windows - 无法在 Visual Studio 2017 : "Access is denied." 下使用或不使用调试器运行 CMake 可执行文件

我正在尝试在VisualStudio2017的调试器下运行使用CMake生成的解决方案文件构建的程序以调试问题。但是,每当我尝试选择StartDebugging或StartWithoutDebugging时,我都会收到以下错误弹出窗口。Unabletostartprogram'E:\build\someprogram\build\x64\Debug\ALL_BUILDAccessisdenied.乍一看,问题听起来像描述的问题here.然而,据称该错误已在VS201715.5中修复,我目前使用的是15.6.7。编译后的可执行文件的位置不在RAM磁盘或网络驱动器上,而是在物理驱动器上。并