更新时间:2023-10-30 19:15
使用这个函数用的时候,不应该直接使用诸如 str=GetCommandLine() (str是一个字符串)这样的语句,这样有可能会导致内存的错误。
GetCommandLine
The GetCommandLine function retrieves the command-line string for the current process.
LPTSTR GetCommandLine(void);
Parameters
This function has no parameters.
Return Values
The return value is a pointer to the command-line string for the current process.
Remarks
ANSI console processes written in C can use the argc and argv arguments of the main function to access the command-line arguments. ANSI GUI applications can use the lpCmdLine parameter of the WinMain function to access the command-line string, excluding the program name. The reason that main and WinMain cannot return Unicode strings is that argc, argv, and lpCmdLine use the LPSTR data type for parameters, not the LPTSTR data type . The GetCommandLine function can be used to access Unicode strings, because it uses the LPTSTR data type.
To convert the command line to an argv style array of strings, call the CommandLineToArgvW function.
Note The name of the executable in the command line that the operating system provides to a process is not necessarily identical to that in the command line that the calling process gives to the CreateProcess function. The operating system may prepend a fully qualified path to an executable name that is provided without a fully qualified path.
Requirements
Client: Included in Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, and Windows 95.
Server: Included in Windows Server 2003, Windows 2000 Server, and Windows NT Server.
Unicode: Implemented as Unicode and ANSI versions on all platforms.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.
See Also
Processes and Threads Overview, Process and Thread Functions, CommandLineToArgvW, CreateProcess, WinMain
[声明]
[说明]
获得指向当前命令行缓冲区的一个指针
[返回值]
Long,命令行缓冲区在内存中的地址
[其它]
Visual Basic Command函数更易获取参数,但它未提供可执行的名称。使用这个函数时,要求进行内存复制操作
[注释]
代码如下:
Public Property Get CommandLine() As String
Dim length As Long, pstr As Long
pstr = GetCommandLine() '获取字符串的指针
length = lstrlen(pstr) '获取字符串的长度
CommandLine = String(length + 1, 0) '调整字符串的大小
lstrcpy CommandLine, pstr '复制字符串
End Property
Private Sub Form_Load()
MsgBox CommandLine
End Sub
下面给出一个实例,描述如何使用该函数