jjzjj

c++ - 如何检查 Windows 可执行文件是否在 session 0 进程中运行?

我遇到了http://msdn.microsoft.com/en-us/library/windows/desktop/hh404562(v=vs.85).aspx#use_direct3d_in_session_0_processes。我使用了一些进程记录,并且我遇到了HRESULT值,这些值表明我的可执行文件实际上在session0下运行。我如何以编程方式推断我是否在session0下运行?我宁愿优雅地退出,也不愿退出一个神秘的错误代码。 最佳答案 GetCurrentProcessId和ProcessIdToSessionId

c# - 在什么情况下后台进程通常会自行终止?

除了主进程不再活跃 最佳答案 DoesanyoneknowiftheOSkillsaprocessifit'snotbeingactivelyusedafterawhile操作系统不会杀死空闲进程。*orifitispossiblethataprogramcankillitselfafterawhileifitsnotbeingused?这很可能正在发生。最好的选择可能是在需要时创建打印session,并在其间销毁它们。不要试图让它长时间保持事件状态,只需创建一个新的打印session,打印到它,然后在每次需要时关闭它。*注意:Wi

python - 检查进程是否仅使用 Python 内置模块在 Windows 中运行

我知道有几种方法可以使用psutil或win32ui模块完成该任务。但我想知道是否可以选择使用Python仅内置模块来做到这一点?我也发现了这个问题:CheckifPIDexistsonWindowswithPythonwithoutrequiringlibraries但在这种情况下,对象由PID定位,我想使用进程名称来完成。 最佳答案 也许这对你有帮助:importsubprocesss=subprocess.check_output('tasklist',shell=True)if"cmd.exe"ins:prints

windows - 检查另一个进程是否有管理员权限

我写了一段代码来检查在同一台机器上运行的进程是否具有管理员权限。但它总是返回false。你能告诉我它有什么问题吗?privatestaticboolHasAdminPrivileges(intprocessId){varhProcess=WinApi.OpenProcess(ProcessAccessFlags.QueryInformation,false,processId);varopened=WinApi.OpenProcessToken(hProcess,WinApi.TOKEN_QUERY,outIntPtrhToken);if(opened){vartoken=newInt

c++ - 在 VC++ 中执行一个进程并返回它的标准输出

执行进程、等待它完成,然后将其标准输出作为字符串返回的最简单方法是什么?有点像Perl中的backtics。不是在寻找跨平台的东西。我只需要最快的VC++解决方案。有什么想法吗? 最佳答案 WinAPI解决方案:您必须使用重定向输入(STARTUPINFO结构中的hStdInput字段)和输出(hStdOutput)到您的管道(请参阅CreatePipe)创建进程(请参阅CreateProcess),然后只从管道中读取(请参阅ReadFile)。 关于c++-在VC++中执行一个进程并返

windows - 在终端服务器上,服务如何在用户 session 中启动进程?

从终端服务器(在全局空间)上运行的Windows服务,我们希望能够在特定用户的终端服务器session中启动一个运行Windows应用程序的进程。如何做到这一点?Scenerio:Windows服务在启动时启动。在用户登录到终端服务器用户session后,基于某些只有Windows服务知道的标准,Windows服务想要在用户session中启动一个运行Windows应用程序的进程。示例:我们想向用户显示“5分钟后关机”警告。Windows服务会检测到这种情况,并在每个用户session中启动一个进程,以启动显示警告的Windows应用程序。而且,是的,我知道还有其他显示警告对话框的方法

windows - 调用 system() 不会在我的 Windows 进程之间创建父子关系

我正在使用Perl创建Windows服务。为此,我正在使用Win32::Daemon。处理服务(接受启动和停止回调等)的Perl脚本使用system()命令调用.bat文件,最终调用我的最终Perl程序。问题是当我停止服务时,system()启动的进程没有关闭,最终进程(由system()生成的进程启动)也没有关闭)。好像进程之间没有“父子”关系(停止Windows服务通常会导致所有相关进程同时关闭)。编辑:我在上面添加了代码。我只是展示了注册服务回调和调用StartService的主要函数,以及三个主要回调:启动、运行、停止。submain{#registeringserviceca

c# - 从 Windows 窗体应用程序向 EXE 传递多个参数

我有一个app.exe应用程序要求输入inputpath字符串,一旦我输入,它会询问outputpath字符串...现在当我输入时,app.exe执行一些操作我需要从我的窗口窗体应用程序传递这些路径我看到了很多这样的问题,但无法实现我的要求,因为我从未使用过流程和StreamReader或Writer请提供任何帮助...将感谢示例..谢谢..stringinput=@"C:\DocumentsandSettings\pankaj\Desktop\MyFile\greetingsfreinds.ppt";stringoutput=@"C:\DocumentsandSettings\pan

c++ - 通过 Windows API 函数替换对 AfxGetInstanceHandle() 的调用

SHELLEXECUTEINFOinfo;//Initializingstructinfo.cbSize=sizeof(info);info.fMask=SEE_MASK_NOCLOSEPROCESS|SEE_MASK_FLAG_NO_UI;info.hwnd=NULL;info.lpVerb=_T("open");info.lpParameters=sParameters_p;info.lpDirectory=_T("");info.nShow=SW_SHOW;info.hInstApp=NULL;info.lpFile=sFileName_p;//Problemhere:info.

C++线程分离进程

有什么方法可以让一个线程分支到它自己的独立进程中吗?我知道有CreateProcess函数,但据我所知,您只能使用它运行外部应用程序。我所要求的是可能的吗? 最佳答案 这是可能的。您可以使用虚拟应用程序和CREATE_SUSPENDED标志调用CreateProcess,这样它就不会立即运行。然后你可以使用VirtualAllocEx在创建的进程中分配内存空间,并使用WriteProcessMemory将代码和数据写入其中。然后取消挂起进程以运行它。您还可以使用CreateRemoteThread创建一个在另一个现有进程的上下文中运