-
3个VC++ win注册表编程操作实例
本源码中有三个VC++操作表的相关例子,每一个都属于比较简单那种,展示注册表的操作技巧,有兴趣的下载源码包。
HKEY hKEY; //定义有关的 hKEY, 在查询结束时要关闭。
LPCTSTR data_Set="SoftwareMicrosoftWindowsCurrentVersion"; //子键目标
//打开与路径 data_Set 相关的 hKEY,第一个参数为根键名称,第二个参数表。
//表示要访问的键的位置,第三个参数必须为0,KEY_READ表示以查询的方式。
//访问注册表,hKEY则保存此函数所打开的键的句柄。
long retopen=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Set, 0, KEY_READ, &hKEY));
if(retopen!=ERROR_SUCCESS) //如果无法打开hKEY,则终止程序的执行
{
MessageBox("错误: 无法打开有关的hKEY!");
return;
}
//查询有关的数据 (系统用户姓名 owner_Get)。
LPBYTE owner_Get=new BYTE[80];
DWORD type_1=REG_SZ ;
DWORD cbData_1=80;
//hKEY为刚才RegOpenKeyEx()函数所打开的键的句柄,"RegisteredOwner"。
//表示要查 询的键值名,type_1表示查询数据的类型,owner_Get保存所。
//查询的数据,cbData_1表示预设置的数据长度。
//与RegQureyValueEx()类似,hKEY表示已打开的键的句柄,"RegisteredOwner"
//表示要访问的键值名,owner_Set表示新的键值,type_1和cbData_1表示新值。
//的数据类型和数据长度
UpdateData(true);//获得编辑框数据
if(m_Adduser.IsEmpty()||m_Addpassword.IsEmpty())//用户名、密码不能为空
{
AfxMessageBox("输入用户名、密码不能为空!");
return;
}
- 2022-02-22 09:55:12下载
- 积分:1
-
VC++ MDI多文档位图的复制和粘贴功能实现
多文档(MDI):实现在多个文档中位图的复制和粘贴操作,使用说明:打开一个图像,使用“编辑”菜单中的“复制”和“粘贴”对图像进行操作,清除剪切板的内容,拷贝DIB!
CMDICopyBitmapDoc* pDoc = GetDocument();
pDoc->ReplaceHDIB(hNewDIB); // 释放旧的DIB
pDoc->InitDIBData(); // 建立新的调色板及尺寸
pDoc->SetModifiedFlag(TRUE);
SetScrollSizes(MM_TEXT, pDoc->GetDocSize());
OnRealizePal((WPARAM)m_hWnd,0); // 实现新的调色板
pDoc->UpdateAllViews(NULL);
- 2022-01-25 22:15:31下载
- 积分:1
-
VC 6.0 获得驱动器序列号
VC 6.0 获得驱动器序列号,本例子中可以指定驱动器分区,也就是大家说的D盘、E盘,每个磁盘分区的序列号,这个序列号标识ID分区后由系统自动指定,我们可编写以下代码实现此功能:
//获得实际存储驱动器号的字符串长度
dwNumBytesForDriveStrings=GetLogicalDriveStrings(0,NULL)*sizeof(TCHAR);
//如果字符串不为空,则表示有正常的驱动器存在
if (dwNumBytesForDriveStrings!=0) {
//分配字符串空间
hHeap=GetProcessHeap();
lp=(LPSTR)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,
dwNumBytesForDriveStrings);
//获得标明所有驱动器的字符串
GetLogicalDriveStrings(HeapSize(hHeap,0,lp),lp);
//将驱动器一个个放到下拉框中
while (*lp!=0) {
Driver->AddString(lp);
lp=_tcschr(lp,0)+1;
}
}
- 2022-02-06 01:57:21下载
- 积分:1
-
修改Windows IE的主页:VC++编写的程序
VC++编写源码实现修改IE浏览器的主页,这个现在已经不是什么新鲜功能了,现在好像有360在干扰用户自定义主页,唉,360好流氓哦,本程序实现的修改IE主页,同样会被360拦截,因此测试前请关掉360哦。
本程序通过修改注册表的方式来修改IE主页,这种方式是惯用的一种方法。
- 2022-04-25 09:53:44下载
- 积分:1
-
VC++ 删除已存在的存储过程
VC++ 演示在程序中删除已存在的存储过程,VC6存储过程相关操作实例,删除方法很简单,创建对象,如下代码示:
UpdateData(true);
BOOL result;
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
_bstr_t sql;
sql = "drop procedure "+m_edit+" ";
result = m_AdoConn.ExecuteSQL(sql);
m_AdoConn.ExitConnect();
if(result)
MessageBox("存储过程已删除!");
else
MessageBox("存储过程不存在!");
- 2022-12-24 15:50:03下载
- 积分:1
-
VC++ 限定框架窗口的大小和位置
VC++ 限定框架窗口的大小和位置,无法移动且固定大小的SDI,用VC++编写实现这种固定窗口大小,且无法用鼠标拖动的窗口。窗口是不能改变大小的,窗口标题也不能被拖动,运行程序后,窗口的位置就已经固定,并不能移动和调整大小的操作。相关的代码:
CMenu* pTopMenu = GetSystemMenu(FALSE); //获取系统菜单
pTopMenu -> RemoveMenu(4,MF_BYPOSITION); //去除最大、最小化功能
pTopMenu -> RemoveMenu(2,MF_BYPOSITION); //去除改变尺寸功能
pTopMenu -> RemoveMenu(1,MF_BYPOSITION); //去除移动功能
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
//设置框架窗口的初始大小和位置
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 4;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = cs.cy / 4;
cs.x = cs.cx / 2;
return TRUE;
- 2022-06-14 00:02:23下载
- 积分:1
-
VC++ 创建一个非模态对话框
VC++ 创建一个非模态对话框,比较一下模态对话框,与其有何异同。以下是创建对话框的代码:
void CNonModeDlgDlg::Finish()
{
m_pChoice = NULL;
GetDlgItem(IDOK)->EnableWindow();
}
void CNonModeDlgDlg::OnOK()
{
if ( m_pChoice == NULL )
{
m_pChoice = new CChoiceDlg(this);
if ( m_pChoice->Create() == TRUE )
{
GetDlgItem(IDOK)->EnableWindow(FALSE);
}
}
else
{
m_pChoice->SetActiveWindow();
}
}
- 2022-02-10 13:08:52下载
- 积分:1
-
VC++ 使用不同的画笔绘制图形
VC++ 使用不同的画笔绘制图形,演示绘制矩形、绘制多段折线、绘制椭圆、弧形和饼图,使用不同的画笔类型来绘制不同的几何图形,演示了一些VC++图形绘制的基础技巧使用方法。下面的代码演示了如何绘制出这些图形:
//以实线画笔绘制矩形
pOldPen=pDC->SelectObject(&pen[0]);
pDC->Rectangle(10, 10, 110, 110);
pDC->TextOut(10, 115, "绘制矩形");
//使用虚线画笔和函数Polyline输出多段折线
pDC->SelectObject(&pen[1]); //载入虚线画笔
CPoint pts[]={CPoint(190, 20), CPoint(200, 60), CPoint(270, 40), CPoint(210, 80),
CPoint(250, 100), CPoint(300, 30), CPoint(310, 80)};
pDC->Polyline(pts, 7); //绘制多端折线
pDC->TextOut(180, 115, "绘制多段折线");
// 使用Pie和Arc输出饼图和弧形
pDC->SelectObject(&pen[2]); //载入点线画笔
pDC->Ellipse(10, 140, 160, 240);//绘制椭圆
pDC->SelectObject(&pen[3]); //载入点划线画笔
pDC->Pie(20, 150, 150, 230, 160, 160, 10, 160);
pDC->SelectObject(&pen[4]);//载入双点划线画笔
pDC->Arc(20, 150, 150, 230, 10, 220, 160, 220);
pDC->TextOut(10, 245, "绘制椭圆、弧形和饼图");
pDC->SetTextColor(RGB(0,0,255));
pDC->TextOut(220, 200, "使用不同的画笔绘制各种图形");
//恢复设备上下文的原有画笔
pDC->SelectObject(pOldPen);
//删除所创建的画笔资源
for (int i=0; i
- 2022-02-13 06:16:01下载
- 积分:1
-
VC++6.0释放EXE资源文件
VC++6.0释放EXE资源文件,要释放的程序是一个简单的MessageBox,基于MFC对话框程序,先插入已经存EXE(或DLL)文件到VC资源文件中。
/* 函数说明:释放资源中某类型的文件
/* 参 数:新文件名、资源ID、资源类型
/* 返 回 值:成功返回TRUE,否则返回FALSE
BOOL CTestDlg::ReleaseRes(CString strFileName,WORD wResID,CString strFileType)
{
// 资源大小
DWORD dwWrite=0;
// 创建文件
HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,
CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if ( hFile == INVALID_HANDLE_VALUE )
{
return FALSE;
}
// 查找资源文件中、加载资源到内存、得到资源大小
HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);
HGLOBAL hG = LoadResource(NULL, hrsc);
DWORD dwSize = SizeofResource( NULL, hrsc);
// 写入文件
WriteFile(hFile,hG,dwSize,&dwWrite,NULL);
CloseHandle( hFile );
return TRUE;
}
- 2022-12-26 04:00:03下载
- 积分:1
-
VC++6.0 在工具栏中图标下面显示文本
VC++6.0 在工具栏中图标下面显示文本,其实这个源码表达的功能,从事电脑的几乎每天都能看到,在Windows界面中,几乎每个图标都会有文字标签,本源码正是实现了在图标的下方添加文字标签,这样更人性化的指示出该图标的作用,本源码运行于VC6.0环境 ,编译运行后如下图所示的效果,面向VC初学者,这是个不错的基础范例。
- 2023-06-03 00:00:03下载
- 积分:1