草庐IT

windows - WinAPI Shell API 与基本 API 和 CRT 函数有何不同?

我正在通读Windows进程API,留下了三个问题:基本API和shellAPI有什么区别?我读到shellAPI包装了基本API,例如ShellExecute()和ShellExecuteEx()包装了CreateProcess()但无法理解其中的区别。基本API和ShellAPI与CRT函数(C运行时)有何不同。同样,exec()和spawn()CRT函数包装了基本API的CreateProcess()。我知道我可以通过编译和链接正确的头文件来直接使用代码中的基本API和CRT函数。如何使用ShellAPI? 最佳答案 1)基础

c++ - 以编程方式计算 Windows 上进程的开始时间

我正在使用VisualStudio在Windows上编写c/c++代码。我想知道如何有效地计算我的流程的开始时间。我可以只使用gettimeofday()吗?我从谷歌找到了以下代码,但我不明白它到底在做什么:intgettimeofday(structtimeval*tv,structtimezone*tz){FILETIMEft;unsigned__int64tmpres=0;staticinttzflag;if(NULL!=tv){GetSystemTimeAsFileTime(&ft);//I'mlostatthispointtmpres|=ft.dwHighDateTime;t

c# - Process.Start 是否存储远程执行文件的本地副本?

我需要直接从远程计算机执行程序,因为他们的程序有网络许可系统..您在服务器上安装并注册一次,所有客户端都可以通过打开可执行文件通过网络共享访问它。我写了一个小应用程序,应该可以轻松访问网络共享并打开程序。到目前为止没有问题。我能够像这样执行该程序,它会打开。是的//Somecredandnetworkstuff.//...Process.Start("\\192.168.0.100\Share\MyProgram.exe");但是程序弹出一条消息,程序可能已被复制。就像是在本地执行过一样。如果我通过资源管理器打开程序就不会出现这个问题,只需这样打开它=>\\192.168.0.100\

windows - Python 3.2 Multiprocessing.Process 未运行目标函数

我有一个问题,我不知道问题出在哪里。嵌入式代码(3.2文档中最简单的示例代码,只是为了尝试调试)将不会运行目标函数。Process完成,程序导入并运行无误,Python3.2已正确安装并将目录添加到Path环境变量。我正在使用f5从IDLE运行程序,其他所有代码都运行良好,但是目标函数“f”(在本例中)中的代码根本无法运行。如您所知,这非常令人沮丧。此代码不会打印,并且目标函数(以及任何函数)中的每个测试打印都不会执行;它只是被跳过了。#!/usr/bin/envpythonfrommultiprocessingimportProcessdeff(name):print('hello'

c# - 为什么另一个应用程序窗口标题中的文本不正确?

我正在运行一个小工具(在Windows7、32位上),我想查看在我试过的另一个应用程序中打开了什么文档,它适用于Windows上的记事本。varmyProcess=Process.GetProcessesByName("NotePad");stringtitle=myProcess[0].MainWindowTitle;MessageBox.Show(title);输出是:"NewTextDocument-Notepad"现在,如果我尝试另一个应用程序,它并不总是给我正确的标题,但我注意到大多数Microsoft应用程序似乎都没有问题-NotePad、WordPad、EXCEL等。这是

android - ndk-build 失败,process_begin : CreateProcess(NULL, uname -a, ...) 失败

我正在Windows8上使用AndroidStudio开发一个android应用程序,我正在使用一些native代码。突然间我无法编译我的C文件。当我运行ndk-build时,出现以下错误:process_begin:CreateProcess(NULL,uname-a,...)failed.process_begin:CreateProcess(NULL,uname-r,...)failed.Thesystemcannotfindthepathspecified.'mount'isnotrecognizedasaninternalorexternalcommand,operablep

windows - 在 cmd 提示符和 win32_process 上延迟扩展 ERRORLEVEL 的区别

cmd/V:ON/cdirc:\&echo%ERRORLEVEL%VolumeindriveCisPCCOEVolumeSerialNumberis9C37-D0B7Directoryofc:\FileNotFound0让我们使用!运行相同的命令展开ERRORLEVEL(启用延迟展开)cmd/V:ON/cdirc:\ERt&echo!ERRORLEVEL!VolumeindriveCisPCCOEVolumeSerialNumberis9C37-D0B7Directoryofc:\FileNotFound!ERRORLEVEL!它打印!ERRORLEVEL!。当我使用WMIwin32_

windows - 从完整内存转储中提取进程转储

我遇到了一个错误,但我无法创建进程转储。我创建了系统的完整内存转储。我如何使用它提取进程转储?Windows。 最佳答案 你不能。通常,属于您的进程的某些内存段可能会被调出并且不驻留在物理内存中。这意味着使用完整的内核内存转储,您不能保证重建进程地址空间。在许多情况下,您可以从内核转储中提取有关进程的有用信息。但是有两个限制:正如我已经提到的,内存可以调出。许多WinDbg扩展不能与内核转储一起使用。这包括SOS,因此从内核空间调查托管进程要困难得多。 关于windows-从完整内存转储

c# - 在没有 WMI 的情况下使用 C# 检测 Windows 进程启动和退出事件

使用WMI的ManagementEventWatcher/EventArrivedEventHandler将导致创建另一个我试图避免的线程。WMI也知道它的延迟。所以我的问题是:如何在没有WMI的情况下使用C#检测Windows进程的创建/终止?有没有办法从非托管代码做到这一点? 最佳答案 您可以使用EventTracingforWindows(ETW)。具体来说,您想查看Processclass的子类在kerneleventtracer.我从未在托管代码中使用过它,但是thisblogpost看起来很有用。而且我不知道这是否会在您

c# - 有没有办法检测一个进程是否/何时在 C# .Net 2.0 中启动另一个进程?

我正在寻找一种方法来检测由我的应用程序启动的进程是否反过来又产生了其他进程。希望我可以有一个启动和应用程序的线程,监视直到它退出,然后在该应用程序退出时触发一些其他操作。问题是对于我想要监控的一些应用程序,它们正在启动一个额外的进程然后退出。所以我的触发器在应用程序退出之前触发。例如,我在进程中启动一个程序。该可执行文件会进行一些文件修补,然后启动主程序——一个单独的exe——然后退出。这会导致Process.HasExited返回true,从而过早地触发我的触发器。我真正关心的是主程序何时退出,在本例中是初始进程启动的程序,但我似乎找不到以编程方式执行此操作的方法。