社区
C++ 语言
帖子详情
MessageBoxW(HWND hWnd, PCWSTR pszText, LPCWSTR pszCaption,UINT uType) 参数类型问题
yifanwu
2005-03-07 09:31:52
MessageBoxW(HWND hWnd, PCWSTR pszText, LPCWSTR pszCaption,UINT uType)的
pszText 是PCWSTR(unsigned short *)
怎么样转换成char *?
因为那是一个字符串,为什么要用这种类型呢?
我直接cout<<pszText 时,输出的是地址值
...全文
218
11
打赏
收藏
MessageBoxW(HWND hWnd, PCWSTR pszText, LPCWSTR pszCaption,UINT uType) 参数类型问题
MessageBoxW(HWND hWnd, PCWSTR pszText, LPCWSTR pszCaption,UINT uType)的 pszText 是PCWSTR(unsigned short *) 怎么样转换成char *? 因为那是一个字符串,为什么要用这种类型呢? 我直接cout<<pszText 时,输出的是地址值
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yjh1982
2005-03-08
打赏
举报
回复
奶油狗回归啦! 好久未见啊
yifanwu
2005-03-07
打赏
举报
回复
怎么样解决呀!
unicode的问题
yifanwu
2005-03-07
打赏
举报
回复
我测试出问题在那里了!
如果pszText中有中文就是地址;如果全是英文就是正确的!
yifanwu
2005-03-07
打赏
举报
回复
用宏TEXT 结果一样,还是地址。
用wcout<<pszText 编译出错:error C2065: 'wcout' : undeclared identifier
yjh1982
2005-03-07
打赏
举报
回复
wcout和cout在同一文件啊
hjian
2005-03-07
打赏
举报
回复
用宏TEXT:
cout << TEXT(pszText)
yifanwu
2005-03-07
打赏
举报
回复
cout<<(char*)pszText 输出的是乱码!(pszText包含中文)
wcout怎么使用?要include什么头文件吗?我直接写不行
yjh1982
2005-03-07
打赏
举报
回复
wcout<<pszText
Dong
2005-03-07
打赏
举报
回复
cout<<(char*)pszText ??
fireseed
2005-03-07
打赏
举报
回复
如果可以用CString的话这样:
LPCWSTR lpOrg = L"test";
CStringA AnsiStr( lpOrg );
cout << (LPCTSTR)AnsiStr;
如果不可以用的话,用WideCharToMultiByte(),这个比较麻烦,一般要调用两次,自己查MSDN吧
fireseed
2005-03-07
打赏
举报
回复
MessageBoxW( NULL, L"Context", L"Caption", 0 );
APIHOOK MessagebBoxA
MessageBox
W
利用APIHOOK技术,修改WIN32API入口函数,本例是修改MessagebBoxA
MessageBox
W,包含完整代码。
Hook自己程序的
MessageBox
W.zip
Hook自己程序的
MessageBox
W.zip VS2008+MFC源码和成品
C# 优雅的 APIHOOK 支持X86+X64源码
using System; using System.Runtime.
Int
eropServices; namespace NativeHook.Test { public delegate
Int
32
MessageBox
W(
Int
Ptr
hWnd
, [MarshalAs(UnmanagedType.LP
WStr
)] string lp
Text
, [MarshalAs(UnmanagedType.LP
WStr
)] string lp
Caption
, U
Int
32
uType
); public class
MessageBox
Hook : NtAPIHook { [DllHook("user32", EntryPo
int
= "
MessageBox
W")] public
Int
32
MessageBox
(
Int
Ptr owner, string
text
, string
caption
, U
Int
32 options) { //拦截信息 Console.Title =
caption
; Console.WriteLine(
text
); //调用源函数 return Origin.Invoke(owner,
text
,
caption
, options); } } } [STAThread] static void Main(string[] args) { using (var hook = new
MessageBox
Hook()) { //绕过Hook直接调用源函数 hook.Origin(
Int
Ptr.Zero, "111", "222", 0); //调用Api 被Hook
MessageBox
.Show("Hello world", "666",
MessageBox
Buttons.YesNoCancel); } //Hook解除拦截不到
MessageBox
.Show("Hello world", "666",
MessageBox
Buttons.YesNoCancel); }
c# easyhook 极简示例
messagebox
w
c# easyhook 极简示例
messagebox
w,支持注入非托管进程哦,支持64位哦
Hook自己程序的
MessageBox
W_C++hook_源码.zip
Hook自己程序的
MessageBox
W_C++hook_源码.zip
C++ 语言
64,647
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章