如何在VC++中将COPYDATASTRUCT的数据转换为可理解的字符串?
How to convert COPYDATASTRUCT's Data to a understandable string in VC++?
我正在尝试将poCopyData
(PCOPYDATASTRUCT
)更改为字符串,也是一种将字符串变回字符串的方法。所以我可以发送它,poCopyData
程序将消息从另一个程序复制到的地方。
PCOPYDATASTRUCT poCopyData = (PCOPYDATASTRUCT)ulParam;
// Note this is just outputs the message i don't how it converts it.
printf("Message (%u): %.*sn", poCopyData->dwData, poCopyData->cbData, poCopyData->lpData);
inline LRESULT CopyData( HWND hwnd, DWORD message, const char* str )
{
COPYDATASTRUCT copy_data = { message, strlen( str ) + 1, str };
return SendMessage( hwnd, WM_COPYDATA, 0, reinterpret_cast< LPARAM >( ©_data ) );
}
LRESULT WINAPI WndProc( HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam )
{
if( message == WM_COPYDATA )
{
COPYDATASTRUCT* copy_data = reinterpret_cast< COPYDATASTRUCT* >( lparam );
const char* str = reinterpret_cast< const char* >( copy_data.lpData );
printf( "Message (%u): %.*sn", copy_data->dwData, str );
}
相关文章:
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- 如何在对<char>C++程序进行逆向工程的同时将 std::basic_string 转换为 Rust 可读值?
- 错误 C2679:二进制"<<":未找到采用类型 'std::string_view' 的右侧操作数的运算符(或者没有可接受的转换)
- 将通用引用强制转换为可调用的 void 指针,反之亦然
- C2678 二进制 '==':未找到采用 'Card' 类型左操作数的运算符(或者没有可接受的转换)
- 可视化 如何在C++中将字符数组转换为 FILE 类型
- 将 std::string( "x3BxDEx7C" ) 转换为可读的十六进制字符串?
- 二进制 '==':未找到采用 'Enemy' 类型左侧操作数的运算符(或者没有可接受的转换)
- 为什么编译器抱怨 std::thread 参数在转换为右值后必须是可调用的?
- 隐式可转换参数,但属于引用类型
- 将 unix 时间戳转换为人类可读的日期
- 是什么将程序集转换为实际可执行的材料
- 在sfml中获取可转换的边界框
- 如何将字符串转换为可操作数组
- 从c++11 time_t创建一个可转换为.net DateTime的字符串
- 为什么或何时应在调用之前将可调用函数参数强制转换为右值?
- 如何在C++中转换可打印对象中的对象
- 对从引用到 std::reference_wrapper 或编译器错误的隐式转换的理解不正确?
- 可理解的种族条件错误导致安全缺陷
- 如何在VC++中将COPYDATASTRUCT的数据转换为可理解的字符串?