问5个问题,有的很难!
1.为什么VC不允许我按F11追踪函数
210: DeleteFile(szFilePath);
在源代码中按F11进入DeleteFile()结果失败
00401EE0 mov esi,esp
00401EE2 lea ecx,[ebp-108h]
00401EE8 push ecx
00401EE9 call dword ptr [__imp__DeleteFileA@4 (0041c748)]
在Disassemble下也进不了call dword ptr [__imp__DeleteFileA@4 (0041c748)]
==========================================================================
2.请教高手一个段界限的问题
本线程LDT的一个项:
Sel LineBase Limit 界限粒度
167 00000000 0B7A0 Data32 DPL=7 P=1 Type=7 G=0 DT1=1
DS的内容由始到终都是装着167,从上得知选择子167的线性界限为0至0B7A0,可是
存在DS的全局变量的偏移都要求在0x00400000以上,那存取这些全局变量时岂不是会
发生段越界的保护错误?
==========================================================================
3.怎样让进程不在"关闭程序"的窗口中出现?
用RegisterServiceProcess(0,0)好像不行
==========================================================================
4.为什么用EnumFontFamiliesEx列举出的字体名有很多重复的
以下列举出的全是字体的FaceName
仿宋_GB2312
@仿宋_GB2312
Arial
Courier New
Lucida Console
Lucida Console
Lucida Console
Lucida Console
Lucida Console
Tahoma
Tahoma
Tahoma
代码:
CClientDC dc(this);
font.lfCharSet=DEFAULT_CHARSET;
font.lfFaceName[0]=0;
font.lfPitchAndFamily=0;
::EnumFontFamiliesEx(dc.GetSafeHdc(),&font,(FONTENUMPROC )EnumFontFamExProc,(LPARAM) this,0);
==========================================================================
5.用ClassWizard给CView指明菜单上的WM_COMMAND由它自己来响应,可是用SPY++监视消息发现所有的
WM_COMMAND消息均由主窗体CMainFrame来响应。如何解释?
BEGIN_MESSAGE_MAP(CTemp2View, CView)
//{{AFX_MSG_MAP(CTemp2View)
ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
END_MESSAGE_MAP()