[推荐] 6droom 的新功能

原创 2007年09月21日 12:14:00
最近新项目要上线,时间真的成了问题,忙里偷闲上来发一篇日志,推荐一下 6droom 的一些新功能,顺便也记下一些开发中的心得 ... 具体的信息可以查看以下页面(http://www.6droom.com/docs/), 其中最实用的功能应该算是我自己弄得一个 FireFox 和 IE6 / IE7 的扩展,这两个小插件可以帮大家更方便的搜索你想要搜索的东西(一个右键就搞定了,嘿嘿),大家不妨试试看,一定会满意的:)其中 IE 的扩展中我用到了一个操作 Windows 注册表的类,贴上来给大家共享一下吧,还不错,简单实用:

CRegKey.h :

#include <windows.h>
#include 
<winreg.h>

using namespace std;

class CRegisterKey
{
public:
CRegisterKey();
virtual ~CRegisterKey();

public:
LONG Read(LPCTSTR pszKey , BYTE 
*pData , DWORD & dwLength);
LONG Read(LPCTSTR pszKey, 
string &sVal);
LONG Read(LPCTSTR pszKey , DWORD 
& dwVal);
LONG Write(LPCTSTR pszKey , 
const BYTE *pData , DWORD dwLength);
LONG Write(LPCTSTR pszKey , LPCTSTR pszVal);
LONG Write(LPCTSTR pszKey , DWORD dwVal);
void Close();
LONG Open(HKEY hKeyRoot , LPCTSTR pszPath , REGSAM dwAccess 
= KEY_ALL_ACCESS);

protected:
string m_sPath;
HKEY m_hKey;
}
;

CRegKey.cpp

#include "CRegKey.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CRegisterKey::CRegisterKey()
{
m_hKey 
= NULL;
}


CRegisterKey::
~CRegisterKey()
{
Close();
}


LONG CRegisterKey::Open(HKEY hKeyRoot, LPCTSTR pszPath , REGSAM dwAccess)
{
DWORD dw;
m_sPath 
= pszPath;

return RegCreateKeyEx(hKeyRoot , pszPath , 0L , NULL , REG_OPTION_NON_VOLATILE ,
dwAccess , NULL , 
&m_hKey , &dw);
}


void CRegisterKey::Close()
{
if(m_hKey)
{
RegCloseKey(m_hKey);
m_hKey 
= NULL;
}

}


LONG CRegisterKey::Write(LPCTSTR pszKey, DWORD dwVal)
{
ASSERT(m_hKey);
ASSERT(pszKey);

return RegSetValueEx(m_hKey , pszKey , 0L , REG_DWORD , (CONST BYTE *&dwVal ,
sizeof(DWORD));
}


LONG CRegisterKey::Write(LPCTSTR pszKey, LPCTSTR pszVal)
{
ASSERT(m_hKey);
ASSERT(pszKey);
ASSERT(pszVal);
ASSERT(AfxIsValidAddress(pszVal , strlen(pszVal) , FALSE));

return RegSetValueEx(m_hKey , pszKey , 0L , REG_SZ , (CONST BYTE *) pszVal ,
strlen(pszVal)
+1);
}


LONG CRegisterKey::Write(LPCTSTR pszKey, 
const BYTE *pData, DWORD dwLength)
{
ASSERT(m_hKey);
ASSERT(pszKey);
ASSERT(pData 
&& dwLength>0);
ASSERT(AfxIsValidAddress(pData , dwLength , FALSE));

return RegSetValueEx(m_hKey , pszKey , 0L , REG_BINARY , pData , dwLength);
}


LONG CRegisterKey::Read(LPCTSTR pszKey, DWORD 
&dwVal)
{
ASSERT(m_hKey);
ASSERT(pszKey);

DWORD dwType;
DWORD dwSize 
= sizeof(DWORD);
DWORD dwDest;

LONG lRet 
= RegQueryValueEx(m_hKey , pszKey , NULL , &dwType , (LPBYTE) &dwDest , &dwSize);

if(lRet == ERROR_SUCCESS)
dwVal 
= dwDest;

return lRet;
}


LONG CRegisterKey::Read(LPCTSTR pszKey, 
string &sVal)
{
ASSERT(m_hKey);
ASSERT(pszKey);

DWORD dwType;
DWORD dwSize 
= 512;
char string[512];

LONG lRet 
= RegQueryValueEx(m_hKey , pszKey , NULL , &dwType , (LPBYTE) string , &dwSize);

if(lRet == ERROR_SUCCESS)
sVal 
= string;

return lRet;
}


LONG CRegisterKey::Read(LPCTSTR pszKey, BYTE 
*pData, DWORD &dwLength)
{
ASSERT(m_hKey);
ASSERT(pszKey);

DWORD dwType;

return RegQueryValueEx(m_hKey , pszKey , NULL , &dwType , pData , &dwLength);
}

然后是 MingW 的生成 Windows 应用的用法:

gcc -c window.c

gcc -o window window.o -mwindows

第一步生成 Link 要用的 window.o 文件,第二步生成 window.exe 应用程序:)

 

6droom 的新功能

具体的信息可以查看以下页面(http://www.6droom.com/docs/), 其中最实用的功能应该算是我自己弄得一个 FireFox 和 IE6 / IE7 的扩展,这两个小插件可以帮大...
  • zhaodiliu
  • zhaodiliu
  • 2013年02月05日 14:26
  • 230

Visual C++ 2010新特性:MFC的三大巨变

0购     【IT168 专稿】在Visual C++ 2010中,无论从用户体验,还是从性能方面,IDE都有着巨大的改进,这些改进大大地提高了程序员的开发效率。除此之外,增强的MFC,为程序员...
  • CSDNMicrosoftCSDN
  • CSDNMicrosoftCSDN
  • 2016年03月18日 14:27
  • 892

【SQL Server2008新增功能小结】

/*------------------------------------------------------------------ Author  :feixianxxx(poofly)-- D...
  • feixianxxx
  • feixianxxx
  • 2010年05月12日 20:52
  • 3408

介绍几个photoshop cs4值得一提的新功能

介绍几个photoshop cs4值得一提的新功能,第一次运行Photoshop CS4,就感觉界面更简洁更漂亮了。调板取消了CS3那种看似豪华其实没有实际意义的阴影,改为传统的边界线。    ...
  • pi19740306
  • pi19740306
  • 2015年01月27日 08:23
  • 206

Radtube 2017 新功能说明

期待已久的Radtube2017新版本终于来了,今天我们继续看看在Radtube2017里多了那些新功能。       RadTube是Radan软件产品线中的新生力量。南京东岱软件作为Radan...
  • ddsoft123
  • ddsoft123
  • 2017年08月01日 20:33
  • 426

iOS10.3正式版发布:iOS10.3新功能有哪些? 韩俊强的博客

苹果今天发布了iOS 10.3正式版,由于加入了众多新功能,且更换了文件系统,所以非常值得升级,但是如果你打算更新,最好要耐心等待。 一些抢先尝鲜的iPhone 7、7 Plus果粉开始发帖表示(系统...
  • qq_31810357
  • qq_31810357
  • 2017年03月31日 09:12
  • 3023

SQL Server 2005新功能详解

今天整理了一下SQL Server 2005的新增功能,自己学习了以后进行了总结,一共有四个新的排序函数(ROW_NUMBER、RANK、DENSE_RANK 和 NTILE)和三个其他新增功能(TO...
  • cc516855689
  • cc516855689
  • 2011年10月31日 09:21
  • 403

SQL Server 2012 新功能一览

微软于3月7日正式发布SQL Server 2012(以后简称SQL2012)。SQL2012发布之前,有幸公费参加2011微软技术大会(北京),当时不是称为SQL Server 2012,而是其前身...
  • Burgess_Liu
  • Burgess_Liu
  • 2012年03月23日 09:10
  • 8440

Java7的那些新特性

本文介绍的java 7新特性更多的感觉像是语法糖。毕竟java本身已经比较完善了,不完善的很多比较难实现或者是依赖于某些底层(例如操作系统)的功能。不过java7也实现了类似aio的强大功能。但本文并...
  • chenleixing
  • chenleixing
  • 2015年08月20日 08:50
  • 5650

2015-12-8-一个功能引导页面的实现思路(效果参考:美丽说app)

原型 进一步思考 实施 获取控件的位置 制作屏幕宽高的图片 获取状态栏高度 生成我们需要的Bitmap 功能引导页面...
  • bxh7425014
  • bxh7425014
  • 2015年12月08日 17:55
  • 1073
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[推荐] 6droom 的新功能
举报原因:
原因补充:

(最多只允许输入30个字)