能力值:
( LV2,RANK:10 )
|
-
-
2 楼
会不会是编译器的问题?
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
函数第二个参数需要强转一下类型
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
下面为出现错误的代码及变量的定义(红色的为错误行
HWND hFocus = GetForegroundWindow();
int WinLeng = GetWindowTextLength(hFocus);
char *WindowCaption = (char *) malloc(sizeof(char) * (WinLeng + 2));
GetWindowText(hFocus,WindowCaption,(WinLeng + 1));
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
'char *' to 'LPWSTR'
单字符和宽字符的问题,你的编译选项选的unicode,所以GetWindowText其实编译的时候是GetWindowTextW 注意是W.
改成这样就ok.
HWND hFocus = GetForegroundWindow();
int WinLeng = GetWindowTextLength(hFocus);
WCHAR *WindowCaption = (WCHAR *) malloc(sizeof(WCHAR) * (WinLeng + 2));
GetWindowText(hFocus,WindowCaption,(WinLeng + 1));
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
正解,注意工程属性
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
修改工程属性,或者在inclue宏命令之前加入以下语句:
#ifdef UNICODE
#undef UNICODE
#endif
#ifdef _UNICODE
#undef _UNICODE
#endif
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
嘿嘿~~~本人菜鸟一个,目前只能用E来写键盘记录器。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
照楼上的改了,可是错误提示又变成了
error C2664: 'strlen' : cannot convert parameter 1 from 'WCHAR *' to 'const char *'
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
[QUOTE=bombless;1033771]修改工程属性,或者在inclue宏命令之前加入以下语句:
#ifdef UNICODE
#undef UNICODE
#endif
#ifdef _UNICODE
#undef _UNICODE
#endif [/QUOTE]
谢谢LS‘s,问题已经解决了,当你们无聊的时候帮忙解释一下为什么吧,再次感谢
|
|
|