将命令行字符串lpszCmdLine传递给c中的WM_CREATE
passing command line string lpszCmdLine to WM_CREATE in c
我有一个使用c语言编写的win32应用程序。我已经实现了命令行参数的使用,这些参数被捕获到WinMain((函数的lpszCmdLine参数中。这个参数可以在这个函数中访问,WinMain是我当前处理命令行的地方。(用这些不同的命令行参数设置我的各种变量(。但我希望我可以在回调函数的WM_CREATE案例中处理我的命令行参数。现在,一些事情被设置为在WM_CREATE中发生,我希望它们根据我的命令行参数以不同的方式发生。
是否可以将特定字符串传递给回调函数?
-
您可以通过调用GetCommandLine winapi函数从任何位置访问命令行。
-
或者,您可以保存传入的WinMain参数,然后将其作为参数(最后一个参数,lParam(传递给CreateWindow((函数,然后在WM_CREATE处理程序中作为CREATESTRUCT.lpCreateParams 访问它
-
或者,您可以将其保存在某个全局变量中,然后从任何位置访问它。
您可以从流程中的任何位置访问命令行,调用GetCommandLine。如果您希望它的形式为argc
/argv
,可以调用CommandLineToArgvW,并将命令行拆分。
使用Visual Studio附带的CRT时,可以使用__argc、__argv、__wargv从任何位置访问拆分命令行参数。注意,只有__argv
和__wargv
中的一个被填充,这取决于在编译CRT入口点时是否定义了预处理器符号_UNICODE
。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- .cpp和.h文件中的模板专用化声明
- 反向给定链表中的K节点
- 正在查找文档以获得PS4平台的C++中的设备信息
- enum是C++中的宏变量还是整数变量
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 将字符串存储在c++中的稳定内存中
- 文本文件中的单词链表
- 递归函数计算序列中的平方和(并输出过程)
- 如何从C++中的依赖类型中获得它所依赖的类型
- C++中的"inline"关键字
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 用C++中的一个变量定义一个常量
- vector.resize()中的分配错误
- 使用指针从C++中的数组中获取最大值
- arr[-1]在c++中的奇怪行为
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 将值指定给向量(2D)的向量中的某个位置
- 请求X11在C或C++中合成WM的图像