精华内容
下载资源
问答
  • 获取进程命令行(3法)这个是很经典的例子,大家做软件可能用到,欢迎下载
  • 获取进程命令行之四

    千次阅读 2008-01-09 16:41:00
    在此之前我已经写了3篇关于如何获取进程命令行的文章,并且都提供了完整源码,这次也不例外。 由于博客上发表的文章都是在出差之间发布的有些文章没有详细的注释,只把代码贴了出来在这里请大家谅解。以后我会尽量...
    在此之前我已经写了3篇关于如何获取进程命令行的文章,并且都提供了完整源码,这次也不例外。 
    由于博客上发表的文章都是在出差之间发布的有些文章没有详细的注释,只把代码贴了出来在这里请大家谅解。以后我会尽量把注释写上让大家更好的阅读我的文章和代码。这次由于项目接近尾声有了点时间就把怎么“获取进程命令行之四”这篇文章的原理给大家说说。 
    其实几篇文章的原理都很简单,有的都是通过进程环境块PEB来获取进程命令路径的。我们可以通过下面结构可以看出来 

    一: 
    lkd
    >   dt   _PEB 
    ntdll!_PEB 
          
    +0x000   InheritedAddressSpace   :   UChar 
          
    +0x001   ReadImageFileExecOptions   :   UChar 
          
    +0x002   BeingDebugged         :   UChar 
          
    +0x003   SpareBool                 :   UChar 
          
    +0x004   Mutant                       :   Ptr32   Void 
          
    +0x008   ImageBaseAddress   :   Ptr32   Void 
          
    +0x00c   Ldr                             :   Ptr32   _PEB_LDR_DATA   '前面有几篇文章我们是通过这个结构来获取进程命令行路径的 
          +0x010   ProcessParameters   :   Ptr32   _RTL_USER_PROCESS_PARAMETERS   '今天我们通过此结构获取进程命令行 
          +0x014   SubSystemData         :   Ptr32   Void 
          
    +0x018   ProcessHeap             :   Ptr32   Void 
          
    +0x01c   FastPebLock             :   Ptr32   _RTL_CRITICAL_SECTION 
          
    +0x020   FastPebLockRoutine   :   Ptr32   Void 
          
    +0x024   FastPebUnlockRoutine   :   Ptr32   Void 
          
    +0x028   EnvironmentUpdateCount   :   Uint4B 
          
    +0x02c   KernelCallbackTable   :   Ptr32   Void 
          
    +0x030   SystemReserved       :   [1]   Uint4B 
          
    +0x034   AtlThunkSListPtr32   :   Uint4B 
          
    +0x038   FreeList                   :   Ptr32   _PEB_FREE_BLOCK 
          
    +0x03c   TlsExpansionCounter   :   Uint4B 
          
    +0x040   TlsBitmap                 :   Ptr32   Void 
          
    +0x044   TlsBitmapBits         :   [2]   Uint4B 
          
    +0x04c   ReadOnlySharedMemoryBase   :   Ptr32   Void 
          
    +0x050   ReadOnlySharedMemoryHeap   :   Ptr32   Void 
          
    +0x054   ReadOnlyStaticServerData   :   Ptr32   Ptr32   Void 
          
    +0x058   AnsiCodePageData   :   Ptr32   Void 
          
    +0x05c   OemCodePageData     :   Ptr32   Void 
          
    +0x060   UnicodeCaseTableData   :   Ptr32   Void 
          
    +0x064   NumberOfProcessors   :   Uint4B 
          
    +0x068   NtGlobalFlag           :   Uint4B 
          
    +0x070   CriticalSectionTimeout   :   _LARGE_INTEGER 
          
    +0x078   HeapSegmentReserve   :   Uint4B 
          
    +0x07c   HeapSegmentCommit   :   Uint4B 
          
    +0x080   HeapDeCommitTotalFreeThreshold   :   Uint4B 
          
    +0x084   HeapDeCommitFreeBlockThreshold   :   Uint4B 
          
    +0x088   NumberOfHeaps         :   Uint4B 
          
    +0x08c   MaximumNumberOfHeaps   :   Uint4B 
          
    +0x090   ProcessHeaps           :   Ptr32   Ptr32   Void 
          
    +0x094   GdiSharedHandleTable   :   Ptr32   Void 
          
    +0x098   ProcessStarterHelper   :   Ptr32   Void 
          
    +0x09c   GdiDCAttributeList   :   Uint4B 
          
    +0x0a0   LoaderLock               :   Ptr32   Void 
          
    +0x0a4   OSMajorVersion       :   Uint4B 
          
    +0x0a8   OSMinorVersion       :   Uint4B 
          
    +0x0ac   OSBuildNumber         :   Uint2B 
          
    +0x0ae   OSCSDVersion           :   Uint2B 
          
    +0x0b0   OSPlatformId           :   Uint4B 
          
    +0x0b4   ImageSubsystem       :   Uint4B 
          
    +0x0b8   ImageSubsystemMajorVersion   :   Uint4B 
          
    +0x0bc   ImageSubsystemMinorVersion   :   Uint4B 
          
    +0x0c0   ImageProcessAffinityMask   :   Uint4B 
          
    +0x0c4   GdiHandleBuffer     :   [34]   Uint4B 
          
    +0x14c   PostProcessInitRoutine   :   Ptr32           void   
          
    +0x150   TlsExpansionBitmap   :   Ptr32   Void 
          
    +0x154   TlsExpansionBitmapBits   :   [32]   Uint4B 
          
    +0x1d4   SessionId                 :   Uint4B 
          
    +0x1d8   AppCompatFlags       :   _ULARGE_INTEGER 
          
    +0x1e0   AppCompatFlagsUser   :   _ULARGE_INTEGER 
          
    +0x1e8   pShimData                 :   Ptr32   Void 
          
    +0x1ec   AppCompatInfo         :   Ptr32   Void 
          
    +0x1f0   CSDVersion               :   _UNICODE_STRING 
          
    +0x1f8   ActivationContextData   :   Ptr32   Void 
          
    +0x1fc   ProcessAssemblyStorageMap   :   Ptr32   Void 
          
    +0x200   SystemDefaultActivationContextData   :   Ptr32   Void 
          
    +0x204   SystemAssemblyStorageMap   :   Ptr32   Void 
          
    +0x208   MinimumStackCommit   :   Uint4B 
    二: 
    lkd
    >   dt   _PEB_LDR_DATA 
    ntdll!_PEB_LDR_DATA 
          
    +0x000   Length                       :   Uint4B 
          
    +0x004   Initialized             :   UChar 
          
    +0x008   SsHandle                   :   Ptr32   Void 
          
    +0x00c   InLoadOrderModuleList   :   _LIST_ENTRY   --通过这过链表获取路径 
          
    +0x014   InMemoryOrderModuleList   :   _LIST_ENTRY 
          
    +0x01c   InInitializationOrderModuleList   :   _LIST_ENTRY 
          
    +0x024   EntryInProgress     :   Ptr32   Void 
    三: 
    lkd
    >   dt   _RTL_USER_PROCESS_PARAMETERS 
    ntdll!_RTL_USER_PROCESS_PARAMETERS 
          
    +0x000   MaximumLength         :   Uint4B 
          
    +0x004   Length                       :   Uint4B 
          
    +0x008   Flags                         :   Uint4B 
          
    +0x00c   DebugFlags               :   Uint4B 
          
    +0x010   ConsoleHandle         :   Ptr32   Void 
          
    +0x014   ConsoleFlags           :   Uint4B 
          
    +0x018   StandardInput         :   Ptr32   Void 
          
    +0x01c   StandardOutput       :   Ptr32   Void 
          
    +0x020   StandardError         :   Ptr32   Void 
          
    +0x024   CurrentDirectory   :   _CURDIR   
          
    +0x030   DllPath                     :   _UNICODE_STRING 
          
    +0x038   ImagePathName         :   _UNICODE_STRING 
          
    +0x040   CommandLine             :   _UNICODE_STRING     --从这里获取进程命令行路径,位置在0x44上 
          
    +0x048   Environment             :   Ptr32   Void 
          
    +0x04c   StartingX                 :   Uint4B 
          
    +0x050   StartingY                 :   Uint4B 
          
    +0x054   CountX                       :   Uint4B 
          
    +0x058   CountY                       :   Uint4B 
          
    +0x05c   CountCharsX             :   Uint4B 
          
    +0x060   CountCharsY             :   Uint4B 
          
    +0x064   FillAttribute         :   Uint4B 
          
    +0x068   WindowFlags             :   Uint4B 
          
    +0x06c   ShowWindowFlags     :   Uint4B 
          
    +0x070   WindowTitle             :   _UNICODE_STRING 
          
    +0x078   DesktopInfo             :   _UNICODE_STRING 
          
    +0x080   ShellInfo                 :   _UNICODE_STRING 
          
    +0x088   RuntimeData             :   _UNICODE_STRING 
          
    +0x090   CurrentDirectores   :   [32]   _RTL_DRIVE_LETTER_CURDIR 

    好了既然原理知道了那就请看下面完整代码吧!! 

    Option   Explicit 

    Private   Type   CLIENT_ID 
            UniqueProcess   
    As   Long 
            UniqueThread     
    As   Long 
    End   Type 

    Private   Const   SYNCHRONIZE   As   Long   =   &H100000 
    Private   Const   STANDARD_RIGHTS_REQUIRED   As   Long   =   &HF0000 
    Private   Const   PROCESS_VM_READ   =   &H10 
    Private   Const   PROCESS_QUERY_INFORMATION   As   Long   =   (&H400) 
    Private   Declare   Function   NtQueryInformationProcess   Lib   "ntdll.dll"   (ByVal   ProcessHandle   As   Long,   _ 
                                                                    ByVal   ProcessInformationClass   
    As   PROCESSINFOCLASS,   _ 
                                                                    ByVal   ProcessInformation   
    As   Long,   _ 
                                                                    ByVal   ProcessInformationLength   
    As   Long,   _ 
                                                                    ByRef   ReturnLength   
    As   Long)   As   Long 

    Private   Enum   PROCESSINFOCLASS 
            ProcessBasicInformation   
    =   0 
            ProcessQuotaLimits 
            ProcessIoCounters 
            ProcessVmCounters 
            ProcessTimes 
            ProcessBasePriority 
            ProcessRaisePriority 
            ProcessDebugPort 
            ProcessExceptionPort 
            ProcessAccessToken 
            ProcessLdtInformation 
            ProcessLdtSize 
            ProcessDefaultHardErrorMode 
            ProcessIoPortHandlers 
            ProcessPooledUsageAndLimits 
            ProcessWorkingSetWatch 
            ProcessUserModeIOPL 
            ProcessEnableAlignmentFaultFixup 
            ProcessPriorityClass 
            ProcessWx86Information 
            ProcessHandleCount 
            ProcessAffinityMask 
            ProcessPriorityBoost 
            ProcessDeviceMap 
            ProcessSessionInformation 
            ProcessForegroundInformation 
            ProcessWow64Information 
            ProcessImageFileName 
            ProcessLUIDDeviceMapsEnabled 
            ProcessBreakOnTermination 
            ProcessDebugObjectHandle 
            ProcessDebugFlags 
            ProcessHandleTracing 
            ProcessIoPriority 
            ProcessExecuteFlags 
            ProcessResourceManagement 
            ProcessCookie 
            ProcessImageInformation 
            MaxProcessInfoClass 
    End   Enum 

    Private   Type   PROCESS_BASIC_INFORMATION 
            ExitStatus   
    As   Long   'NTSTATUS 
            PebBaseAddress   As   Long   'PPEB 
            AffinityMask   As   Long   'ULONG_PTR 
            BasePriority   As   Long   'KPRIORITY 
            UniqueProcessId   As   Long   'ULONG_PTR 
            InheritedFromUniqueProcessId   As   Long   'ULONG_PTR 
    End   Type 

    Private   Declare   Function   NtOpenProcess   Lib   "ntdll.dll"   (ByRef   ProcessHandle   As   Long,   _ 
                                                                    ByVal   AccessMask   
    As   Long,   _ 
                                                                    ByRef   ObjectAttributes   
    As   OBJECT_ATTRIBUTES,   _ 
                                                                    ByRef   ClientID   
    As   CLIENT_ID)   As   Long 

    Private   Type   OBJECT_ATTRIBUTES 
            Length   
    As   Long 
            RootDirectory   
    As   Long 
            ObjectName   
    As   Long 
            Attributes   
    As   Long 
            SecurityDescriptor   
    As   Long 
            SecurityQualityOfService   
    As   Long 
    End   Type 


    Private   Declare   Sub   CopyMemory   Lib   "kernel32.dll"   Alias   "RtlMoveMemory"   (ByRef   Destination   As   Any,   _ 
                                                                                ByRef   Source   
    As   Any,   _ 
                                                                                ByVal   Length   
    As   Long
                                                                                
    Private   Declare   Function   CloseHandle   Lib   "kernel32"   (ByVal   hObject   As   Long)   As   Long 

    Private   Declare   Function   ReadProcessMemory   Lib   "kernel32"   (ByVal   hProcess   As   Long,   lpBaseAddress   As   Any,   lpBuffer   As   Any,   ByVal   nSize   As   Long,   lpNumberOfBytesWritten   As   Long)   As   Long 

    '判断Nt系列函数调用是否成功 
    Private   Function   NT_SUCCESS(ByVal   nStatus   As   Long)   As   Boolean 
            NT_SUCCESS   
    =   (nStatus   > =   0
    End   Function 

    '获取进程命令行 
    Public   Function   GetProcessCommandLine(ByVal   dwProcessId   As   Long)   As   String 
            
    Dim   ntStatus   As   Long 
            
    Dim   objBasic   As   PROCESS_BASIC_INFORMATION 
            
    Dim   objFlink   As   Long 
            
    Dim   objPEB   As   Long,   objLdr   As   Long 
            
    Dim   objBaseAddress   As   Long 
            
    Dim   bytName(260   *   2   -   1)   As   Byte 
            
    Dim   strModuleName   As   String,   objName   As   Long 
            
    Dim   objCid   As   CLIENT_ID 
            
    Dim   objOa   As   OBJECT_ATTRIBUTES 
            
    Dim   hProcess   As   Long 
            objOa.Length   
    =   Len(objOa) 
            objCid.UniqueProcess   
    =   dwProcessId 
            ntStatus   
    =   NtOpenProcess(hProcess,   PROCESS_QUERY_INFORMATION   Or   PROCESS_VM_READ,   objOa,   objCid) 
            
    If   hProcess   =   0   Then 
                    GetProcessCommandLine   
    =   "" 
                    
    Exit   Function 
            
    End   If 
            
    Dim   lngRet   As   Long,   lngReturn   As   Long 
            ntStatus   
    =   NtQueryInformationProcess(hProcess,   ProcessBasicInformation,   VarPtr(objBasic),   Len(objBasic),   ByVal   0&
            
    If   (NT_SUCCESS(ntStatus))   Then 
                    
    '获取PEB指针 
                    objPEB   =   objBasic.PebBaseAddress 
                    
    '获取_RTL_USER_PROCESS_PARAMETERS结构指针 
                    lngRet   =   ReadProcessMemory(hProcess,   ByVal   objPEB   +   &H10,   objLdr,   4,   ByVal   0&
                    
    If   lngRet   <>   1   Then   Exit   Function 
                    
    '获取路径指针 
                    lngRet   =   ReadProcessMemory(hProcess,   ByVal   objLdr   +   &H44,   objName,   4,   ByVal   0&
                    
    If   lngRet   <>   1   Then   Exit   Function 
                    
    '获取路径 
                    lngRet   =   ReadProcessMemory(hProcess,   ByVal   objName,   bytName(0),   260   *   2,   ByVal   0&
                    
    If   lngRet   <>   1   Then   Exit   Function 
                    strModuleName   
    =   bytName 
                    
    If   InStr(strModuleName,   """")   =   0   Then 
                            strModuleName   
    =   Mid(strModuleName,   InStr(strModuleName,   Chr(0))   +   1,   Len(strModuleName)   -   InStr(strModuleName,   Chr(0))) 
                            strModuleName   
    =   SetPath(strModuleName) 
                    
    Else 
                            strModuleName   
    =   Mid(strModuleName,   InStr(strModuleName,   """"),   Len(strModuleName)   -   InStr(strModuleName,   """")) 
                    
    End   If 
                    strModuleName   
    =   Left(strModuleName   &   Chr(0),   InStr(strModuleName   &   Chr(0),   Chr(0))   -   1
                    GetProcessCommandLine   
    =   strModuleName 
            
    End   If 
            CloseHandle   hProcess 
    End   Function 
     
    展开全文
  • 在 Windows 下,想要获取指定进程或所有进程命令行参数,此时需要一些工具的辅助。本文安利大家一个好用的 dotnet 工具,用于获取 Win32 进程命令行参数 这是一个 dotnet 工具,因此安装特别方便,只需要在...

    在 Windows 下,想要获取指定进程或所有进程的命令行参数,此时需要一些工具的辅助。本文安利大家一个好用的 dotnet 工具,用于获取 Win32 进程的命令行参数

    这是一个 dotnet 工具,因此安装特别方便,只需要在命令行输入下面代码就可以

    dotnet tool install -g dotnetCampus.Win32ProcessCommandViewer.Tool
    

    安装完成,可以使用下面代码使用这个工具

    pscv
    

    这个命令不添加任何参数将输出本机所有进程,和进程的命令行参数,有些有趣的进程拿不到就不输出

    输出指定进程名的进程的命令行:

    pscv -n [Process Name]

    输出指定进程 Id 的进程的命令行:

    pscv -i [Process Id]

    这个工具完全开源,请看 https://github.com/dotnet-campus/dotnetCampus.Win32ProcessCommandViewer

    用到的技术请看

    dotnet 获取指定进程的输入命令行

    dotnet 通过 WMI 获取指定进程的输入命令行

    我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

    如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

    如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流

    知识共享许可协议
    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

    展开全文
  • 获取进程命令行.e

    2013-05-16 11:05:33
    获取进程的启动参数 和进程信息 含有源码 和一个已编译文件 易语言
  • Cmd 获取进程命令行

    千次阅读 2018-01-31 08:58:49
    cmd 输入 下列命令 Chrome.exe为进程名 wmic process where caption="Chrome.exe" get caption,commandline /value
    cmd 输入 下列命令  
    Chrome.exe为进程名
    
    
    wmic process where caption="Chrome.exe" get caption,commandline /value

    展开全文
  • 获取进程命令行参数

    千次阅读 2018-04-14 15:30:05
    #include void GetProcessCommandLine(DWORD pid) { pid = 1688; HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);...该结构中的Reserved3为父进程id,当然,这个值可能在以后的系统API中被修改
    #include <Winternl.h>


    void GetProcessCommandLine(DWORD pid)
    {
    pid = 1688;
    HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);


    if (INVALID_HANDLE_VALUE != hProc)
    {
    HANDLE hNewProcess = NULL;
    PEB peb;
    RTL_USER_PROCESS_PARAMETERS upps;
    HMODULE hModule = LoadLibrary(_T("Ntdll.dll"));
    typedef NTSTATUS(WINAPI *NtQueryInformationProcessFace)(HANDLE, DWORD, PVOID, ULONG, PULONG);
    NtQueryInformationProcessFace NtQueryInformationProcess = (NtQueryInformationProcessFace)GetProcAddress(hModule, "NtQueryInformationProcess");
    if (DuplicateHandle(GetCurrentProcess(), hProc, GetCurrentProcess(), &hNewProcess, 0, FALSE, DUPLICATE_SAME_ACCESS))
    {
    PROCESS_BASIC_INFORMATION pbi;
    NTSTATUS isok = NtQueryInformationProcess(hNewProcess, ProcessBasicInformation, (PVOID)&pbi, sizeof(PROCESS_BASIC_INFORMATION), 0);
    if (BCRYPT_SUCCESS(isok))
    {
    if (ReadProcessMemory(hNewProcess, pbi.PebBaseAddress, &peb, sizeof(PEB), 0))
    {
    if (ReadProcessMemory(hNewProcess, peb.ProcessParameters, &upps, sizeof(RTL_USER_PROCESS_PARAMETERS), 0)) {
    WCHAR *buffer = new WCHAR[upps.CommandLine.Length + 1];
    ZeroMemory(buffer, (upps.CommandLine.Length + 1) * sizeof(WCHAR));
    ReadProcessMemory(hNewProcess, upps.CommandLine.Buffer, buffer, upps.CommandLine.Length, 0);
    delete buffer;
    }
    }
    }
    CloseHandle(hNewProcess);
    }


    CloseHandle(hProc);
    }

    }


    typedef struct _PROCESS_BASIC_INFORMATION {
    PVOID Reserved1;
    PPEB PebBaseAddress;
    PVOID Reserved2[2];
    ULONG_PTR UniqueProcessId;
    PVOID Reserved3;

    } PROCESS_BASIC_INFORMATION;

    该结构中的Reserved3为父进程id,当然,这个值可能在以后的系统API中被修改

    展开全文
  • //提升进程权限为DEBUG权限 var hToken: THandle; tp: TTokenPrivileges; rl: Cardinal; begin Result := false; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken); if ...
  • 如何获取其他进程命令行信息 每一个进程都有一个PEB数据块(PEB:Process Environment Block),这个进程环境块信息(如下结构体), 每个PEB中有_RTL_USER_PROCESS_PARAMETERS 结构体,是一个指针,指向一个结构体,...
  • X64-R3层通过PEB获取进程命令行参数

    千次阅读 2018-02-04 13:59:39
    进程创建进程时,会传一个命令行给它,一般其第一个内容是其可执行文件的名称,因为在调用CreateProcess时,若applicationname参数为空(大多数情况都为空),则CreateProcess将会去解析命令行参数以此获得进程映像文件的...
  • 获取进程命令行之三

    千次阅读 2007-12-11 13:32:00
    Option ExplicitPrivate Type CLIENT_ID UniqueProcess As Long UniqueThread As LongEnd TypePrivate Const SYNCHRONIZE As Long = &H100000Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000P
  • 获取进程命令行之二

    千次阅读 2007-12-10 23:52:00
    Option ExplicitPrivate Type CLIENT_ID UniqueProcess As Long UniqueThread As LongEnd TypePrivate Const SYNCHRONIZE As Long = &H100000Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF000
  • 获取进程命令行之一

    千次阅读 2007-12-10 23:15:00
    Private Type CLIENT_ID UniqueProcess As Long UniqueThread As LongEnd TypePrivate Const SYNCHRONIZE As Long = &H100000Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000Private Declar
  • Delphi获取进程命令行参数

    千次阅读 2013-05-05 14:39:44
    Delphi获取进程命令行参数 2009-4-16 15:20:35 来源: 转载 作者:wr960204 访问:909 次 被顶:3 次 字号:【大 中 小】 type UNICODE_STRING = packed record Length: Word; MaximumLength: Word;
  • // 获得命令行 PTSTR pCmdLine = GetCommandLine(); // 解析命令行并返回,其中iNumArgs存储命令行的实参数目 int iNumArgs; PWSTR *pstr = CommandLineToArgvW(pCmdLine, &iNumArgs); // pCmdLine:in iNumArgs...
  • 在Windows NT/2000系统中获取系统进程命令行(如果有的话),它适用于几乎任何系统进程。代码用到PROCESS_BASIC_INFORMATION结构中一个很有趣的成员PebBaseAddress。这个结构成员指向PEB(在目标进程的地址空间中...
  • 获取进程命令行参数

    千次阅读 2009-04-16 10:03:00
    type UNICODE_STRING = packed record Length: Word; MaximumLength: Word; Buffer: PWideChar; end; PUNICODE_STRING = UNICODE_STRING;type PROCESS_PARAMETERS = packed record AllocationSize:
  • 本文告诉大家如何在 dotnet 获取指定的进程命令行参数,这是博客使用的文件 本文告诉大家如何在 dotnet 获取指定的进程命令行参数,这是博客使用的文件
  • 可以获取到所有进程命令行和可执行文件全路径
  • 摆脱DLL"地狱"的困扰之获取进程命令行2006-03-03 10:11 作者: NorthTibet编译 出处: vckbase 责任编辑:方舟 方法 描述 GetName 以
  • 使用VB.NET制作类似任务管理器的程序,可以查看进程列表,请问在获取进程相关参数的时候如何读取这个进程命令行参数,也就是这个程序的启动参数? 如图: [img=...
  • 来源网络,亲测有效Delphi 2009 unit Unit2; interface  function GetProcessCmdLine(PID: Cardinal): string; implementation uses Windows; const  ... ProcessBasicInformation = 0...
  • http://blog.sina.com.cn/s/blog_752ca76a0100tclj.html
  • 本文告诉大家如何使用 WMI 通过 Process 获取这个进程传入的命令行
  • 1.FS寄存器 2.进入FS寄存器地址,7FFDD000 ...3C,44偏移:路径地址,命令行地址 // 通过PEB结构去查找所有进程模块 void *PEB = NULL; void *Pbi = { NULL }; // fs:[30]就是PEB __asm ...
  • 获取其他进程命令行

    千次阅读 2006-09-12 22:26:00
    type UNICODE_STRING = packed record Length: Word; MaximumLength: Word; Buffer: PWideChar; end; PUNICODE_STRING = UNICODE_STRING;type PROCESS_PARAMETERS = packed record

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,083
精华内容 433
关键字:

获取进程命令行