PPPOE登录程序五(配置程序部分)
2010-08-20 14:01
120 查看
//主意openprocess函数参数的使用,,很不容易呀,经常犯错
//结束双进程函数,退出进程时使用正确的退出代码
//还要主意的一个细节,就是CFileDialog类的使用,因为它会改变当前程序的目录,使用时需要使用SetCurrentDirectory()函数将当前程序目录还原,否则出现一些异常。
void CConfigDlg::OnBnClickedPathBtn()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(true,0,0,0,_T("BMP图片格式|*.bmp||"),0,0,1);
dlg.DoModal();
m_picpath=dlg.GetPathName();
UpdateData(0);
::SetCurrentDirectory(m_curdic);
}
void CConfigDlg::OnBnClickedCloseLocked()
{
// TODO: 在此添加控件通知处理程序代码
HANDLE hProcess;
DWORD dwPidIfExist;
if (TRUE == bExistOne(_T("plck.exe"),&dwPidIfExist))
{
hProcess = OpenProcess(2035711,FALSE,dwPidIfExist);
TerminateProcess(hProcess,69);
}
else
{
MessageBox(_T("程序没有开启!!"));
}
}
//注册表操作函数,主意使用
bool CConfigDlg::SetAutoRun(bool bauto)
{
UpdateData();
HKEY hKey;
wchar_t pathname[MAX_PATH]=_T("");
wchar_t subkey[MAX_PATH]=_T("SOFTWARE//Microsoft//Windows//CurrentVersion//Run//");
::GetSystemDirectory(pathname,MAX_PATH);
wcscat(pathname,_T("//"));
wcscat(pathname,_T("plck.exe"));
if(bauto)
{
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,subkey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS)
{
if(RegSetValueEx(hKey,_T("Locked"),NULL,REG_SZ,(BYTE*)pathname,sizeof(pathname))!=ERROR_SUCCESS)
{
return false;
}
}
}
else
{
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,subkey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS)
{
if(RegDeleteValue(hKey,_T("Locked"))!=ERROR_SUCCESS)
{
return false;
}
}
}
return true;
}
//结束双进程函数,退出进程时使用正确的退出代码
//还要主意的一个细节,就是CFileDialog类的使用,因为它会改变当前程序的目录,使用时需要使用SetCurrentDirectory()函数将当前程序目录还原,否则出现一些异常。
void CConfigDlg::OnBnClickedPathBtn()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(true,0,0,0,_T("BMP图片格式|*.bmp||"),0,0,1);
dlg.DoModal();
m_picpath=dlg.GetPathName();
UpdateData(0);
::SetCurrentDirectory(m_curdic);
}
void CConfigDlg::OnBnClickedCloseLocked()
{
// TODO: 在此添加控件通知处理程序代码
HANDLE hProcess;
DWORD dwPidIfExist;
if (TRUE == bExistOne(_T("plck.exe"),&dwPidIfExist))
{
hProcess = OpenProcess(2035711,FALSE,dwPidIfExist);
TerminateProcess(hProcess,69);
}
else
{
MessageBox(_T("程序没有开启!!"));
}
}
//注册表操作函数,主意使用
bool CConfigDlg::SetAutoRun(bool bauto)
{
UpdateData();
HKEY hKey;
wchar_t pathname[MAX_PATH]=_T("");
wchar_t subkey[MAX_PATH]=_T("SOFTWARE//Microsoft//Windows//CurrentVersion//Run//");
::GetSystemDirectory(pathname,MAX_PATH);
wcscat(pathname,_T("//"));
wcscat(pathname,_T("plck.exe"));
if(bauto)
{
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,subkey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS)
{
if(RegSetValueEx(hKey,_T("Locked"),NULL,REG_SZ,(BYTE*)pathname,sizeof(pathname))!=ERROR_SUCCESS)
{
return false;
}
}
}
else
{
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,subkey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS)
{
if(RegDeleteValue(hKey,_T("Locked"))!=ERROR_SUCCESS)
{
return false;
}
}
}
return true;
}
相关文章推荐
- PPPOE登录程序一(主程序部分locked)
- PPPOE登录程序二(启动进程部分plck)
- PPPOE登录程序三(lock动态库部分)
- PPPOE登录程序四(connect动态库部分)
- ASP MVC5.0 XML存取数据的登录程序(1) 注册部分
- 同学让我做一个基于PPPOE的登录程序
- cpp文件中部分调用cuda程序—环境配置
- (转载)Linux 配置文件简介/登录注销,文件系统,系统管理,守护进程,用户程序配置文件/Understanding Linux configuration files
- 部分GNU代码片 8、程序的配置文件解析部分辨别代码
- 学生选课系统(登录界面部分程序)
- CTabControl使用(系统配置程序部分功能)
- windows 2003/2008 禁用关闭事件跟踪程序 自动登录 禁用 IE 增强的安全配置
- struts2入门 eclipse 配置 编写 struct2 登录程序
- c# 编写winform登录注册程序(二,注册部分)
- ASP.NET 程序 配置IIS “PC-Computer\ASPNET” 登录失败
- CTabControl使用(系统配置程序部分功能)
- 关于监听的总结(监听配置里的host部分只能使用主机名吗,用IP地址或localhost不能正确启动监听程序吗?)
- 用vbs实现配置无人登录计算机时使用的屏幕保护程序
- c# 编写winform登录注册程序(一,登录部分)
- eclipse配置struts2并创建简单登录程序