精华内容
下载资源
问答
  • 最近有个需求在WindowsXP下通过PsSetCreateProcessNotifyRoutine注册了一个进程创建回调,然后尝试通过PEB来获取被创建进程的命令行参数,发现PEB结构中的命令行等相关数据还没有被填充进去。 通过查看...

    1)背景

    最近有个需求在WindowsXP下通过PsSetCreateProcessNotifyRoutine注册了一个进程创建回调,然后尝试通过PEB来获取被创建进程的命令行参数,发现PEB结构中的命令行等相关数据还没有被填充进去。

    通过查看GetCommandLineA函数的反汇编,得知进程的命令行保存在一个固定的地址0x7C8855F4

    MOVE EAX, DWORD PTR [0x7C8855F4]
    RETN
    

    在进程创建回调中,附加到目标进程,再查看这个地址的数据,如下所示。 因为时机还不对,这个地址还没被申请呢!!

    kd> db 0x7C8855F4
    7c8855f4  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    7c885604  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    7c885614  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    7c885624  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    7c885634  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    7c885644  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    7c885654  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    7c885664  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
    

    通过windbg,检查PEB结构中的ProcessParameters字段,该字段指向一个_RTL_USER_PROCESS_PARAMETERS结构,并且该字段固定地址为0x20000

    kd> dt _PEB 7ffd5000
    ntdll!_PEB
       +0x000 InheritedAddressSpace : 0 ''
       +0x001 ReadImageFileExecOptions : 0 ''
       +0x002 BeingDebugged    : 0 ''
       +0x003 SpareBool        : 0 ''
       +0x004 Mutant           : 0xffffffff Void
       +0x008 ImageBaseAddress : 0x01000000 Void
       +0x00c Ldr              : (null)
       +0x010 ProcessParameters : 0x00020000 _RTL_USER_PROCESS_PARAMETERS
       +0x014 SubSystemData    : (null)
       +0x018 ProcessHeap      : (null)
    

    查看ProcessParameters中的数据,发现Commdline字段中保存的是一个无效地址0x000008ec

    kd> dt _RTL_USER_PROCESS_PARAMETERS 0x00020000
    ntdll!_RTL_USER_PROCESS_PARAMETERS
       +0x000 MaximumLength    : 0x1000
       +0x004 Length           : 0x970
       +0x008 Flags            : 0x2000
       +0x00c DebugFlags       : 0
       +0x010 ConsoleHandle    : 0x00310002 Void
       +0x014 ConsoleFlags     : 0
       +0x018 StandardInput    : 0x00000003 Void
       +0x01c StandardOutput   : 0x00000007 Void
       +0x020 StandardError    : 0x0000000b Void
       +0x024 CurrentDirectory : _CURDIR
       +0x030 DllPath          : _UNICODE_STRING "--- memory read error at address 0x00000498 ---"
       +0x038 ImagePathName    : _UNICODE_STRING "--- memory read error at address 0x000008ac ---"
       +0x040 CommandLine      : _UNICODE_STRING "--- memory read error at address 0x000008ec ---"
       +0x048 Environment      : 0x00010000 Void
       +0x04c StartingX        : 0
       +0x050 StartingY        : 1
       +0x054 CountX           : 0x64
       +0x058 CountY           : 0x64
       +0x05c CountCharsX      : 0
       +0x060 CountCharsY      : 0
       +0x064 FillAttribute    : 0
       +0x068 WindowFlags      : 0
       +0x06c ShowWindowFlags  : 1
       +0x070 WindowTitle      : _UNICODE_STRING "--- memory read error at address 0x0000091c ---"
       +0x078 DesktopInfo      : _UNICODE_STRING "--- memory read error at address 0x0000094c ---"
       +0x080 ShellInfo        : _UNICODE_STRING "--- memory read error at address 0x0000096c ---"
       +0x088 RuntimeData      : _UNICODE_STRING ""
       +0x090 CurrentDirectores : [32] _RTL_DRIVE_LETTER_CURDIR
    

    但是通过windbg的扩展命令!peb 却能正常查看PEB结构中的命令行数据,怎么直接通过dt _PEB address 就不行了?

    kd> !peb
    PEB at 7ffd5000
        InheritedAddressSpace:    No
        ReadImageFileExecOptions: No
        BeingDebugged:            No
        ImageBaseAddress:         01000000
        NtGlobalFlag:             0
        NtGlobalFlag2:            0
        Ldr                       00000000
        *** unable to read Ldr table at 00000000
        SubSystemData:     00000000
        ProcessHeap:       00000000
        ProcessParameters: 00020000
        CurrentDirectory:  '< Name not readable >'
        WindowTitle:  'notepad 11111111111.txt'
        ImageFile:    'C:\WINDOWS\system32\notepad.exe'
        CommandLine:  'notepad 11111111111.txt'
    

    尝试在进程空间内暴力搜索命令行参数,得到以下两个结果:

    kd> s -u 0x0 0x7ffffff "notepad 11111111111"
    000208ec  006e 006f 0074 0065 0070 0061 0064 0020  n.o.t.e.p.a.d. .
    0002091c  006e 006f 0074 0065 0070 0061 0064 0020  n.o.t.e.p.a.d. .
    

    000208ec 这个地址看起来很眼熟,原来是(PEB.ProcessParameters + PEB.ProcessParameters.CommandLine),因为PEB结构中的_RTL_USER_PROCESS_PARAMETERS结构还没被完全填充好,在创建进程的通知回调被触发时,这个结构中的CommandLine只是一个相对偏移。

    (000208ec = 0x00020000 + 0x000008ec )

    2)代码

    #include <ntifs.h>
    VOID Attach(PEPROCESS Process)
    {
           ULONG offset;
           PWCHAR commandline;
           KAPC_STATE ks;
           KeStackAttachProcess(Process, &ks);
           
           offset = (ULONG)*((PCSHORT)0x20044);
           commandline = (PWCHAR)(0x20000 + offset);
           DbgPrint("[KeStackAttachProcess]: commandline from 0x%08x: %S\n",  (ULONG_PTR)commandline,commandline);
           KeUnstackDetachProcess(&ks);
    }
    void PcreateProcessNotifyRoutine(HANDLE ParentId,HANDLE ProcessId,BOOLEAN Create)
    {
           PEPROCESS SubEProcess;
           if (Create)
           {
                  DbgPrint("[Create Process]: ParentId:%d ProcessId:%d \n",  (ULONG)ParentId, (ULONG)ProcessId);
                  SubEProcess = NULL;
                  if (NT_SUCCESS(PsLookupProcessByProcessId(ProcessId, &SubEProcess)))
                  {
                         Attach(SubEProcess);
                         ObDereferenceObject(SubEProcess);
                  }
           }
    }
    VOID DriverUnload(PDRIVER_OBJECT  DriverObject)
    {
           UNREFERENCED_PARAMETER(DriverObject);
           DbgPrint("DriverUnload Enter \n");
           PsSetCreateProcessNotifyRoutine(PcreateProcessNotifyRoutine, TRUE);
    }
    NTSTATUS DriverEntry(PDRIVER_OBJECT  DriverObject, PUNICODE_STRING RegistryPath)
    {
           UNREFERENCED_PARAMETER(RegistryPath);
           DbgPrint("DriverEntry Enter \n");
           do
           {
                  PsSetCreateProcessNotifyRoutine(PcreateProcessNotifyRoutine,FALSE);
                  DriverObject->DriverUnload = DriverUnload;
           } while (0);
           return STATUS_SUCCESS;
    }
    

    4)效果

    在这里插入图片描述

    展开全文
  • } //获取参数 static bool getToken(se::State& s) { //获取Js层传过来的参数 const auto& args = s.args(); //理解为一个检测标记吧! CC_UNUSED bool ok = true; if (__argc ) { //把结果保存在s.rval()中传回给...

    首先打开在cocos构建后的文件jsb_module

    using namespace cocos2d;

    在这句话的下面添加

    // wstring转string
    std::string WstringToString(const std::wstring str)
    {
       unsigned len = str.size() * 4;
       setlocale(LC_CTYPE, "");
       char *p = new char[len];
       wcstombs(p, str.c_str(), len);
       std::string str1(p);
       delete[] p;
       return str1;
    }
    
    //获取参数
    static bool getToken(se::State& s)
    {
       //获取Js层传过来的参数
       const auto& args = s.args();
        //理解为一个检测标记吧!
       CC_UNUSED bool ok = true;
       if (__argc < 2) {
          //把结果保存在s.rval()中传回给Js层
          ok &= std_string_to_seval("no", &s.rval());
          SE_PRECONDITION2(ok, false, "JsbTest add : Error processing arguments");
          return true;
       }else {
          //把结果保存在s.rval()中传回给Js层
          ok &= std_string_to_seval(WstringToString(__wargv[1]), &s.rval());
          SE_PRECONDITION2(ok, false, "JsbTest add : Error processing arguments");
          return true;
       }
    }
    SE_BIND_FUNC(getToken)
    
    
    //要在下面jsb_register_all_modules 加上本方法
    static bool jsb_customFunc(se::Object* global)
    {
       // 写一个js的全局函数
       global->defineFunction("getToken", _SE(getToken));
       return true;
    }

    然后在函数jsb_register_all_modules内的 se->addBeforeCleanupHook([se]() 下面写上我们设置的函数

    //把我们自己的全局函数写进去
    se->addRegisterCallback(jsb_customFunc);


    然后在cocos 内调用(我用的TS 会报错 直接写一个错误屏蔽符就行了 运行没问题)
    getToken()

    展开全文
  • 一个获取系统支持的命令的批处理文件,贴出来供大家看看,虽然简单,但是可以节省敲代码的时间 摘自:http://www.cnblogs.com/volcanol/archive/2012/04/06/2435075.html @echo off ::设置提示信息颜色 set ...

    一个获取系统支持的命令的批处理文件,贴出来供大家看看,虽然简单,但是可以节省敲代码的时间

    摘自:http://www.cnblogs.com/volcanol/archive/2012/04/06/2435075.html


    @echo off
    
    ::设置提示信息颜色
    set  blue=1
    set  black=0
    set  white=F
    set  red=C
    color %white%%blue%
    
    title  获取命令行帮助批处理
    echo   ********************************************
    echo   *
    echo   欢迎使用—"获取命令行帮助批处理"—工具
    echo   *
    echo   现在日期: %date%
    echo   现在时间: %time%
    echo   *
    echo   ********************************************
    echo   *
    echo   Author:     volcanol
    echo   version:    v0.0
    echo   Email:      lilinly225
    echo   *
    echo   获取的帮助文件保存在当前文件夹:cmdhelp.txt
    echo   *
    echo   ********************************************
    echo   *
    echo   *
    echo   *
    pause
    color  %black%%white%
    color  %black%%white%
    echo   *
    echo   *
    echo   *
    echo   on
    echo  命令行帮助文件>cmdhelp.txt
    echo   *>>cmdhelp.txt
    echo   *>>cmdhelp.txt
    echo   *>>cmdhelp.txt
    echo   ********************************************************* >>cmdhelp.txt
    echo   Author:    volcanol >>cmdhelp.txt
    echo   Version:   v0.0>>cmdhelp.txt
    echo   Email:l    ilinly225 >>cmdhelp.txt
    echo   ********************************************************* >>cmdhelp.txt
    echo   *>>cmdhelp.txt
    echo   *>>cmdhelp.txt
    echo   *>>cmdhelp.txt
    echo   以下为所有命令>>cmdhelp.txt
    echo   * >>cmdhelp.txt
    echo   * >>cmdhelp.txt
    echo   * >>cmdhelp.txt
    help   >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   assoc命令>>cmdhelp.txt
    assoc   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   at命令>>cmdhelp.txt
    at    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   attrib命令>>cmdhelp.txt
    attrib  /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   break命令>>cmdhelp.txt
    break   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   cacls命令>>cmdhelp.txt
    cacls   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   call命令>>cmdhelp.txt
    call    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   cd命令>>cmdhelp.txt
    cd      /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   chcp命令>>cmdhelp.txt
    chcp    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   chdir命令>>cmdhelp.txt
    chdir   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   chkdsk命令>>cmdhelp.txt
    chkdsk  /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   chkntfs命令>>cmdhelp.txt
    chkntfs /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   cls命令>>cmdhelp.txt
    cls     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   cmd命令>>cmdhelp.txt
    cmd     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   color命令>>cmdhelp.txt
    color   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   comp命令>>cmdhelp.txt
    comp    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   compact命令>>cmdhelp.txt
    compact /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   convert命令>>cmdhelp.txt
    convert /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   copy命令>>cmdhelp.txt
    copy    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   date命令>>cmdhelp.txt
    date    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   del命令>>cmdhelp.txt
    del     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   dir命令>>cmdhelp.txt
    dir     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   diskcomp命令>>cmdhelp.txt
    diskcomp /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   diskcopy命令>>cmdhelp.txt
    diskcopy /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   doskey命令>>cmdhelp.txt
    doskey  /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   echo命令>>cmdhelp.txt
    echo    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   endlocal命令>>cmdhelp.txt
    endlocal /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   erase命令>>cmdhelp.txt
    erase   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   exit命令>>cmdhelp.txt
    exit    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   fc命令>>cmdhelp.txt
    fc      /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   find命令>>cmdhelp.txt
    find    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   findstr命令>>cmdhelp.txt
    findstr /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   for命令>>cmdhelp.txt
    for     /?  >>cmdhelp.txt 
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   format命令>>cmdhelp.txt
    format  /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   ftype命令>>cmdhelp.txt
    ftype   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   goto命令>>cmdhelp.txt
    goto    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   graftabl命令>>cmdhelp.txt
    graftabl /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   help命令>>cmdhelp.txt
    help    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   if命令>>cmdhelp.txt
    if      /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   label命令 >>cmdhelp.txt
    label   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   md命令 >>cmdhelp.txt
    md      /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   mkdir命令 >>cmdhelp.txt
    mkdir   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   mode命令 >>cmdhelp.txt
    mode    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   more命令 >>cmdhelp.txt
    more    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   move命令 >>cmdhelp.txt
    move    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   path命令>>cmdhelp.txt
    path    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   pause命令>>cmdhelp.txt
    pause   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   popd命令>>cmdhelp.txt
    popd    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   print命令>>cmdhelp.txt
    print   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   prompt命令>>cmdhelp.txt
    prompt  /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   pushd命令 >>cmdhelp.txt
    pushd   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   rd命令 >>cmdhelp.txt
    rd      /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   recover命令 >>cmdhelp.txt
    recover /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   rem命令 >>cmdhelp.txt
    rem     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   ren命令 >>cmdhelp.txt
    ren     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   rename命令 >>cmdhelp.txt
    rename  /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   replace命令 >>cmdhelp.txt
    replace /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo  rmdir命令 >>cmdhelp.txt
    rmdir   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo  set命令 >>cmdhelp.txt
    set     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   setlocal命令 >>cmdhelp.txt
    setlocal /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   shift命令 >>cmdhelp.txt
    shift   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   sort命令 >>cmdhelp.txt
    sort    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   start命令 >>cmdhelp.txt
    start   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   subst命令 >>cmdhelp.txt
    subst   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   time命令 >>cmdhelp.txt
    time    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   title命令 >>cmdhelp.txt
    title   /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   tree命令 >>cmdhelp.txt
    tree    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo  type命令 >>cmdhelp.txt
    type    /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   ver命令 >>cmdhelp.txt
    ver     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   verify命令 >>cmdhelp.txt
    verify  /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo   vol命令 >>cmdhelp.txt
    vol     /?  >>cmdhelp.txt
    echo   ****************************************************************************** >>cmdhelp.txt
    echo    xcopy命令 >>cmdhelp.txt
    xcopy   /?  >>cmdhelp.txt
    
    color %white%%blue%
    echo *
    echo *
    echo *
    @echo off
    @cls
    echo ********************************************
    echo *
    echo *
    echo *
    echo 已经将命令行-命令帮助导出到: cmdhelp.txt
    echo 感谢使用
    echo *
    echo *
    echo *
    echo ********************************************
    echo *
    echo *
    echo 请按任意键退出......
    echo *
    echo *
    echo *
    echo *
    echo *
    echo *
    echo *
    echo *
    echo *
    pause >nil.temp
    del /q nil.temp
    color %black%%white%


    展开全文
  • js获取forms 对象A useful technique for your applications is allowing them to parse command line arguments. This can give a lot of extra functionality to your application, for instance to pass the name...
    js获取forms 对象

    js获取forms 对象

    A useful technique for your applications is allowing them to parse command line arguments. This can give a lot of extra functionality to your application, for instance to pass the name of a file to open on the command line.

    对您的应用程序有用的技术是允许它们解析命令行参数。 这可以为您的应用程序提供很多额外的功能,例如传递文件名以在命令行上打开。

    Most of the examples you’ll find online will show you something like this:

    您将在网上找到的大多数示例都将向您显示以下内容:

    static void Main(string[] args)
    {
        foreach(string arg in args)
        {
           Console.WriteLine(arg);
        }
       Console.ReadLine();
    }
    

    That’s all fine and good, except that won’t work for our Windows Forms application without changing the type of the project to console, etc.

    一切都很好,除了在不将项目类型更改为控制台的情况下无法在我们的Windows Forms应用程序中工作的情况下。

    Thankfully, this is completely unnecessary, because you can simply do this:

    幸运的是,这完全没有必要,因为您可以执行以下操作:

    string[] args = Environment.GetCommandLineArgs();
    
    foreach(string arg in args){
    // do stuff
    }
    
    

    And you can use this anywhere in your application, you aren’t just restricted to using it in the main() method like in a console application.

    而且您可以在应用程序中的任何地方使用它,而不仅限于像控制台应用程序那样在main()方法中使用它。

    翻译自: https://www.howtogeek.com/howto/programming/get-command-line-arguments-in-a-windows-forms-application/

    js获取forms 对象

    展开全文
  • windows bat命令 如何获取文件最后一 使用bat语法获取文本文件的最后一内容 方法/步骤 打开bat编辑器 PS:可以使用记事本、notepad++、EditPlus等可以编辑文本文件的软件,在这里笔者使用的是一款名为...
  • 欢迎使用—"获取命令行帮助批处理"—工具 echo * echo 现在日期: % date % echo 现在时间: % time % echo * echo ******************************************** echo * echo Author: volcanol echo ...
  • 使用匿名管道和CreateProcess函数实现不弹出黑框,获取命令行执行后输出结果 使用CreateProcess可以设置命令行启动信息、 可以指定命令行执行的目录等等 std::wstring Connection::ExeCmd(std::wstring pszCmd)...
  • 2. 使用Windows API的管道(可获取命令行执行后的输出结果,功能比2强大) 1. popen(可获取命令行执行后的输出结果) 概述 popen()可以执行shell命令,并读取此命令的返回值;  popen()函数通过创建一个管道...
  • Python 获取命令行输出

    千次阅读 2017-02-13 18:14:25
    使用的是windows系统,python 2.7。 import os command = 'ping www.baidu.com ' #可以直接在命令行中执行的命令 r = os.popen(command) #执行该命令 info = r.readlines() #读取命令行的...
  • Python3如何获取命令行传入参数

    千次阅读 2019-04-08 20:02:09
    Python3 接收命令行传入参数并进行使用 Windows cmd 和 Linux terminal通用 import sys para = sys.argv[1] ...
  • Learning Python 028 获取命令行参数

    千次阅读 2016-12-02 02:12:03
    原博文链接:...使用的电脑系统:Windows 10 64位 使用的开发集成环境:PyCharm 2016.1.4 使用的Python的版本:python2.7.10 或者 python 3.5.0 本博文对Python2和Python3都适用。 impo
  • windows任务管理器调取命令行列,我们同样能看到进程中有好多是带有参数的。 现在,我们用Pyqt5 (Py3.3)实现这样的效果 一. 先说说sys.argv 官方介绍 sys.argv The list of command line arguments ...
  • 在工作中遇到一个函数需要实现在不接受main函数传递参数的情况下获取命令行参数,查资料发现这方面现有资源比较少而且计算找到了也不怎么全面 Windows平台 使用getCommandLineW()函数获取命令行,然后用...
  • MASM32编程分析、获取命令行参数

    千次阅读 2009-04-16 11:30:00
    我们在执行应用程序时经常会指定命令行参数...下面是一个演示程序,我们先用Windows API函数GetCommandLine获取命令行,然后进行分析和显示。源代码和可执行程序压缩包 CmdParam.rar(2KB) 可以到http://download.csd
  • Linux系统下C++有自带的获取主函数main命令行参数的函数getopt,但在Windows系统下并没有这样的系统函数存在,不用担心,我们可以自行编写。实例: Project名称testint nic_option = -1; char cont_optin = '0'; ...
  • 但是当我们在Visual Studio中创建Win32 GUI程序的时候,WinMain变成程序的入口函数,而该函数并没有"argc" 和"argv"参数,那我们怎样给Windows程序传入命令行参数呢?Windows程序中又怎样取得这些传入的参数呢? ...
  • wincmdfu, Windows行命令,使生活变得更容易,快捷和 命令行 Windows CLI 。 @wincmdfu的tweetWindows 一行命令,使生活变得更容易,快捷和 命令行 。目录从IPv4邻居缓存中获取 entires 。通过和获得可用无线网络...
  • #include"stdafx.h" #include<windows.h> #include<tchar.h> #include<Winternl.h> typedefNTSTATUS(NTAPI*_NtQueryInformationProcess)( HANDLEProcessHandle, DWORDProcess...
  • 背景介绍 测试接口需要上传文件的MD5值。之前的做法都是百度一个在线的网站。然后把文件上传上去获取...因为家中电脑是windows系统,所以这里采用cmd命令框,输入命令CertUtil -hashfile [fileSrc] MD5即可获取。 ...
  • 用Python来编写脚本简化日常的运维工作是Python的一个...利用psutil一两代码即可快速获取系统信息,从而对系统状态进行监控。另外,psutil可以跨平台使用,支持linux/unix/windows等众多操作系统。psutil项目地址h...
  • 之前需要在局域网下获取一个5G左右的ISO文件,U盘发现格式文件为FAT,不能存储单个4G文件,于是想到了之前的这个命令,挺简单方便快捷,一分钟传输下载完成。 A电脑在需要传送的文件夹下: python3 -m http.server B...
  • 点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |来源 |https://www.oschina.net/news/115817/microso...
  • 我怎么可能失望呢,我对这个世界早就不抱任何希望了。。。...2、输入下面两行命令,直接获取密码 privilege::debug sekurlsa::logonpasswords 禁止非法,后果自负 欢迎关注公众号:web...
  • 北京时间 5 月 20 日,在 Build 2020 ...例如,您可以启动 Windows Package Manager 并运行新的“ winget”命令,以获取要安装的任何应用程序的最新版本。您只需运行 winget install PowerToys即可安装它,而无需访...
  • http://www.runoob.com/python/python-variable-types.html 3. http://www ...Linux vi 中移动光标 命令移动光标 上:k nk:向上移动n 9999k或gg可以移到第一 G移到最后一下:j nj:向下移动n左:h nh:向左移动n...
  • Windowsserver2012R2命令安装IIS和net3.5

    千次阅读 2018-04-10 22:57:08
    安装IIS:参考地址:...get-windowsfeature web*命令的含义通俗易懂,就是获取以web开头的系统安装包,因为IIS的安装包就是全部以web开头的。运行结果如下。我们注意到,这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 600
精华内容 240
关键字:

windows获取命令行