创建新线程访问注册表
来源:互联网 发布:淘宝开手机店保证金 编辑:程序博客网 时间:2024/06/03 18:02
1 首先建立一个MFC(EXE)的工程, 选择DIALOG 模式,在面板上添加一个button, 和一个LISTBOX 控件,LISTBOX添加一个对象 CLISTBOX m_listBox.
2 点击查询按钮之后,在该响应函数中创建新进程,该进程完成对注册表的访问。
3,新进程访问注册表,去得访问结果,发送回RegOpen 界面响应。在MFC中添加自己定义的消息详情请参考前2篇文章。
详细代码如下:
void CRegOpenDlg::OnBnClickedReach(){// TODO: Add your control notification handler code hereUpdateData(TRUE);hThread = CreateThread(NULL, 0, /*(LPTHREAD_START_ROUTINE)*/threadProc, this ,0, &threadID);UpdateData(FALSE);CloseHandle(hThread);//hThread - INVALID_HANDLE_VALUE;} DWORD __stdcall threadProc(LPVOID lparam){HKEY hKey;CRegOpenDlg *cReg = (CRegOpenDlg *)lparam;if(ERROR_SUCCESS != ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, SUB_KEY, 0, KEY_READ, &hKey) ){// MessageBox("failed in second");return -1;}DWORD dwIndex = 0;LONG lRet;DWORD cbName = KEY_LEN;TCHAR *lpszSubKeyName = new TCHAR[KEY_LEN];while((lRet = ::RegEnumKeyEx(hKey, dwIndex, szSubKeyName, &cbName, NULL, NULL, NULL, NULL)) != ERROR_NO_MORE_ITEMS){ if(lRet != ERROR_SUCCESS) {//MessageBox("failed in second");continue;; } // m_aPrograms.Add(szSubKeyName); SendMessage(cReg->m_hWnd, MY_MESSAGE , NULL, (LPARAM)lpszSubKeyName); ++dwIndex; cbName = KEY_LEN;}::RegCloseKey(hKey);delete[] lpszSubKeyName;return 0;} LRESULT CRegOpenDlg::OnMyMessage(WPARAM wParam, LPARAM lParam) { int n = 1; TCHAR rec[KEY_LEN]; memcpy(rec, (LPVOID)lParam, KEY_LEN); m_listBox.AddString(rec); return 0; }
memcpy(rec, (LPVOID)lParam, KEY_LEN); lParam指向源数组首地址,KEY_LEN 标名拷贝长度。
- 创建新线程访问注册表
- winform 创建新注册表时出现“不允许所请求的注册表访问权”,解决办法
- 创建一个新线程
- 创建新线程
- BeginThread()创建新线程
- MFC 创建新线程
- mfc 创建新线程
- MFC 创建新线程
- android创建新线程
- 创建新线程
- 【多线程-创建新线程】
- 创建新线程
- MFC创建新线程
- 直接调用带参数方法创建新线程及 wpf中跨线程访问控件
- 给新创建的注册表键创建安全描述符
- VC中创建新线程
- 利用NSThread创建新线程
- MultiThreadedHttpConnectionManager 创建新线程失败
- 电视直播
- TreeView 排序
- 求一个数组中各数字出现的次数
- 不要自称为程序员,要把自己描述的跟收入相关
- 《当程序员的那些狗日日子》(六十一)美丽的天际
- 创建新线程访问注册表
- 关于一个实体对象不能由多个 IEntityChangeTracker 实例引用。
- 搞定ubuntu下不能上网的问题
- IA32 architecture 学习笔记 (三)
- CreateUserWizard控件创建成员无法连接数据库的解决方法
- 自己写的一个参数封装组件
- redis编译安装
- 浪潮优派培训笔记:JSP基础
- hdu 1022 Train problem I(栈~~)