能力值:
( LV2,RANK:10 )
|
-
-
2 楼
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
CreateFile内部 会修改原来的lpFileName内容
最好重新分配一块内存 用来放文件路径
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
这样返回的文件句柄应该没问题啊,事实上这个函数执行结果是不正确的,我把分配内存的函数换成,GlobalAlloc
这一类,能正常使用了,但显示的结果还是错误的,不知道错误处在哪,程序用的是unicode编码,打开汉字显示也是乱码。
BOOL LoadTextFileToEdit(HWND hEdit,LPCTSTR lpFileName)
{
HANDLE hFile;
hFile=CreateFile(lpFileName,GENERIC_READ,FILE_SHARE_READ,
NULL,OPEN_EXISTING,0,NULL);
if (hFile!=INVALID_HANDLE_VALUE)
{
DWORD dwFileSize;
dwFileSize=GetFileSize(hFile,NULL);
if (dwFileSize!=INVALID_FILE_SIZE)
{
LPTSTR lpszFileText;
lpszFileText=(LPTSTR)GlobalAlloc(GPTR,dwFileSize+1);
if (lpszFileText!=NULL)
{
DWORD dwRead;
if (ReadFile(hFile,lpszFileText,
dwFileSize,&dwRead,NULL))
{
lpszFileText[dwFileSize]=0;//字符串末尾置零
if (SetWindowText(hEdit,lpszFileText))
{
GlobalFree(lpszFileText);
CloseHandle(hFile);
MessageBox(NULL,_T("Open may be successful"),_T("Hello"),MB_OK);
return TRUE;
}
}
}
}
}
return FALSE;
}
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
用MultiByteToWideChar 这类函数 手工转下码
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
果然可以,现在读入输出都正常了。
1.现在还不明白就是为什么执行CreateFile后会跳到HeapFree。
2.顺便问下,执行CreateRemoteThrea()注入dll后,是不是不能用WaitForSignalObject()
啊。用上之后,目标会无响应,不用就正常了。不知道是怎么回事。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
|
|
|