WEB开发网
开发学院软件开发VC 生成NT KMD框架的工具QuickSYS 阅读

生成NT KMD框架的工具QuickSYS

 2006-07-20 11:40:37 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 QuickSYS - 版本:0.2.2这是一个像Numega QuickVXD一样可以快速创建驱动程序框架的工具,工作在Windows NT/2K/XP中,生成NT KMD框架的工具QuickSYS,使用代码它使用简单,只要按一下鼠标就可以生成Visual C++工程,但没有问题,因为

本文示例源代码或素材下载

QuickSYS - 版本:0.2.2

这是一个像Numega QuickVXD一样可以快速创建驱动程序框架的工具,工作在Windows NT/2K/XP中。

使用代码

它使用简单,只要按一下鼠标就可以生成Visual C++工程。该工程可以生成.sys内核模式驱动程序。你可以在IDE中编译连接你的驱动。如果你有SoftICE,它可以产生.nms文件。

源代码包含在里面,它是免费的。

我在资源文件中存储框架的源代码,你可以修改它。

CString LoadText(LPCTSTR lpName)
{
  CString strText;
  HRSRC hRsrc;
  hRsrc = FindResource(AfxGetInstanceHandle(), lpName, RT_HTML);
  HGLOBAL hMem = LoadResource(AfxGetInstanceHandle(), hRsrc);
  DWORD dwSize = SizeofResource(AfxGetInstanceHandle(), hRsrc);
  char *src = (char*)LockResource(hMem);
  char *dst = strText.GetBuffer(dwSize+1);
  memcpy(dst, src, dwSize);
  dst[dwSize] = 0;
  strText.ReleaseBuffer();
  return strText;
}
void ReplaceInString(CString &str, const CString &src, const CString &dst)
{
  CString tmp = str;
  while (1)
  {
    int pos = tmp.Find(src);
    if ( pos == -1 ) break;
    str = tmp.Left(pos);
    str += dst;
    str += tmp.Right(tmp.GetLength() - pos - src.GetLength());
    tmp = str;
  }
}

这个ReplaceInString并不是很有效率,但没有问题,因为框架的源代码并不大。

希望这个工具对你有帮助,任何意见可以email到chunhualiu@yahoo.com.

Tags:生成 NT KMD

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接