9得票3回答
未提升的程序启动了一个已提升的更新程序,更新程序应该等待程序完成后再执行。

我有两个应用程序,program.exe和updater.exe,都是用Delphi5编写的。Program可以在没有管理员权限(也没有清单)的情况下运行,而updater具有包含“requireAdministrator”清单的权限,因为它必须能够写入到Program文件夹以更新progra...

9得票5回答
将argv[]传递给CreateProcess()的方法

我的C Win32应用程序应该允许传递完整的命令行来启动另一个程序,例如: myapp.exe /foo /bar "C:\Program Files\Some\App.exe" arg1 "arg 2" myapp.exe可能看起来像这样 int main(int argc, cha...

9得票2回答
NtCreateProcess和ZwCreateProcess有什么区别?

NtCreateProcess和ZwCreateProcess有什么区别?在ntdll.dll中,NtCreateProcess和ZwCreateProcess指向完全相同的地址。

8得票2回答
错误C3861: '_tcsdup':未找到标识符

这是我第一次使用Windows的CreateProcess函数来创建并行进程。根据MSDN上的示例,我创建了一个LPTSTR "(非常量) TCHAR字符串" 命令行 参数,如下所示。 LPTSTR szCmdline[] = _tcsdup(TEXT("\C:\\MyProgram_lin...

8得票3回答
forking()和CreateProcess()

在Linux和WinXP中,fork()和CreateProcess(带有所有必要的参数)是否是相同的东西? 如果它们不同,那么有人能解释一下在每种情况下会发生什么吗? 谢谢

8得票2回答
如何将窗口置于通过CreateProcess创建的进程之上

我正在使用CreateProcess API从我的应用程序中启动一个进程,并希望将新进程的窗口置于顶部。是否有一种方法可以实现?在CreateProcess中是否有任何标志或类似的东西?

8得票2回答
为什么在“%1不是有效的Win32应用程序”的错误信息中很少使用%1替代符号?

我相信大多数Windows开发人员都很熟悉这个错误信息,通常在尝试混合32位和64位可执行文件时会出现。特别是Python和Java都可能遇到这种情况。 %1不是有效的Win32应用程序。 显然,%1代表失败命令的第一个参数,即正试图加载的可执行文件,但为什么它没有被实际路径填充呢? ...

8得票4回答
如何在Windows服务中启动GUI程序?

当我使用LocalSystem账户运行服务时,我可以使用以下代码在当前登录账户下启动GUI程序: WTSGetActiveConsoleSessionId->WTSQueryUserToken->CreateProcessAsUser 然而,当我以个人账户运行服务时,GUI程序将不会显示出...

7得票1回答
在Windows 7下,CreateProcess失败

我正在尝试在Windows 7的新环境下编译来自Windows XP的旧代码。它编译成功,但在运行时失败。 CreateProcess()返回0,GetLastError()返回2,表示ERROR_FILE_NOT_FOUND(找不到文件)。 以下是我的CreateProcess调用: ...

7得票1回答
用于CreateProcess的标准输出的非缓冲CreateNamedPipe

我想执行任意的命令行应用程序,并在其产生标准输出时读取它。我使用CreateNamedPipe创建一个管道,然后提供另一端(使用CreateFile打开)给CreateProcess。如果目标进程没有显式地操作标准输出缓冲区,是否有一种方法可以确保所讨论的管道是无缓冲的,或者至少使用系统最小缓...